pyinfra/services/firefly/docker-compose.yml
2024-04-15 13:05:56 +02:00

55 lines
1.4 KiB
YAML

networks:
traefik-net:
external: true
name: traefik-net
volumes:
firefly_upload:
firefly_db:
services:
firefly:
image: fireflyiii/core:latest
volumes:
- firefly_upload:/var/www/html/storage/upload
env_file: .env
networks:
- traefik-net
- default
depends_on:
- db
deploy:
labels:
- traefik.enable=true
- traefik.docker.network=traefik-net
- traefik.http.routers.firefly.rule=Host(`${HOST}`)
- traefik.http.routers.firefly.entrypoints=${ENTRYPOINTS:-websecure}
- traefik.http.routers.firefly.tls.certresolver=le
- traefik.http.services.firefly.loadbalancer.server.port=8080
db:
image: mariadb:lts
environment:
- MYSQL_PASSWORD=${DB_PASSWORD}
- MYSQL_DATABASE=${DB_DATABASE}
- MYSQL_USER=${DB_USERNAME}
- MYSQL_RANDOM_ROOT_PASSWORD=true
volumes:
- firefly_db:/var/lib/mysql
cron:
image: alpine
restart: always
command: sh -c "echo \"0 3 * * * wget -qO- http://firefly:8080/api/v1/cron/${STATIC_CRON_TOKEN}\" | crontab - && crond -f -L /dev/stdout"
# TODO: WIP
# importer:
# image: fireflyiii/data-importer:latest
# env_file:
# - .importer.env
# environment:
# - FIREFLY_III_URL=http://firefly
# - VANITY_URL=https://${HOST}
# depends_on:
# - firefly
# networks:
# - traefik-net
# - default