Repository navigation
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
37 lines (36 loc) · 1.5 KB
/
Copy pathdocker-compose.yml
File metadata and controls
37 lines (36 loc) · 1.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
services:
selfstack:
build:
context: .
args:
# NEXT_PUBLIC_* is inlined into the client bundle at build time, so
# demo mode must be set here (build), not only under `environment`.
# Rebuild after changing: `docker compose up -d --build`.
NEXT_PUBLIC_DEMO_MODE: "${NEXT_PUBLIC_DEMO_MODE:-false}"
image: selfstack:latest
container_name: selfstack
restart: unless-stopped
ports:
- "3026:3026"
environment:
DATABASE_URL: "file:/data/selfstack.db"
# Change this in production! Generate with:
# node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
JWT_SECRET: "${JWT_SECRET:-change-me-in-production}"
# Public base URL (used in outgoing emails). Override via env or Admin UI.
APP_URL: "${APP_URL:-http://localhost:3026}"
# Hard-disable self-registration regardless of the admin UI toggle.
DISABLE_REGISTRATION: "${DISABLE_REGISTRATION:-}"
# Demo mode: also passed as a build arg above (client bundle needs it at
# build time). Kept here so server code + instrumentation reset agree.
NEXT_PUBLIC_DEMO_MODE: "${NEXT_PUBLIC_DEMO_MODE:-false}"
# How often the demo DB is wiped + re-seeded (server-side, runtime only).
DEMO_RESET_MINUTES: "${DEMO_RESET_MINUTES:-60}"
# Enable when serving over HTTPS
# SECURE_COOKIES: "true"
volumes:
- selfstack-data:/data
- selfstack-uploads:/app/public/uploads
volumes:
selfstack-data:
selfstack-uploads: