version: '2.1' services: app: image: mxpv/podsync container_name: app restart: always ports: - 5001 environment: - REDIS_CONNECTION_URL=redis://redis - POSTGRES_CONNECTION_URL={POSTGRES_CONNECTION_URL} # https://console.developers.google.com/project/_/apiui/credential/serviceaccount - GOOGLE_APPLICATION_CREDENTIALS=/google-credentials.json - 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/patreon - PATREON_WEBHOOKS_SECRET={PATREON_WEBHOOKS_SECRET} - COOKIE_SECRET={COOKIE_SECRET} - GIN_MODE=release - DYNAMO_FEEDS_TABLE_NAME=Prod_Feeds - DYNAMO_PLEDGES_TABLE_NAME=Prod_Pledges volumes: - {PATH_TO_GOOGLE_CREDENTIALS_FILE_FOR_USE_OUTSIDE_GOOGLE_CLOUD}:/google-credentials.json ytdl: image: mxpv/ytdl container_name: ytdl restart: always ports: - 5002 environment: - METADATA_URL=http://app:5001/api/metadata/{feed_id} redis: image: redis:5.0.1 container_name: redis command: redis-server --appendonly no --save 900 1 --save 300 10 --save 60 10000 restart: always volumes: - /data/redis:/data sysctls: net.core.somaxconn: 1024 mem_limit: 268435456 # 256MB oom_kill_disable: true nginx: image: umputun/nginx-le: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/podsync.conf:/etc/nginx/service.conf