name: ghostfolio_dev services: postgres: image: docker.io/library/postgres:15-alpine container_name: gf-postgres-dev restart: unless-stopped env_file: - ../.env ports: - ${POSTGRES_PORT:-5432}:5432 volumes: - postgres:/var/lib/postgresql/data redis: image: docker.io/library/redis:alpine container_name: gf-redis-dev restart: unless-stopped env_file: - ../.env command: - /bin/sh - -c # - Double dollars, so that the variable is not expanded by Docker Compose # - Surround by quotes, so that the shell does not split the password # - The ${variable:?message} syntax causes shell to exit with a non-zero # code and print a message, when the variable is not set or empty - redis-server --requirepass "$${REDIS_PASSWORD:?REDIS_PASSWORD variable is not set}" ports: - ${REDIS_PORT:-6379}:6379 volumes: postgres: