services: postgres: build: context: ./postgres dockerfile: Dockerfile container_name: mosaic-postgres restart: unless-stopped environment: POSTGRES_USER: ${POSTGRES_USER:-mosaic} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-mosaic_dev_password} POSTGRES_DB: ${POSTGRES_DB:-mosaic} ports: - "${POSTGRES_PORT:-5432}:5432" volumes: - postgres_data:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-mosaic} -d ${POSTGRES_DB:-mosaic}"] interval: 10s timeout: 5s retries: 5 start_period: 30s networks: - mosaic-network valkey: image: valkey/valkey:8-alpine container_name: mosaic-valkey restart: unless-stopped ports: - "${VALKEY_PORT:-6379}:6379" volumes: - valkey_data:/data healthcheck: test: ["CMD", "valkey-cli", "ping"] interval: 10s timeout: 5s retries: 5 start_period: 10s networks: - mosaic-network volumes: postgres_data: name: mosaic-postgres-data valkey_data: name: mosaic-valkey-data networks: mosaic-network: name: mosaic-network driver: bridge