rommapp_romm/docker-compose.yml
2025-09-19 17:23:32 -04:00

122 lines
3.6 KiB
YAML

# Please see the full example under examples/docker-compose.example.yml
services:
romm-dev:
build:
context: .
dockerfile: Dockerfile
container_name: romm-dev
env_file: .env
environment:
- REDIS_HOST=romm-valkey-dev
- DB_HOST=${DB_HOST:-romm-db-dev}
- ROMM_BASE_PATH=/app/romm
ports:
- "3000:3000" # Vite dev server (custom)
- "5173:5173" # Vite dev server (default)
- "8443:8443" # HTTPS dev server
- "${DEV_PORT:-5000}:5000" # Backend API
volumes:
- ./backend:/app/backend
- /app/backend/romm_mock # Empty directory
- ./frontend:/app/frontend
- /app/frontend/node_modules # Empty directory
- /app/frontend/dist # Empty directory
- ./romm_mock:/app/romm
- ~/.vite-plugin-mkcert:/app/.vite-plugin-mkcert
depends_on:
- romm-db-dev
- romm-valkey-dev
- romm-postgres-dev
command: /bin/bash -c "cd /app && bash"
stdin_open: true
tty: true
romm-db-dev:
image: mariadb:11.3.2
container_name: romm-db-dev
restart: unless-stopped
env_file: .env
environment:
- MARIADB_ROOT_PASSWORD=${DB_ROOT_PASSWD:-rootpassword}
- MARIADB_DATABASE=${DB_NAME:-romm}
- MARIADB_USER=${DB_USER:-romm}
- MARIADB_PASSWORD=${DB_PASSWD:-romm}
volumes:
- romm-db-dev:/var/lib/mysql
ports:
- "3306:3306"
romm-valkey-dev:
image: valkey/valkey:8
container_name: romm-valkey-dev
restart: unless-stopped
env_file: .env
ports:
- "${REDIS_PORT:-6379}:6379"
romm-postgres-dev:
image: postgres:16-alpine
container_name: romm-postgresql-dev
restart: unless-stopped
env_file: .env
environment:
POSTGRES_PASSWORD: ${DB_PASSWD:-postgres}
POSTGRES_USER: ${DB_USER:-postgres}
POSTGRES_DB: ${DB_NAME:-authentik}
volumes:
- postgres-db:/var/lib/postgresql/data
ports:
- "5432:5432"
romm-authentik-server:
image: ghcr.io/goauthentik/server:2024.10.4
container_name: romm-authentik-server
restart: unless-stopped
command: server
env_file: .env
environment:
AUTHENTIK_REDIS__HOST: romm-valkey-dev
AUTHENTIK_POSTGRESQL__HOST: romm-postgres-dev
AUTHENTIK_POSTGRESQL__USER: ${POSTGRES_USER:-postgres}
AUTHENTIK_POSTGRESQL__NAME: ${POSTGRES_DB:-authentik}
AUTHENTIK_POSTGRESQL__PASSWORD: ${POSTGRES_PASSWORD:-postgres}
AUTHENTIK_SECRET_KEY: ${AUTHENTIK_SECRET_KEY:-secret-key-default}
AUTHENTIK_BOOTSTRAP_PASSWORD: ${AUTHENTIK_BOOTSTRAP_PASSWORD:-password}
volumes:
- authentik-media:/media
- authentik-templates:/templates
ports:
- "9001:9000"
- "9444:9443"
depends_on:
- romm-postgres-dev
- romm-valkey-dev
romm-authentik-worker:
image: ghcr.io/goauthentik/server:2024.10.4
container_name: romm-authentik-worker
restart: unless-stopped
command: worker
env_file: .env
environment:
AUTHENTIK_REDIS__HOST: romm-valkey-dev
AUTHENTIK_POSTGRESQL__HOST: romm-postgres-dev
AUTHENTIK_POSTGRESQL__USER: ${POSTGRES_USER:-postgres}
AUTHENTIK_POSTGRESQL__NAME: ${POSTGRES_DB:-authentik}
AUTHENTIK_POSTGRESQL__PASSWORD: ${POSTGRES_PASSWORD:-postgres}
AUTHENTIK_SECRET_KEY: ${AUTHENTIK_SECRET_KEY:-secret-key-default}
AUTHENTIK_BOOTSTRAP_PASSWORD: ${AUTHENTIK_BOOTSTRAP_PASSWORD:-password}
volumes:
- authentik-media:/media
- authentik-templates:/templates
depends_on:
- romm-postgres-dev
- romm-valkey-dev
volumes:
romm-db-dev:
postgres-db:
authentik-media:
authentik-templates: