version: '3.3' services: nginx: image: nginx:1.17-alpine ports: - "8540:8540" - "8550:8550" - "8560:8560" - "8570:8570" - "8580:8580" volumes: - ./nginx.conf:/etc/nginx/nginx.conf restart: on-failure depends_on: - pictrs - iframely - lemmy-alpha - lemmy-beta - lemmy-gamma - lemmy-delta - lemmy-epsilon pictrs: restart: always image: asonix/pictrs:amd64-v0.1.0-r9 user: 991:991 volumes: - ./volumes/pictrs:/mnt lemmy-alpha: image: lemmy-federation:latest environment: - LEMMY_HOSTNAME=lemmy-alpha:8540 - LEMMY_DATABASE_URL=postgres://lemmy:password@postgres_alpha:5432/lemmy - LEMMY_JWT_SECRET=changeme - LEMMY_FRONT_END_DIR=/app/dist - LEMMY_FEDERATION__ENABLED=true - LEMMY_FEDERATION__TLS_ENABLED=false - LEMMY_FEDERATION__ALLOWED_INSTANCES=lemmy-beta,lemmy-gamma,lemmy-delta,lemmy-epsilon - LEMMY_PORT=8540 - LEMMY_SETUP__ADMIN_USERNAME=lemmy_alpha - LEMMY_SETUP__ADMIN_PASSWORD=lemmy - LEMMY_SETUP__SITE_NAME=lemmy-alpha - LEMMY_RATE_LIMIT__POST=99999 - LEMMY_RATE_LIMIT__REGISTER=99999 - LEMMY_CAPTCHA__ENABLED=false - RUST_BACKTRACE=1 - RUST_LOG=debug depends_on: - postgres_alpha postgres_alpha: image: postgres:12-alpine environment: - POSTGRES_USER=lemmy - POSTGRES_PASSWORD=password - POSTGRES_DB=lemmy volumes: - ./volumes/postgres_alpha:/var/lib/postgresql/data lemmy-beta: image: lemmy-federation:latest environment: - LEMMY_HOSTNAME=lemmy-beta:8550 - LEMMY_DATABASE_URL=postgres://lemmy:password@postgres_beta:5432/lemmy - LEMMY_JWT_SECRET=changeme - LEMMY_FRONT_END_DIR=/app/dist - LEMMY_FEDERATION__ENABLED=true - LEMMY_FEDERATION__TLS_ENABLED=false - LEMMY_FEDERATION__ALLOWED_INSTANCES=lemmy-alpha,lemmy-gamma,lemmy-delta,lemmy-epsilon - LEMMY_PORT=8550 - LEMMY_SETUP__ADMIN_USERNAME=lemmy_beta - LEMMY_SETUP__ADMIN_PASSWORD=lemmy - LEMMY_SETUP__SITE_NAME=lemmy-beta - LEMMY_RATE_LIMIT__POST=99999 - LEMMY_RATE_LIMIT__REGISTER=99999 - LEMMY_CAPTCHA__ENABLED=false - RUST_BACKTRACE=1 - RUST_LOG=debug depends_on: - postgres_beta postgres_beta: image: postgres:12-alpine environment: - POSTGRES_USER=lemmy - POSTGRES_PASSWORD=password - POSTGRES_DB=lemmy volumes: - ./volumes/postgres_beta:/var/lib/postgresql/data lemmy-gamma: image: lemmy-federation:latest environment: - LEMMY_HOSTNAME=lemmy-gamma:8560 - LEMMY_DATABASE_URL=postgres://lemmy:password@postgres_gamma:5432/lemmy - LEMMY_JWT_SECRET=changeme - LEMMY_FRONT_END_DIR=/app/dist - LEMMY_FEDERATION__ENABLED=true - LEMMY_FEDERATION__TLS_ENABLED=false - LEMMY_FEDERATION__ALLOWED_INSTANCES=lemmy-alpha,lemmy-beta,lemmy-delta,lemmy-epsilon - LEMMY_PORT=8560 - LEMMY_SETUP__ADMIN_USERNAME=lemmy_gamma - LEMMY_SETUP__ADMIN_PASSWORD=lemmy - LEMMY_SETUP__SITE_NAME=lemmy-gamma - LEMMY_RATE_LIMIT__POST=99999 - LEMMY_RATE_LIMIT__REGISTER=99999 - LEMMY_CAPTCHA__ENABLED=false - RUST_BACKTRACE=1 - RUST_LOG=debug depends_on: - postgres_gamma postgres_gamma: image: postgres:12-alpine environment: - POSTGRES_USER=lemmy - POSTGRES_PASSWORD=password - POSTGRES_DB=lemmy volumes: - ./volumes/postgres_gamma:/var/lib/postgresql/data # An instance with only an allowlist for beta lemmy-delta: image: lemmy-federation:latest environment: - LEMMY_HOSTNAME=lemmy-delta:8570 - LEMMY_DATABASE_URL=postgres://lemmy:password@postgres_delta:5432/lemmy - LEMMY_JWT_SECRET=changeme - LEMMY_FRONT_END_DIR=/app/dist - LEMMY_FEDERATION__ENABLED=true - LEMMY_FEDERATION__TLS_ENABLED=false - LEMMY_FEDERATION__ALLOWED_INSTANCES=lemmy-beta - LEMMY_PORT=8570 - LEMMY_SETUP__ADMIN_USERNAME=lemmy_delta - LEMMY_SETUP__ADMIN_PASSWORD=lemmy - LEMMY_SETUP__SITE_NAME=lemmy-delta - LEMMY_RATE_LIMIT__POST=99999 - LEMMY_RATE_LIMIT__REGISTER=99999 - LEMMY_CAPTCHA__ENABLED=false - RUST_BACKTRACE=1 - RUST_LOG=debug depends_on: - postgres_delta postgres_delta: image: postgres:12-alpine environment: - POSTGRES_USER=lemmy - POSTGRES_PASSWORD=password - POSTGRES_DB=lemmy volumes: - ./volumes/postgres_delta:/var/lib/postgresql/data # An instance who has a blocklist, with lemmy-alpha blocked lemmy-epsilon: image: lemmy-federation:latest environment: - LEMMY_HOSTNAME=lemmy-epsilon:8580 - LEMMY_DATABASE_URL=postgres://lemmy:password@postgres_epsilon:5432/lemmy - LEMMY_JWT_SECRET=changeme - LEMMY_FRONT_END_DIR=/app/dist - LEMMY_FEDERATION__ENABLED=true - LEMMY_FEDERATION__TLS_ENABLED=false - LEMMY_FEDERATION__BLOCKED_INSTANCES=lemmy-alpha - LEMMY_PORT=8580 - LEMMY_SETUP__ADMIN_USERNAME=lemmy_epsilon - LEMMY_SETUP__ADMIN_PASSWORD=lemmy - LEMMY_SETUP__SITE_NAME=lemmy-epsilon - LEMMY_RATE_LIMIT__POST=99999 - LEMMY_RATE_LIMIT__REGISTER=99999 - LEMMY_CAPTCHA__ENABLED=false - RUST_BACKTRACE=1 - RUST_LOG=debug depends_on: - postgres_epsilon postgres_epsilon: image: postgres:12-alpine environment: - POSTGRES_USER=lemmy - POSTGRES_PASSWORD=password - POSTGRES_DB=lemmy volumes: - ./volumes/postgres_epsilon:/var/lib/postgresql/data iframely: image: dogbin/iframely:latest volumes: - ../iframely.config.local.js:/iframely/config.local.js:ro restart: always