services:
  web:
    image: songtianlun/today_ai_weather:latest
    #ports:
    #  - "3000:3000"
    pull_policy: always
    environment:
      - RAILS_ENV=production
      - DATABASE_URL=postgresql://postgres:${PG_PASSWORD}@db:5432/db
      - RAILS_MASTER_KEY=${RAILS_MASTER_KEY}
      - REDIS_URL=redis://redis:6379/0
    networks:
      - dokploy-network
    depends_on:
      - db
      - redis

  sidekiq:
    image: songtianlun/today_ai_weather:latest
    command: bundle exec sidekiq
    environment:
      - RAILS_ENV=production
      - DATABASE_URL=postgresql://postgres:${PG_PASSWORD}@db:5432/db
      - RAILS_MASTER_KEY=${RAILS_MASTER_KEY}
      - REDIS_URL=redis://redis:6379/0
    networks:
      - dokploy-network
    depends_on:
      - db
      - redis

  db:
    image: postgres:16
    volumes:
      - ../taw_data/pg:/var/lib/postgresql/data
    networks:
      - dokploy-network
    environment:
      - POSTGRES_PASSWORD=${PG_PASSWORD}
      - POSTGRES_DB=db

  redis:
    image: redis:7-alpine
    volumes:
      - ../taw_data/redis:/data
    networks:
      - dokploy-network
    command: redis-server --appendonly yes

networks:
  dokploy-network:
    external: true