131 lines
4.1 KiB
YAML
131 lines
4.1 KiB
YAML
# koopa-decidim — Decidim behind host Caddy on :9027
|
|
# Docs: https://docs.decidim.org/en/develop/install/
|
|
# Image: official pre-generated app (core modules only). No secrets in this file.
|
|
|
|
x-logging: &default-logging
|
|
driver: "json-file"
|
|
options:
|
|
max-size: "50m"
|
|
max-file: "4"
|
|
|
|
x-app-env: &app-env
|
|
RAILS_ENV: production
|
|
RAILS_SERVE_STATIC_FILES: "true"
|
|
RAILS_LOG_TO_STDOUT: "true"
|
|
DATABASE_URL: postgres://decidim:${POSTGRES_PASSWORD}@postgres:5432/decidim
|
|
REDIS_URL: redis://redis:6379/0
|
|
SECRET_KEY_BASE: ${SECRET_KEY_BASE}
|
|
DECIDIM_APPLICATION_NAME: ${DECIDIM_APPLICATION_NAME:-hacktivism}
|
|
DECIDIM_MAILER_SENDER: ${DECIDIM_MAILER_SENDER:-noreply@hacktivism.ch}
|
|
DECIDIM_AVAILABLE_LOCALES: ${DECIDIM_AVAILABLE_LOCALES:-en,de,fr}
|
|
DECIDIM_DEFAULT_LOCALE: ${DECIDIM_DEFAULT_LOCALE:-en}
|
|
SMTP_ADDRESS: ${SMTP_ADDRESS:-127.0.0.1}
|
|
SMTP_DOMAIN: ${SMTP_DOMAIN:-hacktivism.ch}
|
|
SMTP_USERNAME: ${SMTP_USERNAME:-unused}
|
|
SMTP_PASSWORD: ${SMTP_PASSWORD:-unused}
|
|
SMTP_PORT: ${SMTP_PORT:-25}
|
|
SMTP_AUTHENTICATION: ${SMTP_AUTHENTICATION:-plain}
|
|
QUEUE_ADAPTER: ${QUEUE_ADAPTER:-sidekiq}
|
|
|
|
services:
|
|
decidim:
|
|
image: docker.io/decidim/decidim:0.30.8
|
|
container_name: koopa-decidim
|
|
hostname: decidim
|
|
ports:
|
|
- "9027:3000"
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
<<: *app-env
|
|
volumes:
|
|
- ./entrypoint.sh:/usr/local/bin/koopa-decidim-entrypoint.sh:ro
|
|
- ./theme/hacktivism.rb:/code/config/initializers/hacktivism.rb:ro
|
|
- ./theme/hacktivism.css:/code/public/hacktivism.css:ro
|
|
- ./bootstrap.rb:/code/lib/koopa_bootstrap.rb:ro
|
|
- ./assets/img/logo.svg:/code/public/hacktivism-logo.svg:ro
|
|
- ./assets/img/favicon.svg:/code/public/hacktivism-favicon.svg:ro
|
|
- decidim-storage:/code/storage
|
|
- decidim-uploads:/code/public/uploads
|
|
- decidim-tmp:/code/tmp
|
|
entrypoint: ["/bin/bash", "/usr/local/bin/koopa-decidim-entrypoint.sh"]
|
|
command: ["bundle", "exec", "rails", "s", "-b", "0.0.0.0", "-p", "3000"]
|
|
restart: unless-stopped
|
|
logging: *default-logging
|
|
depends_on:
|
|
postgres:
|
|
condition: service_healthy
|
|
redis:
|
|
condition: service_started
|
|
labels:
|
|
org.hacktivism.service: decidim
|
|
org.hacktivism.host_port: "9027"
|
|
org.hacktivism.site: decidim.hacktivism.ch
|
|
org.hacktivism.managed_by: koopa-admin
|
|
|
|
sidekiq:
|
|
image: docker.io/decidim/decidim:0.30.8
|
|
container_name: koopa-decidim-sidekiq
|
|
hostname: sidekiq
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
<<: *app-env
|
|
volumes:
|
|
- ./entrypoint.sh:/usr/local/bin/koopa-decidim-entrypoint.sh:ro
|
|
- ./theme/hacktivism.rb:/code/config/initializers/hacktivism.rb:ro
|
|
- decidim-storage:/code/storage
|
|
- decidim-uploads:/code/public/uploads
|
|
- decidim-tmp:/code/tmp
|
|
entrypoint: ["/bin/bash", "/usr/local/bin/koopa-decidim-entrypoint.sh"]
|
|
command: ["bundle", "exec", "sidekiq", "-C", "config/sidekiq.yml"]
|
|
restart: unless-stopped
|
|
logging: *default-logging
|
|
depends_on:
|
|
postgres:
|
|
condition: service_healthy
|
|
redis:
|
|
condition: service_started
|
|
labels:
|
|
org.hacktivism.service: decidim
|
|
org.hacktivism.managed_by: koopa-admin
|
|
|
|
postgres:
|
|
image: docker.io/library/postgres:16-alpine
|
|
container_name: koopa-decidim-db
|
|
hostname: postgres
|
|
environment:
|
|
- POSTGRES_USER=decidim
|
|
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
|
|
- POSTGRES_DB=decidim
|
|
volumes:
|
|
- decidim-db:/var/lib/postgresql/data
|
|
restart: unless-stopped
|
|
logging: *default-logging
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U decidim -d decidim"]
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 12
|
|
labels:
|
|
org.hacktivism.service: decidim
|
|
org.hacktivism.managed_by: koopa-admin
|
|
|
|
redis:
|
|
image: docker.io/library/redis:7-alpine
|
|
container_name: koopa-decidim-redis
|
|
hostname: redis
|
|
volumes:
|
|
- decidim-redis:/data
|
|
restart: unless-stopped
|
|
logging: *default-logging
|
|
labels:
|
|
org.hacktivism.service: decidim
|
|
org.hacktivism.managed_by: koopa-admin
|
|
|
|
volumes:
|
|
decidim-db:
|
|
decidim-redis:
|
|
decidim-storage:
|
|
decidim-uploads:
|
|
decidim-tmp:
|