Hexbear is the engine that powers Chapochat. It is a customization of the Lemmy project.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

116 lines
3.1 KiB

version: '3.3'
services:
hexbear-frontend:
image: registry.chapo.chat/hexbear-frontend:prod
container_name: lemmy-dev-fe
ports:
- "127.0.0.1:4444:4444"
environment:
- PG_CONN_URL=postgres://lemmy:${LEMMYPROD_POSTGRES_PW}@postgres-prod:5433/lemmy
depends_on:
- postgres
lemmy:
image: registry.chapo.chat/hexbear:prod-latest
container_name: lemmy-prod
ports:
- "127.0.0.1:8546:8546"
restart: always
environment:
- RUST_LOG=error
- ACTIX_THREADPOOL=256
- LEMMY_DATABASE__PASSWORD=${LEMMYPROD_POSTGRES_PW}
- LEMMY_DATABASE__HOST=postgres-prod
- LEMMY_DATABASE__PORT=5433
- LEMMY_DATABASE__POOL_SIZE=75
- LEMMY_HOSTNAME=${LEMMYPROD_LEMMY_HOSTNAME}
- LEMMY_PORT=8546
- LEMMY_EMAIL__SMTP_SERVER=mail.chapo.chat
- [email protected]
- [email protected]
- LEMMY_EMAIL__SMTP_PASSWORD=${LEMMYPROD_SMTP_PASSWORD}
- LEMMY_EMAIL__USE_TLS=true
- LEMMY_RATE_LIMIT__MESSAGE=60
- LEMMY_RATE_LIMIT__MESSAGE_PER_SECOND=30
- LEMMY_RATE_LIMIT__POST=12
- LEMMY_RATE_LIMIT__POST_PER_SECOND=600
- LEMMY_RATE_LIMIT__REGISTER=1
- LEMMY_RATE_LIMIT__REGISTER_PER_SECOND=30
- LEMMY_JWT_SECRET=${LEMMYPROD_JWT_SECRET}
- LEMMY_CAPTCHA__ENABLED=true
- LEMMY_CAPTCHA__PROVIDER=hcaptcha
- LEMMY_CAPTHCA__HCAPTCHA_SECRET_KEY=${LEMMYPROD_HCAPTCHA_SECRET_KEY}
- LEMMY_CAPTCHA__HCAPTCHA_SITE_KEY=${LEMMYPROD_HCAPTCHA_SITE_KEY}
volumes:
- ./lemmy.hjson:/config/config.hjson:ro
- frontend:/app/dist
depends_on:
- postgres
- pictrs
- iframely
- hexbear-frontend
postgres:
image: postgres:12-alpine
container_name: postgres-prod
environment:
- POSTGRES_USER=lemmy
- POSTGRES_PASSWORD=${LEMMYPROD_POSTGRES_PW}
- POSTGRES_DB=lemmy
ports:
- "127.0.0.1:5433:5433"
volumes:
- ./volumes/postgres:/var/lib/postgresql/data
command: -p 5433
restart: always
pictrs:
image: asonix/pictrs:v0.1.13-r0
container_name: pictrs-prod
user: 991:991
environment:
- PICTRS_FORMAT=jpg
- PICTRS_FILTER_WHITELIST=thumbnail
ports:
- "127.0.0.1:8547:8080"
volumes:
- ./volumes/pictrs:/mnt
restart: always
iframely:
image: jolt/iframely:v1.6.1
ports:
- "127.0.0.1:8062:80"
volumes:
- ./iframely.config.local.js:/iframely/config.local.js:ro
restart: always
purgebot:
image: registry.gitlab.com/chapo-sandbox/purgebot:latest-prod
container_name: purgebot-prod
restart: always
environment:
- POSTGRES_HOST=postgres-prod
- POSTGRES_PORT=5433
volumes:
- /opt/app/lemmy-prod/volumes/pictrs:/pictrs
secrets:
- discord_token
- cloudflare_token
- postgres_pw
depends_on:
- postgres
secrets:
discord_token:
file: /opt/app/lemmy-prod/secrets/discord_token.txt
cloudflare_token:
file: /opt/app/lemmy-prod/secrets/cloudflare_token.txt
postgres_pw:
file: /opt/app/lemmy-prod/secrets/postgres_pw
volumes:
frontend: