services: timescaledb: image: timescale/timescaledb:latest-pg16 container_name: portfolio-hub-timescaledb environment: POSTGRES_DB: portfolio_hub POSTGRES_USER: portfolio_hub_user POSTGRES_PASSWORD: change-me ports: - "127.0.0.1:5432:5432" volumes: - timescaledb_data:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U portfolio_hub_user -d portfolio_hub"] interval: 10s timeout: 5s retries: 5 start_period: 10s restart: unless-stopped redis-stack: image: redis/redis-stack:latest container_name: portfolio-hub-redis-stack ports: - "127.0.0.1:6379:6379" - "127.0.0.1:8001:8001" volumes: - redis_stack_data:/data healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 10s timeout: 5s retries: 5 start_period: 5s restart: unless-stopped loki: image: grafana/loki:2.9.8 container_name: portfolio-hub-loki command: -config.file=/etc/loki/local-config.yaml ports: - "127.0.0.1:3100:3100" volumes: - loki_data:/loki restart: unless-stopped volumes: timescaledb_data: redis_stack_data: loki_data: