Skip to content

Configuration

Alcoves is configured entirely through environment variables, all prefixed with ALCOVES_ so they nest cleanly into container environments. Copy .env.example to .env and fill in your values.

VariableDefaultDescription
ALCOVES_MODEallCapabilities to run: all, api (web only), or worker (jobs only).
ALCOVES_ENVdevelopmentEnvironment name: development or production.
ALCOVES_BASE_URLhttp://localhost:5173Public base URL — used for OAuth redirects and share links.

Splitting api and worker lets you scale the request path and the heavy async pipeline independently.

VariableDefaultDescription
ALCOVES_DATABASE_URLpostgres://…@localhost:5455/…PostgreSQL connection string.
ALCOVES_QUEUE_HOSTlocalhostDragonfly/Redis host for the Asynq queue.
ALCOVES_QUEUE_PORT6389Dragonfly/Redis port.
ALCOVES_QUEUE_PASSWORD(empty)Optional queue password.
VariableDescription
ALCOVES_SESSION_SECRETAES-GCM key for encrypted session cookies. Must be ≥ 32 bytes.

Generate one with:

Terminal window
openssl rand -base64 32
VariableDefaultDescription
ALCOVES_STORAGE_DRIVERlocalStorage backend: local or s3.
ALCOVES_STORAGE_PATH./dataLocal blob path (when driver is local).
ALCOVES_AVATAR_STORAGE_PATH(empty)Override path for avatars.
ALCOVES_CACHE_STORAGE_PATH(empty)Override path for the derived cache.

For S3-compatible object storage, set ALCOVES_S3_BUCKET, ALCOVES_S3_REGION, ALCOVES_S3_ENDPOINT, ALCOVES_S3_ACCESS_KEY_ID, and ALCOVES_S3_SECRET_ACCESS_KEY.

VariableDescription
ALCOVES_OAUTH_GOOGLE_CLIENT_IDGoogle OAuth client ID.
ALCOVES_OAUTH_GOOGLE_CLIENT_SECRETGoogle OAuth client secret.

The frontend fetches available providers from the API at runtime, so OAuth buttons appear automatically once these are set.

VariableDefaultDescription
ALCOVES_API_URLhttp://localhost:3001Go backend URL for the Nitro dev proxy and SSR fetches.
NITRO_HOST / NITRO_PORT:3000Override the frontend server bind address.