--- services: mastodon: depends_on: - redis - db image: lscr.io/linuxserver/mastodon:latest container_name: mastodon environment: - PUID=${PUID} - PGID=${PGID} - TZ=${TZ} - LOCAL_DOMAIN=${LOCAL_DOMAIN} - REDIS_HOST=redis - REDIS_PORT=6379 - DB_HOST=db - DB_USER=mastodon - DB_NAME=mastodon - DB_PASS=${DB_PASS} - DB_PORT=5432 - ES_ENABLED=false - ACTIVE_RECORD_ENCRYPTION_PRIMARY_KEY=${ACTIVE_RECORD_ENCRYPTION_PRIMARY_KEY} - ACTIVE_RECORD_ENCRYPTION_DETERMINISTIC_KEY=${ACTIVE_RECORD_ENCRYPTION_DETERMINISTIC_KEY} - ACTIVE_RECORD_ENCRYPTION_KEY_DERIVATION_SALT=${ACTIVE_RECORD_ENCRYPTION_KEY_DERIVATION_SALT} - SECRET_KEY_BASE=${SECRET_KEY_BASE} - OTP_SECRET=${OTP_SECRET} - VAPID_PRIVATE_KEY=${VAPID_PRIVATE_KEY} - VAPID_PUBLIC_KEY=${VAPID_PUBLIC_KEY} - SMTP_SERVER=${SMTP_SERVER} - SMTP_PORT=${SMTP_PORT} - SMTP_LOGIN=${SMTP_LOGIN} - SMTP_PASSWORD=${SMTP_PASSWORD} - SMTP_FROM_ADDRESS=${SMTP_FROM_ADDRESS} - S3_ENABLED=false - WEB_DOMAIN=${WEB_DOMAIN} - ES_HOST=es #optional - ES_PORT=9200 #optional - ES_USER=elastic #optional - ES_PASS=elastic #optional - S3_BUCKET= #optional - AWS_ACCESS_KEY_ID= #optional - AWS_SECRET_ACCESS_KEY= #optional - S3_ALIAS_HOST= #optional - SIDEKIQ_ONLY=false #optional - SIDEKIQ_QUEUE= #optional - SIDEKIQ_DEFAULT=false #optional - SIDEKIQ_THREADS=5 #optional - DB_POOL=5 #optional - NO_CHOWN= #optional - MASTODON_PROMETHEUS_EXPORTER_ENABLED= #optional volumes: - ./config:/config ports: - 88:80 - 448:443 - 9394:9394 #optional restart: unless-stopped networks: - traefik_portal redis: image: redis:7-alpine container_name: mastodon-redis restart: unless-stopped db: image: postgres:14-alpine container_name: mastodon-db environment: POSTGRES_DB: mastodon POSTGRES_USER: mastodon POSTGRES_PASSWORD: ${DB_PASS} volumes: - ./db:/var/lib/postgresql/data restart: unless-stopped networks: traefik_portal: external: true