ansible-nas/roles/firefly/tasks/main.yml

63 lines
1.9 KiB
YAML
Raw Normal View History

2021-02-06 11:21:23 +00:00
---
2019-05-02 18:40:49 +00:00
- name: Create Firefly III Directories
file:
path: "{{ item }}"
state: directory
2021-02-06 11:21:23 +00:00
# mode: 0755
2019-05-02 18:40:49 +00:00
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:
2019-07-03 22:00:56 +00:00
MYSQL_DATABASE: "firefly"
MYSQL_USER: "firefly"
MYSQL_PASSWORD: "firefly"
MYSQL_ROOT_PASSWORD: "firefly"
2019-05-02 18:40:49 +00:00
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
2021-02-06 11:21:23 +00:00
network_mode: "bridge"
2019-05-02 18:40:49 +00:00
ports:
- "{{ firefly_port }}:8080"
2019-05-02 18:40:49 +00:00
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"
2019-05-02 18:40:49 +00:00
TZ: "{{ ansible_nas_timezone }}"
restart_policy: unless-stopped
2021-02-06 11:21:23 +00:00
memory: "{{ firefly_memory }}"
2019-05-02 18:40:49 +00:00
labels:
traefik.enable: "{{ firefly_available_externally }}"
2021-02-06 11:21:23 +00:00
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"