Files
infrastructure/ansible/roles/firefly3/templates/docker-compose.yml

67 lines
1.8 KiB
YAML

version: "{{ docker_compose_version }}"
networks:
firefly_iii:
driver: bridge
traefik:
external: true
services:
app:
image: fireflyiii/core:latest
container_name: firefly3
restart: unless-stopped
volumes:
- "{{ data_dir }}/firefly3/upload:/var/www/html/storage/upload"
depends_on:
- db
networks:
- traefik
- default
environment:
APP_ENV: local
APP_DEBUG: "false"
APP_KEY: "{{ app_key }}"
SITE_OWNER: {{ owner_email_address }}
DEFAULT_LANGUAGE: "en_US"
DEFAULT_LOCALE: equal
TZ: {{ timezone }}
TRUSTED_PROXIES: "*"
APP_LOG_LEVEL: notice
AUDIT_LOG_LEVEL: info
DB_CONNECTION: mysql
DB_HOST: db
DB_PORT: 3306
DB_DATABASE: firefly
DB_USERNAME: firefly
DB_PASSWORD: firefly
APP_URL: "https://firefly.local.{{ personal_domain }}"
STATIC_CRON_TOKEN: "Y5uNSbJoK4FKUC9gVE5hq8YFEbFmc6BK"
labels:
traefik.enable: true
traefik.http.routers.firefly.rule: "Host(`firefly.local.{{ personal_domain }}`)"
traefik.http.routers.firefly.middlewares: lan-whitelist@file
db:
image: mariadb
restart: always
volumes:
- "{{ data_dir }}/mariadb/firefly3:/var/lib/mysql"
environment:
MYSQL_RANDOM_ROOT_PASSWORD: "yes"
MYSQL_USER: firefly
MYSQL_PASSWORD: firefly
MYSQL_DATABASE: firefly
cron:
#
# To make this work, set STATIC_CRON_TOKEN in your .env file or as an environment variable and replace REPLACEME below
# The STATIC_CRON_TOKEN must be *exactly* 32 characters long
#
image: alpine
restart: always
container_name: firefly_iii_cron
command: sh -c "echo \"0 3 * * * wget -qO- http://app:8080/api/v1/cron/Y5uNSbJoK4FKUC9gVE5hq8YFEbFmc6BK\" | crontab - && crond -f -L /dev/stdout"
networks:
- firefly_iii
- default