mirror of
https://github.com/davestephens/ansible-nas
synced 2025-01-13 03:58:47 +00:00
77 lines
2.7 KiB
YAML
77 lines
2.7 KiB
YAML
---
|
|
- name: Start Firefly
|
|
block:
|
|
- name: Create Firefly III Directories
|
|
ansible.builtin.file:
|
|
path: "{{ item }}"
|
|
state: directory
|
|
with_items:
|
|
- "{{ firefly_data_directory }}/mariadb"
|
|
- "{{ firefly_data_directory }}/upload"
|
|
- "{{ firefly_data_directory }}/export"
|
|
|
|
- name: Create MySQL container for Firefly
|
|
community.docker.docker_container:
|
|
name: "{{ firefly_mysql_container_name }}"
|
|
image: mariadb:10.9
|
|
pull: true
|
|
volumes:
|
|
- "{{ firefly_data_directory }}/mariadb:/var/lib/mysql:rw"
|
|
env:
|
|
MYSQL_DATABASE: "firefly"
|
|
MYSQL_USER: "firefly"
|
|
MYSQL_PASSWORD: "firefly"
|
|
MYSQL_ROOT_PASSWORD: "firefly"
|
|
restart_policy: unless-stopped
|
|
memory: "{{ firefly_mysql_memory }}"
|
|
|
|
- name: Wait for MySQL to init
|
|
pause:
|
|
seconds: 30
|
|
|
|
- name: Create Firefly III container
|
|
community.docker.docker_container:
|
|
name: "{{ firefly_container_name }}"
|
|
image: fireflyiii/core:latest
|
|
pull: true
|
|
volumes:
|
|
- "{{ firefly_data_directory }}/export:/var/www/firefly-iii/storage/export:rw"
|
|
- "{{ firefly_data_directory }}/upload:/var/www/firefly-iii/storage/upload:rw"
|
|
links:
|
|
- firefly-mysql:db
|
|
ports:
|
|
- "{{ firefly_port }}:8080"
|
|
env:
|
|
APP_URL: "https://{{ firefly_hostname }}.{{ ansible_nas_domain }}"
|
|
TRUSTED_PROXIES: "**"
|
|
APP_ENV: "local"
|
|
APP_KEY: "S0m3R@nd0mString0f32Ch@rsEx@ct1y"
|
|
DB_CONNECTION: "mysql"
|
|
DB_HOST: "db"
|
|
DB_DATABASE: "firefly"
|
|
DB_USERNAME: "firefly"
|
|
DB_PASSWORD: "firefly"
|
|
TZ: "{{ ansible_nas_timezone }}"
|
|
restart_policy: unless-stopped
|
|
memory: "{{ firefly_memory }}"
|
|
labels:
|
|
traefik.enable: "{{ firefly_available_externally | string }}"
|
|
traefik.http.routers.firefly.rule: "Host(`{{ firefly_hostname }}.{{ ansible_nas_domain }}`)"
|
|
traefik.http.routers.firefly.tls.certresolver: "letsencrypt"
|
|
traefik.http.routers.firefly.tls.domains[0].main: "{{ ansible_nas_domain }}"
|
|
traefik.http.routers.firefly.tls.domains[0].sans: "*.{{ ansible_nas_domain }}"
|
|
traefik.http.services.firefly.loadbalancer.server.port: "8080"
|
|
when: firefly_enabled is true
|
|
|
|
- name: Stop Firefly
|
|
block:
|
|
- name: Stop Firefly
|
|
community.docker.docker_container:
|
|
name: "{{ firefly_container_name }}"
|
|
state: absent
|
|
|
|
- name: Stop Firefly MySQL
|
|
community.docker.docker_container:
|
|
name: "{{ firefly_mysql_container_name }}"
|
|
state: absent
|
|
when: firefly_enabled is false
|