version: '2.1'

services:
  api:
    image: mxpv/podsync_api
    container_name: api
    restart: always
    ports:
      - 5001
    environment:
      - REDIS_CONNECTION_URL=redis://redis
      - POSTGRES_CONNECTION_URL={POSTGRES_CONNECTION_URL}
      - YOUTUBE_API_KEY={YOUTUBE_API_KEY}
      - VIMEO_API_KEY={VIMEO_API_KEY}
      - PATREON_CLIENT_ID={PATREON_CLIENT_ID}
      - PATREON_SECRET={PATREON_SECRET}
      - PATREON_REDIRECT_URL=https://podsync.net/user/patreon
      - PATREON_WEBHOOKS_SECRET={PATREON_WEBHOOKS_SECRET}
      - COOKIE_SECRET={COOKIE_SECRET}
      - GIN_MODE=release
      - AWS_ACCESS_KEY={AWS_ACCESS_KEY}
      - AWS_ACCESS_SECRET={AWS_ACCESS_SECRET}
      - DYNAMO_FEEDS_TABLE_NAME=Prod_Feeds
      - DYNAMO_PLEDGES_TABLE_NAME=Prod_Pledges
  redis:
    image: redis:5.0.3
    container_name: redis
    command: redis-server --appendonly yes --save 900 1 --save 300 10 --save 60 10000
    restart: always
    volumes:
      - /data/redis:/data
    sysctls:
      net.core.somaxconn: 1024
  nginx:
    image: mxpv/nginx:latest
    container_name: nginx
    restart: always
    ports:
      - 80:80
      - 443:443
    environment:
      - TZ=America/Los_Angeles
      - LETSENCRYPT=true
      - LE_EMAIL=pavlenko.maksym@gmail.com
      - LE_FQDN=podsync.net,www.podsync.net
    volumes:
      - /data/ssl:/etc/nginx/ssl/
      - /data/nginx_cache:/tmp/nginx/