--- - 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"