ansible-nas/roles/miniflux/tasks/main.yml
2021-02-21 19:50:07 +00:00

45 lines
1.5 KiB
YAML

---
- name: Create Miniflux Directories
file:
path: "{{ item }}"
state: directory
with_items:
- "{{ miniflux_data_directory }}/postgres"
- name: Create Postgres for Miniflux
docker_container:
name: miniflux-postgres
image: postgres:11.1
pull: true
volumes:
- "{{ miniflux_data_directory }}/postgres:/var/lib/postgresql/data:rw"
env:
POSTGRES_USER: "miniflux"
POSTGRES_PASSWORD: "supersecure"
restart_policy: unless-stopped
memory: 1g
- name: Create Miniflux Docker Container
docker_container:
name: miniflux
image: miniflux/miniflux:latest
pull: true
links:
- miniflux-postgres:db
ports:
- "{{ miniflux_port }}:8080"
env:
DATABASE_URL: "postgres://miniflux:supersecure@db/miniflux?sslmode=disable"
RUN_MIGRATIONS: "1"
CREATE_ADMIN: "1"
ADMIN_USERNAME: "{{ miniflux_admin_username }}"
ADMIN_PASSWORD: "{{ miniflux_admin_password }}"
restart_policy: unless-stopped
memory: "{{ miniflux_memory }}"
labels:
traefik.enable: "{{ miniflux_available_externally }}"
traefik.http.routers.miniflux.rule: "Host(`{{ miniflux_hostname }}.{{ ansible_nas_domain }}`)"
traefik.http.routers.miniflux.tls.certresolver: "letsencrypt"
traefik.http.routers.miniflux.tls.domains[0].main: "{{ ansible_nas_domain }}"
traefik.http.routers.miniflux.tls.domains[0].sans: "*.{{ ansible_nas_domain }}"
traefik.http.services.miniflux.loadbalancer.server.port: "8080"