Files
HetznerDokployLab/projects/firefly/docker-compose.yml
jonas@geiger-natur.de ee3d2bfff3 firefly mariadb lts
2025-12-21 13:06:25 +01:00

63 lines
1.6 KiB
YAML

version: '3.8'
services:
firefly:
image: fireflyiii/core:latest
hostname: app
container_name: firefly_iii_core
restart: unless-stopped
volumes:
- firefly_iii_upload:/var/www/html/storage/upload
environment:
SITE_OWNER: ${SITE_OWNER}
DB_CONNECTION: ${DB_CONNECTION}
DB_HOST: ${DB_HOST}
DB_PORT: ${DB_PORT}
DB_DATABASE: ${DB_DATABASE}
DB_USERNAME: ${DB_USERNAME}
DB_PASSWORD: ${DB_PASSWORD}
STATIC_CRON_TOKEN: ${STATIC_CRON_TOKEN}
APP_ENV: ${APP_ENV}
APP_KEY: ${APP_KEY}
APP_URL: ${APP_URL}
TRUSTED_PROXIES: ${TRUSTED_PROXIES}
networks:
- dokploy-network
cron:
image: alpine:3.23.2
restart: unless-stopped
container_name: firefly_iii_cron
environment:
STATIC_CRON_TOKEN: ${STATIC_CRON_TOKEN}
command: sh -c "
apk add tzdata && \
(ln -s /usr/share/zoneinfo/$$TZ /etc/localtime || true) && \
echo \"0 3 * * * wget -qO- http://app:8080/api/v1/cron/$$STATIC_CRON_TOKEN;echo\"
| crontab - && \
crond -f -L /dev/stdout"
networks:
- dokploy-network
db:
image: mariadb:lts
hostname: db
container_name: firefly_iii_db
restart: unless-stopped
environment:
MYSQL_RANDOM_ROOT_PASSWORD: ${MYSQL_RANDOM_ROOT_PASSWORD}
MYSQL_USER: ${DB_USERNAME}
MYSQL_PASSWORD: ${DB_PASSWORD}
MYSQL_DATABASE: ${DB_DATABASE}
networks:
- dokploy-network
volumes:
- firefly_iii_db:/var/lib/mysql
volumes:
firefly_iii_upload:
firefly_iii_db:
networks:
dokploy-network:
external: true