# 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: ${POSTGRES_PASSWORD:-authentik} POSTGRES_USER: ${POSTGRES_USER:-romm} POSTGRES_DB: ${POSTGRES_DB:-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:-romm} AUTHENTIK_POSTGRESQL__NAME: ${POSTGRES_DB:-authentik} AUTHENTIK_POSTGRESQL__PASSWORD: ${POSTGRES_PASSWORD:-authentik} 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:-romm} AUTHENTIK_POSTGRESQL__NAME: ${POSTGRES_DB:-authentik} AUTHENTIK_POSTGRESQL__PASSWORD: ${POSTGRES_PASSWORD:-authentik} 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: