ansible-nas/tasks/firefly.yml
2021-01-19 23:51:59 +00:00

59 lines
1.8 KiB
YAML

- name: Create Firefly III Directories
file:
path: "{{ item }}"
state: directory
with_items:
- "{{ firefly_data_directory }}/postgresql"
- "{{ firefly_data_directory }}/mysql"
- "{{ firefly_data_directory }}/upload"
- "{{ firefly_data_directory }}/export"
- name: Create MySQL container for Firefly
docker_container:
name: firefly-mysql
image: mysql:5.7
pull: true
volumes:
- "{{ firefly_data_directory }}/mysql:/var/lib/mysql:rw"
env:
MYSQL_DATABASE: "firefly"
MYSQL_USER: "firefly"
MYSQL_PASSWORD: "firefly"
MYSQL_ROOT_PASSWORD: "firefly"
restart_policy: unless-stopped
memory: 1g
- name: Wait for MySQL to init
pause:
seconds: 30
- name: Create Firefly III container
docker_container:
name: firefly
image: jc5x/firefly-iii: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_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: 1g
labels:
traefik.enable: "{{ firefly_available_externally }}"
traefik.http.routers.firefly.rule: "Host(`firefly.{{ 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"