version: '2'

services:
  app:
    image: gcr.io/pod-sync/app:latest
    container_name: app
    restart: always
    ports:
      - 5001
    environment:
      - ASPNETCORE_URLS=http://*:5001
      - ASPNETCORE_ENVIRONMENT=Production
      - Podsync:RedisConnectionString=redis
      - Podsync:RemoteResolverUrl=http://ytdl:5002
      - Podsync:YouTubeApiKey={YOUTUBE_API_KEY}
      - Podsync:VimeoApiKey={VIMEO_API_KEY}
      - Podsync:PatreonClientId={PATREON_CLIENT_ID}
      - Podsync:PatreonSecret={PATREON_SECRET}
      - Logging:LogLevel:Default=Information
      - Logging:LogLevel:Microsoft=Warning
  ytdl:
    image: gcr.io/pod-sync/ytdl:latest
    container_name: ytdl
    restart: always
    ports:
      - 5002
    environment:
      - REDIS_CONNECTION_STRING=redis://redis:6379/0
  redis:
    image: redis
    container_name: redis
    command: redis-server --appendonly no --save 900 1 --save 300 10 --save 60 10000
    restart: always
    volumes:
      - /data/redis:/data
  nginx:
    image: gcr.io/pod-sync/nginx:latest
    container_name: nginx
    restart: always
    ports:
      - 80:80