services: << service_name >>: image: ghostfolio/ghostfolio:latest container_name: << service_name >> environment: - TZ=<< timezone >> - DATABASE_URL=postgresql://ghostfolio:<< db_password >>@<< service_name >>-db:5432/ghostfolio?sslmode=prefer - REDIS_HOST=<< service_name >>-redis - REDIS_PORT=6379 - ACCESS_TOKEN_SALT=<< access_token_salt >> - JWT_SECRET_KEY=<< jwt_secret >> - NODE_ENV=production volumes: - << appdata_dir >>/<< service_name >>:/tmp/ghostfolio ports: - "<< port >>:3333" depends_on: - << service_name >>-db - << service_name >>-redis restart: unless-stopped << service_name >>-db: image: postgres:16-alpine container_name: << service_name >>-db environment: - POSTGRES_DB=ghostfolio - POSTGRES_USER=ghostfolio - POSTGRES_PASSWORD=<< db_password >> volumes: - << appdata_dir >>/<< service_name >>-db:/var/lib/postgresql/data restart: unless-stopped << service_name >>-redis: image: valkey/valkey:8-alpine container_name: << service_name >>-redis command: valkey-server --save 60 1 volumes: - << appdata_dir >>/<< service_name >>-redis:/data restart: unless-stopped