Files
HetznerDokployLab/projects/firefly/docker-compose.yml
T

70 lines
1.8 KiB
YAML

services:
firefly:
image: fireflyiii/core:version-6.6.2
deploy:
resources:
limits:
cpus: "1.0"
memory: 1.5G
hostname: app
container_name: firefly_iii_core
restart: unless-stopped
volumes:
- type: bind
source: /opt/media/storagebox/firefly/upload
target: /var/www/html/storage/upload
bind:
propagation: rslave
create_host_path: false
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.24.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:13.0
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}
volumes:
- firefly_iii_db:/var/lib/mysql
networks:
- dokploy-network
volumes:
firefly_iii_db:
networks:
dokploy-network:
external: true