resta

Configuration

Resta is configured with environment variables on the compose stack; only the public URL is required, and Coolify sets that for you. Everything else has a default. Variables go in .env for Docker Compose, or in the resource’s environment on Coolify.

Address and account

VariableDefaultMeaning
RESTA_PUBLIC_URLrequired (Coolify: SERVICE_FQDN_GATEWAY)The URL people and apps use, e.g. https://db.example.com. Database URLs are built from it.
RESTA_SITE_ADDRESS:80Your domain, for Caddy to get a TLS certificate. Keep :80 when another proxy terminates TLS.
RESTA_HTTP_PORT, RESTA_HTTPS_PORT80, 443Host ports the gateway publishes.
RESTA_ADMIN_EMAIL, RESTA_ADMIN_PASSWORDunsetCreate the account on start. Used only if no account exists. Password at least 10 characters.
RESTA_VERSIONlatestImage tag for the api, node and dashboard images.

Secrets

Generate each with openssl rand -hex 32. Coolify generates them for you.

VariableCoolifyMeaning
POSTGRES_PASSWORDSERVICE_PASSWORD_POSTGRESPostgres password.
RESTA_OPERATOR_TOKENSERVICE_PASSWORD_64_OPERATOROperator routes, reachable only inside the stack. At least 32 characters.
RESTA_NODE_ADMIN_TOKENSERVICE_PASSWORD_64_NODEADMINAPI-to-node admin calls. At least 32 characters.

The token signing key pair is not configured: the API generates it into the keys volume on first start. Deleting it invalidates every database token issued so far.

Backups

VariableDefaultMeaning
RESTA_BACKUP_TARGETfile:///backupsWhere snapshots go: the backups volume, s3://bucket/prefix, or off.
RESTA_BACKUP_INTERVAL_SECS3600How often changed databases are snapshotted. The most a restore can lose.
RESTA_BACKUP_KEEP72Snapshots kept per database (72 hourly = 3 days).
RESTA_S3_ENDPOINTunsetFor S3-compatible stores other than AWS (R2, B2, MinIO).
AWS_REGIONus-east-1Region; auto for Cloudflare R2.
AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEYunsetBucket credentials.

See Backups and restore.

Limits

VariableDefaultMeaning
RESTA_MAX_DATABASE_BYTES1073741824 (1 GiB)Size limit per database. Writes past it fail with SQLITE_FULL.
RESTA_MAX_OPEN_DATABASES10000Databases open at once. Idle ones close after 5 minutes; when full, the least recently used idle one closes.
RESTA_MAX_TOKEN_TTL_SECS2592000 (30 days)Longest lifetime a database token can have.
RESTA_QUERY_TIMEOUT_SECS5Wall-clock limit per statement.
RESTA_REQUEST_TIMEOUT_SECS30Wall-clock limit per HTTP request.
RESTA_MAX_CONCURRENT_REQUESTS256Requests the node runs at once; more get 503.

Updated · View as Markdown