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