feat: add fluxer upstream source and self-hosting documentation

- Clone of github.com/fluxerapp/fluxer (official upstream)
- SELF_HOSTING.md: full VM rebuild procedure, architecture overview,
  service reference, step-by-step setup, troubleshooting, seattle reference
- dev/.env.example: all env vars with secrets redacted and generation instructions
- dev/livekit.yaml: LiveKit config template with placeholder keys
- fluxer-seattle/: existing seattle deployment setup scripts
This commit is contained in:
Vish
2026-03-13 00:55:14 -07:00
parent 5ceda343b8
commit 3b9d759b4b
5859 changed files with 1923440 additions and 0 deletions

View File

@@ -0,0 +1,63 @@
CREATE TABLE IF NOT EXISTS fluxer.applications (
application_id bigint PRIMARY KEY,
owner_user_id bigint,
name text,
bot_user_id bigint,
is_confidential boolean,
oauth2_redirect_uris set<text>,
oauth2_scopes set<text>,
client_secret_hash text,
bot_token_hash text,
bot_token_preview text,
bot_token_created_at timestamp,
client_secret_created_at timestamp
);
CREATE TABLE IF NOT EXISTS fluxer.applications_by_owner (
owner_user_id bigint,
application_id bigint,
PRIMARY KEY ((owner_user_id), application_id)
) WITH CLUSTERING ORDER BY (application_id DESC);
CREATE TABLE IF NOT EXISTS fluxer.oauth2_authorization_codes (
code text PRIMARY KEY,
application_id bigint,
user_id bigint,
redirect_uri text,
scope set<text>,
code_challenge text,
code_challenge_method text,
nonce text,
created_at timestamp,
expires_at timestamp
) WITH default_time_to_live = 600;
CREATE TABLE IF NOT EXISTS fluxer.oauth2_access_tokens (
token_ text PRIMARY KEY,
application_id bigint,
user_id bigint,
scope set<text>,
created_at timestamp,
expires_at timestamp
) WITH default_time_to_live = 3600;
CREATE TABLE IF NOT EXISTS fluxer.oauth2_access_tokens_by_user (
user_id bigint,
token_ text,
PRIMARY KEY ((user_id), token_)
) WITH CLUSTERING ORDER BY (token_ DESC);
CREATE TABLE IF NOT EXISTS fluxer.oauth2_refresh_tokens (
token_ text PRIMARY KEY,
application_id bigint,
user_id bigint,
scope set<text>,
created_at timestamp,
expires_at timestamp
) WITH default_time_to_live = 2592000;
CREATE TABLE IF NOT EXISTS fluxer.oauth2_refresh_tokens_by_user (
user_id bigint,
token_ text,
PRIMARY KEY ((user_id), token_)
) WITH CLUSTERING ORDER BY (token_ DESC);