ansible/roles/docker/tasks/services/listmonk.yml

63 lines
1.7 KiB
YAML

- name: create listmonk volume folders
file:
name: "{{ listmonk.volume_folder }}/{{ volume }}"
state: directory
loop:
- "postgres_data"
loop_control:
loop_var: volume
- name: Copy listmonk config file
template:
src: files/configs/listmonk/config.toml.j2
dest: "{{ listmonk.volume_folder }}/config.toml"
- name: set up listmonk
docker_compose:
project_name: listmonk
pull: yes
definition:
version: "3.7"
services:
db:
image: postgres:13
networks:
- listmonk
environment:
- "POSTGRES_PASSWORD={{ postgres_passwords.listmonk }}"
restart: unless-stopped
healthcheck:
test: ["CMD-SHELL", "pg_isready -U listmonk"]
interval: 10s
timeout: 5s
retries: 6
volumes:
- "{{ listmonk.volume_folder }}/postgres_data:/var/lib/postgresql/data"
app:
restart: unless-stopped
image: listmonk/listmonk:v2.1.0
ports:
- "9000:9000"
networks:
- listmonk
- external_services
depends_on:
- db
volumes:
- "{{ listmonk.volume_folder }}/config.toml:/listmonk/config.toml"
environment:
TZ: Europe/Copenhagen
VIRTUAL_HOST: "{{ listmonk.domain }}"
VIRTUAL_PORT: "9000"
LETSENCRYPT_HOST: "{{ listmonk.domain }}"
LETSENCRYPT_EMAIL: "{{ letsencrypt_email }}"
networks:
external_services:
external: true
# postfix:
# external: true
listmonk:
internal: true