mirror of
https://github.com/fluxerapp/fluxer.git
synced 2026-09-02 21:04:06 +03:00
116 lines
4.9 KiB
Bash
116 lines
4.9 KiB
Bash
FLUXER_DOMAIN=chat.example.com
|
|
FLUXER_PUBLIC_SCHEME=https
|
|
FLUXER_PUBLIC_PORT=443
|
|
FLUXER_CADDY_SITE_ADDRESS=chat.example.com
|
|
|
|
FLUXER_REGISTRY_OWNER=fluxerapp
|
|
FLUXER_REGISTRY=ghcr.io/${FLUXER_REGISTRY_OWNER}
|
|
FLUXER_IMAGE_TAG=v1
|
|
|
|
POSTGRES_PASSWORD=CHANGE_ME
|
|
MEILI_MASTER_KEY=CHANGE_ME
|
|
FLUXER_S3_ACCESS_KEY=fluxer
|
|
FLUXER_S3_SECRET_KEY=CHANGE_ME
|
|
|
|
FLUXER_SUDO_MODE_SECRET=CHANGE_ME
|
|
FLUXER_CONNECTION_INITIATION_SECRET=CHANGE_ME
|
|
FLUXER_GATEWAY_RPC_AUTH_TOKEN=CHANGE_ME
|
|
FLUXER_MEDIA_PROXY_SECRET_KEY=CHANGE_ME
|
|
FLUXER_MEDIA_PROXY_UPLOAD_RELAY_SECRET_BASE64=CHANGE_ME
|
|
FLUXER_ADMIN_SECRET_KEY_BASE=CHANGE_ME
|
|
FLUXER_ADMIN_OAUTH_CLIENT_SECRET=CHANGE_ME
|
|
|
|
FLUXER_VAPID_PUBLIC_KEY=CHANGE_ME
|
|
FLUXER_VAPID_PRIVATE_KEY=CHANGE_ME
|
|
FLUXER_VAPID_EMAIL=admin@example.com
|
|
|
|
# Passkeys follow FLUXER_DOMAIN by default. Set these only if browsers reach the
|
|
# instance on a different host, and note that changing FLUXER_PASSKEY_RP_ID
|
|
# invalidates every passkey already registered against the old value.
|
|
#FLUXER_PASSKEY_RP_ID=chat.example.com
|
|
#FLUXER_PASSKEY_RP_NAME=Fluxer
|
|
#FLUXER_PASSKEY_ADDITIONAL_ALLOWED_ORIGINS=https://chat.example.com
|
|
|
|
# Extra Content-Security-Policy sources, appended to the built-in ones. Set these
|
|
# only when a browser must reach an origin the defaults do not cover, such as a
|
|
# voice server hosted on a domain other than FLUXER_DOMAIN. Separate several
|
|
# sources with spaces or commas.
|
|
#FLUXER_CSP_EXTRA_CONNECT_SRC=wss://livekit.example.com:7881
|
|
#FLUXER_CSP_EXTRA_IMG_SRC=https://cdn.example.com
|
|
#FLUXER_CSP_EXTRA_SCRIPT_SRC=https://analytics.example.com
|
|
|
|
# Allow the SSO identity provider to resolve to a private or internal address.
|
|
# Off by default: the API refuses to call non-public addresses so a misconfigured
|
|
# provider URL cannot be used to reach internal services. Turn it on only when the
|
|
# provider genuinely lives on your own network, such as split-horizon DNS or a LAN
|
|
# identity provider, and only when you trust everyone who can configure SSO.
|
|
#FLUXER_SSO_ALLOW_PRIVATE_ADDRESSES=true
|
|
|
|
LIVEKIT_API_KEY=fluxer
|
|
LIVEKIT_API_SECRET=CHANGE_ME
|
|
|
|
FLUXER_KLIPY_API_KEY=
|
|
|
|
FLUXER_EMAIL_ENABLED=false
|
|
FLUXER_EMAIL_PROVIDER=none
|
|
FLUXER_EMAIL_FROM_EMAIL=noreply@example.com
|
|
FLUXER_EMAIL_FROM_NAME=Fluxer
|
|
FLUXER_EMAIL_APP_BASE_URL=
|
|
FLUXER_EMAIL_SMTP_HOST=
|
|
FLUXER_EMAIL_SMTP_PORT=587
|
|
FLUXER_EMAIL_SMTP_USERNAME=
|
|
FLUXER_EMAIL_SMTP_PASSWORD=
|
|
FLUXER_EMAIL_SMTP_SECURE=true
|
|
|
|
FLUXER_CAPTCHA_ENABLED=false
|
|
FLUXER_CAPTCHA_PROVIDER=none
|
|
FLUXER_DISCOVERY_ENABLED=true
|
|
|
|
# Container memory. Every service limit and reservation below has a default that
|
|
# assumes a host with at least 16 GB of RAM. Limits are per-container ceilings, so
|
|
# their sum may exceed host RAM; the reservations are what protect the services
|
|
# whose death takes the whole instance down. Lower these on a smaller host.
|
|
#FLUXER_POSTGRES_MEMORY_LIMIT=5gb
|
|
#FLUXER_POSTGRES_MEMORY_RESERVATION=3gb
|
|
#FLUXER_API_MEMORY_LIMIT=2560mb
|
|
#FLUXER_API_MEMORY_RESERVATION=1gb
|
|
#FLUXER_WORKER_MEMORY_LIMIT=2560mb
|
|
#FLUXER_WORKER_MEMORY_RESERVATION=1gb
|
|
#FLUXER_GATEWAY_MEMORY_LIMIT=1gb
|
|
#FLUXER_MEILISEARCH_MEMORY_LIMIT=768mb
|
|
|
|
# Node sizes its own heap from the container memory limit by default, at roughly
|
|
# 55 percent of it, which always leaves room for the buffers and stacks that live
|
|
# outside the heap. Leave these unset unless you have a reason to pin the value.
|
|
# Any value set here must stay well below the container limit above: a heap ceiling
|
|
# above the container limit makes the kernel OOM-kill the container (exit 137, no
|
|
# diagnostics) instead of Node reporting a JavaScript heap out of memory error.
|
|
#FLUXER_API_NODE_HEAP_MB=1792
|
|
#FLUXER_WORKER_NODE_HEAP_MB=1792
|
|
|
|
# Bundled Postgres tuning. Keep these consistent with FLUXER_POSTGRES_MEMORY_LIMIT:
|
|
# budget roughly shared_buffers + (server max_connections x 12 MB) +
|
|
# (3 x autovacuum_work_mem) + 300 MB for page cache and WAL. Note this is the
|
|
# server setting, distinct from the per-service FLUXER_POSTGRES_MAX_CONNECTIONS
|
|
# pool sizes used by the api, worker, app-proxy and shards.
|
|
#FLUXER_POSTGRES_SERVER_MAX_CONNECTIONS=150
|
|
#FLUXER_POSTGRES_SHARED_BUFFERS=512MB
|
|
#FLUXER_POSTGRES_EFFECTIVE_CACHE_SIZE=2GB
|
|
#FLUXER_POSTGRES_WORK_MEM=8MB
|
|
|
|
# The bundled Valkey holds durable state as well as cache: the bulk message
|
|
# deletion queue, the account deletion queue and every distributed lock, none of
|
|
# which carry an expiry. It therefore runs with an append-only file on a named
|
|
# volume and with noeviction, so an over-limit write fails loudly instead of
|
|
# silently deleting queued work. Only change the policy if you have moved that
|
|
# durable state elsewhere.
|
|
#FLUXER_VALKEY_MAXMEMORY=192mb
|
|
#FLUXER_VALKEY_MAXMEMORY_POLICY=noeviction
|
|
|
|
# The gateway derives its BEAM scheduler count from the container CPU quota,
|
|
# clamped to this range. The floor matters: a single scheduler lets one blocking
|
|
# operation stall every websocket on the node. The ceiling stops a large host
|
|
# from starting far more schedulers than the container can actually use.
|
|
#FLUXER_ERLANG_SCHEDULERS_MIN=2
|
|
#FLUXER_ERLANG_SCHEDULERS_MAX=16
|