Przejdź do głównej zawartości

Docker Compose Variables

Docker Compose Example File docker-compose.yml

services:
db:
image: postgres:16-alpine
restart: always
networks:
- boards-network
volumes:
- db-data:/var/lib/postgresql/data
environment:
POSTGRES_DB: 4gaBoards
POSTGRES_PASSWORD: notpassword
POSTGRES_INITDB_ARGS: "-A scram-sha-256"
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres -d 4gaBoards"]
interval: 1s
timeout: 5s
retries: 50

4gaBoards:
image: ghcr.io/rargames/4gaboards:latest
restart: always
networks:
- boards-network
volumes:
- user-avatars:/app/public/user-avatars
- project-background-images:/app/public/project-background-images
- attachments:/app/private/attachments
ports:
- 3000:1337
environment:
BASE_URL: http://localhost:3000
SECRET_KEY: notsecretkey
DATABASE_URL: postgresql://postgres:notpassword@db/4gaBoards
NODE_ENV: production
## Add optional 4ga Boards instance variables here
depends_on:
db:
condition: service_healthy

volumes:
user-avatars:
project-background-images:
attachments:
db-data:
networks:
boards-network:

4ga Boards - Required Instance Variables

db service environment variables:

  • POSTGRES_DB - database name
  • POSTGRES_PASSWORD - database password

4gaBoards service environment variables:

  • BASE_URL - domain or ip address used to access 4ga Boards
  • DATABASE_URL - database url in the following format: postgresql://<username>:<password>@<host>/<database_name>
  • SECRET_KEY - session secret key

4ga Boards - Optional Instance Variables

4gaBoards service environment variables:

Default settings (applied only on first run)

Default admin user is always created, but you can override the default values:
  • DEFAULT_ADMIN_USERNAME: "demo" - default admin username, defaults to demo
  • DEFAULT_ADMIN_EMAIL: "demo@demo.demo" - default admin email, defaults to demo@demo.demo
  • DEFAULT_ADMIN_NAME: "Demo Demo" - default admin name, defaults to Demo Demo
  • DEFAULT_ADMIN_PASSWORD: "demo" - default admin password, defaults to demo
Other settings:
  • DEFAULT_PROJECT_CREATION_ALL: true - only admins can create projects if true, defaults to true
  • DEFAULT_REGISTRATION_ENABLED: true - registration enabled if true, defaults to true
  • DEFAULT_LOCAL_REGISTRATION_ENABLED: true - local registration emabled if true, defaults to true
  • DEFAULT_SSO_REGISTRATION_ENABLED: true - sso registration enabled if true, defaults to true

Google OAuth2.0

  • GOOGLE_CLIENT_ID: googleClientId - client id from the project on: https://console.cloud.google.com/
  • GOOGLE_CLIENT_SECRET: googleClientSecret - client secret from the project: generated in app settings

GitHub OAuth2.0

Microsoft OIDC

  • MICROSOFT_CLIENT_ID: microsoftClientId - client id from the app after creating on: https://portal.azure.com/
  • MICROSOFT_CLIENT_SECRET: microsoftClientSecret - client secret from the app: generated in app settings

Other settings

  • CLIENT_URL: http://localhost:3000 - main client URL - usually not needed, if running production defaults to BASE_URL, if development defaults to http://localhost:3000 (skip this unless you really need it)
  • DEMO_MODE: false - demo mode enabled if true, defaults to false
  • LOG_LEVEL: warn - log levels from highest to lowest - error, warn, info, http, verbose, debug, silly, defaults to warn
  • TRUST_PROXY: 0 - trust proxy used only if 4ga Boards are behind a proxy/load balancer, defaults to 0
  • TOKEN_EXPIRES_IN: 365 - token expiration in days, defaults to 365

Additional Links:
4ga Boards docker-compose.yml File
4ga Boards Professional Hosting