123 lines
3.6 KiB
YAML
123 lines
3.6 KiB
YAML
version: "3.8"
|
|
services:
|
|
app:
|
|
image: loomio/loomio:v2.7.10
|
|
volumes:
|
|
- loomio_uploads:/loomio/public/system
|
|
- loomio_storage:/loomio/storage
|
|
- loomio_files:/loomio/public/files
|
|
- loomio_plugins:/loomio/plugins/docker
|
|
- loomio_import:/import
|
|
networks:
|
|
- proxy
|
|
- backend
|
|
depends_on:
|
|
- db
|
|
- redis
|
|
environment:
|
|
- DATABASE_URL=postgresql://postgres:password@db/loomio_production
|
|
- REDIS_URL=redis://redis:6379
|
|
- CANONICAL_HOST=${DOMAIN}
|
|
- CHANNELS_URI=wss://channels.${DOMAIN}
|
|
- TLD_LENGTH=${TLD_LENGTH}
|
|
- SUPPORT_EMAIL=${SUPPORT_EMAIL}
|
|
- SMTP_AUTH=${SMTP_AUTH}
|
|
- SMTP_DOMAIN=${SMTP_DOMAIN}
|
|
- SMTP_SERVER=${SMTP_SERVER}
|
|
- SMTP_PORT=${SMTP_PORT}
|
|
- SMTP_USERNAME=${SMTP_USERNAME}
|
|
- SMTP_PASSWORD=${SMTP_PASSWORD}
|
|
- SMTP_USE_SSL=${SMTP_USE_SSL}
|
|
- REPLY_HOSTNAME=${REPLY_HOSTNAME}
|
|
- HELPER_BOT_EMAIL=${HELPER_BOT_EMAIL}
|
|
- RAILS_ENV=${RAILS_ENV}
|
|
- PUMA_WORKERS=${PUMA_WORKERS}
|
|
- MIN_THREADS=${MIN_THREADS}
|
|
- MAX_THREADS=${MAX_THREADS}
|
|
- FORCE_SSL=${FORCE_SSL}
|
|
- USE_RACK_ATTACK=${USE_RACK_ATTACK}
|
|
- DEVISE_SECRET=uuaYZNGgeKCMqGc5pPd3seNSrvKkVO9+pAu6JvrQI4M6T395m8dLJja5qza8HaHY
|
|
- SECRET_COOKIE_TOKEN=uuaYZNGgeKCMqGc5pPd3seNSrvKkVO9+pAu6JvrQI4M6T395m8dLJja5qza8HaHY
|
|
deploy:
|
|
restart_policy:
|
|
condition: on-failure
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.services.${STACK_NAME}.loadbalancer.server.port=3000"
|
|
- "traefik.http.routers.${STACK_NAME}.rule=Host(`${DOMAIN}`${EXTRA_DOMAINS})"
|
|
- "traefik.http.routers.${STACK_NAME}.entrypoints=web-secure"
|
|
- "traefik.http.routers.${STACK_NAME}.tls.certresolver=${LETS_ENCRYPT_ENV}"
|
|
- coop-cloud.${STACK_NAME}.app.version=v2.7.9-8007a47b
|
|
worker:
|
|
image: loomio/loomio:v2.7.10
|
|
networks:
|
|
- backend
|
|
environment:
|
|
- CANONICAL_HOST=${DOMAIN}
|
|
- DATABASE_URL=postgresql://postgres:password@db/loomio_production
|
|
- REDIS_URL=redis://redis:6379
|
|
- TASK=worker
|
|
- DEVISE_SECRET=uuaYZNGgeKCMqGc5pPd3seNSrvKkVO9+pAu6JvrQI4M6T395m8dLJja5qza8HaHY
|
|
- SECRET_COOKIE_TOKEN=uuaYZNGgeKCMqGc5pPd3seNSrvKkVO9+pAu6JvrQI4M6T395m8dLJja5qza8HaHY
|
|
- RAILS_ENV=${RAILS_ENV}
|
|
volumes:
|
|
- loomio_uploads:/loomio/public/system
|
|
- loomio_storage:/loomio/storage
|
|
- loomio_files:/loomio/public/files
|
|
- loomio_plugins:/loomio/plugins/docker
|
|
deploy:
|
|
labels:
|
|
- coop-cloud.${STACK_NAME}.worker.version=v2.7.9-8007a47b
|
|
db:
|
|
image: postgres:12.7
|
|
networks:
|
|
- backend
|
|
volumes:
|
|
- pgdata:/pgdata
|
|
- pgdumps:/pgdumps
|
|
environment:
|
|
- POSTGRES_PASSWORD=password
|
|
- POSTGRES_DB=loomio_production
|
|
- PGDATA=/pgdata
|
|
deploy:
|
|
labels:
|
|
- coop-cloud.${STACK_NAME}.db.version=12.2-d96835c9
|
|
redis:
|
|
image: redis:5.0
|
|
networks:
|
|
- backend
|
|
deploy:
|
|
labels:
|
|
- coop-cloud.${STACK_NAME}.redis.version=5.0-3412d21e
|
|
#mailin:
|
|
# image: loomio/mailin-docker:latest
|
|
# networks:
|
|
# - proxy
|
|
# ports:
|
|
# - "25:25"
|
|
# environment:
|
|
# - WEBHOOK_URL=http://app:3000/email_processor/
|
|
channels:
|
|
image: loomio/loomio_channel_server
|
|
networks:
|
|
- backend
|
|
depends_on:
|
|
- redis
|
|
environment:
|
|
- REDIS_URL=redis://redis:6379
|
|
deploy:
|
|
labels:
|
|
- coop-cloud.${STACK_NAME}.channels.version=loomio/loomio_channel_server-0f331ad6
|
|
networks:
|
|
backend:
|
|
proxy:
|
|
external: true
|
|
volumes:
|
|
loomio_uploads:
|
|
loomio_storage:
|
|
loomio_files:
|
|
loomio_plugins:
|
|
loomio_import:
|
|
pgdata:
|
|
pgdumps:
|