ansible-nas/roles/firefly/tasks/main.yml
2021-02-06 02:21:23 -09:00

62 lines
1.9 KiB
YAML

---
- name: Create Firefly III Directories
file:
path: "{{ item }}"
state: directory
# mode: 0755
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
network_mode: "bridge"
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: "{{ firefly_memory }}"
labels:
traefik.enable: "{{ firefly_available_externally }}"
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"