Files
templates/blueprints/firefly-iii/docker-compose.yml
2026-07-07 13:19:17 -06:00

66 lines
1.7 KiB
YAML

version: "3.8"
services:
firefly-iii:
image: fireflyiii/core:version-6.6.3
restart: unless-stopped
depends_on:
firefly-iii-db:
condition: service_healthy
environment:
APP_KEY: ${APP_KEY}
APP_URL: ${APP_URL}
TRUSTED_PROXIES: "**"
TZ: ${TZ}
SITE_OWNER: ${SITE_OWNER}
DEFAULT_LANGUAGE: ${DEFAULT_LANGUAGE}
DEFAULT_LOCALE: ${DEFAULT_LOCALE}
DB_CONNECTION: mysql
DB_HOST: firefly-iii-db
DB_PORT: 3306
DB_DATABASE: ${DB_DATABASE}
DB_USERNAME: ${DB_USERNAME}
DB_PASSWORD: ${DB_PASSWORD}
STATIC_CRON_TOKEN: ${STATIC_CRON_TOKEN}
expose:
- "8080"
volumes:
- firefly-iii-upload:/var/www/html/storage/upload
firefly-iii-db:
image: mariadb:11.8
restart: unless-stopped
environment:
MYSQL_DATABASE: ${DB_DATABASE}
MYSQL_USER: ${DB_USERNAME}
MYSQL_PASSWORD: ${DB_PASSWORD}
MYSQL_RANDOM_ROOT_PASSWORD: "yes"
volumes:
- firefly-iii-db:/var/lib/mysql
healthcheck:
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
interval: 10s
timeout: 5s
retries: 5
firefly-iii-cron:
image: alpine:3.22
restart: unless-stopped
depends_on:
- firefly-iii
environment:
TZ: ${TZ}
STATIC_CRON_TOKEN: ${STATIC_CRON_TOKEN}
command:
- sh
- -c
- |
apk add --no-cache tzdata wget && \
(ln -snf /usr/share/zoneinfo/$$TZ /etc/localtime || true) && \
echo "0 3 * * * wget -qO- http://firefly-iii:8080/api/v1/cron/$$STATIC_CRON_TOKEN; echo" | crontab - && \
crond -f -L /dev/stdout
volumes:
firefly-iii-upload: {}
firefly-iii-db: {}