105 lines
4.0 KiB
YAML
105 lines
4.0 KiB
YAML
# {{ ansible_managed }}
|
|
|
|
services:
|
|
discourse:
|
|
image: {{ docker_discourse_image_version }}
|
|
restart: always
|
|
environment:
|
|
- DISCOURSE_HOST={{ docker_discourse_fqdn }}
|
|
- DISCOURSE_DATABASE_HOST=db
|
|
- DISCOURSE_DATABASE_PORT_NUMBER=5432
|
|
- DISCOURSE_DATABASE_NAME={{ docker_discourse_db_name }}
|
|
- DISCOURSE_DATABASE_USER={{ docker_discourse_db_user }}
|
|
- DISCOURSE_DATABASE_PASSWORD={{ docker_discourse_db_password }}
|
|
- DISCOURSE_REDIS_HOST=redis
|
|
- DISCOURSE_REDIS_PORT_NUMBER=6379
|
|
- DISCOURSE_USERNAME={{ docker_discourse_admin_user }}
|
|
- DISCOURSE_PASSWORD={{ docker_discourse_admin_password }}
|
|
- DISCOURSE_EMAIL={{ docker_discourse_admin_email }}
|
|
- DISCOURSE_FIRST_NAME={{ docker_discourse_admin_first_name }}
|
|
- DISCOURSE_LAST_NAME={{ docker_discourse_admin_last_name }}
|
|
- DISCOURSE_SMTP_HOST={{ docker_discourse_smtp_host }}
|
|
- DISCOURSE_SMTP_PORT={{ docker_discourse_smtp_port }}
|
|
- DISCOURSE_SMTP_USER={{ docker_discourse_smtp_user }}
|
|
- DISCOURSE_SMTP_PASSWORD={{ docker_discourse_smtp_password }}
|
|
- DISCOURSE_SMTP_PROTOCOL={{ docker_discourse_smtp_protocol }}
|
|
- DISCOURSE_SMTP_AUTH={{ docker_discourse_smtp_auth }}
|
|
- DISCOURSE_SMTP_OPEN_TIMEOUT={{ docker_discourse_smtp_open_timeout }}
|
|
- DISCOURSE_SMTP_READ_TIMEOUT={{ docker_discourse_smtp_read_timeout }}
|
|
volumes:
|
|
- {{ docker_discourse_data_dir }}/{{ docker_discourse_service_id }}/discourse-files:/bitnami/discourse
|
|
labels:
|
|
traefik.enable: "true"
|
|
traefik.docker.network: "traefik"
|
|
traefik.http.routers.{{ docker_discourse_service_id }}.entrypoints: "web"
|
|
traefik.http.routers.{{ docker_discourse_service_id }}.rule: "Host(`{{ docker_discourse_fqdn }}`)"
|
|
traefik.http.services.{{ docker_discourse_service_id }}.loadbalancer.server.port: "3000"
|
|
networks:
|
|
- traefik
|
|
- discourse
|
|
depends_on:
|
|
- db
|
|
- redis
|
|
|
|
db:
|
|
restart: always
|
|
image: postgres:16
|
|
shm_size: 256mb
|
|
networks:
|
|
- discourse
|
|
healthcheck:
|
|
test: ['CMD', 'pg_isready', '-U', 'postgres']
|
|
volumes:
|
|
- {{ docker_discourse_data_dir }}/{{ docker_discourse_service_id }}/db_data:/var/lib/postgresql/data
|
|
environment:
|
|
POSTGRES_DB: "{{ docker_discourse_db_name }}"
|
|
POSTGRES_USER: "{{ docker_discourse_db_user }}"
|
|
POSTGRES_PASSWORD: "{{ docker_discourse_db_password }}"
|
|
|
|
redis:
|
|
restart: always
|
|
image: redis:7-alpine
|
|
networks:
|
|
- discourse
|
|
healthcheck:
|
|
test: ['CMD', 'redis-cli', 'ping']
|
|
volumes:
|
|
- {{ docker_discourse_data_dir }}/{{ docker_discourse_service_id }}/redis_data:/data
|
|
|
|
sidekiq:
|
|
image: {{ docker_discourse_image_version }}
|
|
depends_on:
|
|
- db
|
|
- redis
|
|
- discourse
|
|
volumes:
|
|
- {{ docker_discourse_data_dir }}/{{ docker_discourse_service_id }}/discourse-files:/bitnami/discourse
|
|
command: /opt/bitnami/scripts/discourse-sidekiq/run.sh
|
|
environment:
|
|
- DISCOURSE_HOST={{ docker_discourse_fqdn }}
|
|
- DISCOURSE_DATABASE_HOST=db
|
|
- DISCOURSE_DATABASE_PORT_NUMBER=5432
|
|
- DISCOURSE_DATABASE_NAME={{ docker_discourse_db_name }}
|
|
- DISCOURSE_DATABASE_USER={{ docker_discourse_db_user }}
|
|
- DISCOURSE_DATABASE_PASSWORD={{ docker_discourse_db_password }}
|
|
- DISCOURSE_REDIS_HOST=redis
|
|
- DISCOURSE_REDIS_PORT_NUMBER=6379
|
|
- DISCOURSE_SMTP_HOST={{ docker_discourse_smtp_host }}
|
|
- DISCOURSE_SMTP_PORT={{ docker_discourse_smtp_port }}
|
|
- DISCOURSE_SMTP_USER={{ docker_discourse_smtp_user }}
|
|
- DISCOURSE_SMTP_PASSWORD={{ docker_discourse_smtp_password }}
|
|
- DISCOURSE_SMTP_PROTOCOL={{ docker_discourse_smtp_protocol }}
|
|
- DISCOURSE_SMTP_AUTH={{ docker_discourse_smtp_auth }}
|
|
- DISCOURSE_SMTP_OPEN_TIMEOUT={{ docker_discourse_smtp_open_timeout }}
|
|
- DISCOURSE_SMTP_READ_TIMEOUT={{ docker_discourse_smtp_read_timeout }}
|
|
networks:
|
|
- discourse
|
|
- traefik
|
|
|
|
|
|
networks:
|
|
traefik:
|
|
external: true
|
|
discourse:
|
|
internal: true
|