93 lines
3.1 KiB
YAML
93 lines
3.1 KiB
YAML
version: "3.9"
|
|
|
|
services:
|
|
firefly-iii:
|
|
image: fireflyiii/core:version-6
|
|
container_name: firefly-iii
|
|
restart: unless-stopped
|
|
volumes:
|
|
- ${APP_DATA_DIR}/data/uplodad:/var/www/html/storage/upload
|
|
ports:
|
|
- ${APP_PORT}:8080
|
|
depends_on:
|
|
- firefly-iii-db
|
|
environment:
|
|
- APP_ENV=local
|
|
- APP_DEBUG=false
|
|
- SITE_OWNER=${EMAIL}
|
|
- APP_KEY=${APP_KEY}
|
|
- STATIC_CRON_TOKEN=${STATIC_CRON_TOKEN}
|
|
- TZ=${TZ}
|
|
- TRUSTED_PROXIES=**
|
|
|
|
# Database
|
|
- DB_CONNECTION=mysql
|
|
- DB_HOST=firefly-iii-db
|
|
- DB_PORT=3306
|
|
- DB_DATABASE=firefly
|
|
- DB_USERNAME=firefly
|
|
- DB_PASSWORD=${MYSQL_PASSWORD}
|
|
|
|
# Cookie settings
|
|
- COOKIE_PATH="/"
|
|
- COOKIE_DOMAIN=
|
|
- COOKIE_SECURE=false
|
|
- COOKIE_SAMESITE=lax
|
|
|
|
- APP_NAME=FireflyIII
|
|
- BROADCAST_DRIVER=log
|
|
- QUEUE_DRIVER=sync
|
|
- CACHE_PREFIX=firefly
|
|
- IS_HEROKU=false
|
|
- FIREFLY_III_LAYOUT=v1
|
|
- APP_URL=http://localhost:${APP_PORT}
|
|
networks:
|
|
- tipi_main_network
|
|
labels:
|
|
# Main
|
|
traefik.enable: true
|
|
traefik.http.middlewares.firefly-iii-web-redirect.redirectscheme.scheme: https
|
|
traefik.http.services.firefly-iii.loadbalancer.server.port: 8080
|
|
# Web
|
|
traefik.http.routers.firefly-iii-insecure.rule: Host(`${APP_DOMAIN}`)
|
|
traefik.http.routers.firefly-iii-insecure.entrypoints: web
|
|
traefik.http.routers.firefly-iii-insecure.service: firefly-iii
|
|
traefik.http.routers.firefly-iii-insecure.middlewares: firefly-iii-web-redirect
|
|
# Websecure
|
|
traefik.http.routers.firefly-iii.rule: Host(`${APP_DOMAIN}`)
|
|
traefik.http.routers.firefly-iii.entrypoints: websecure
|
|
traefik.http.routers.firefly-iii.service: firefly-iii
|
|
traefik.http.routers.firefly-iii.tls.certresolver: myresolver
|
|
# Local domain
|
|
traefik.http.routers.firefly-iii-local-insecure.rule: Host(`firefly-iii.${LOCAL_DOMAIN}`)
|
|
traefik.http.routers.firefly-iii-local-insecure.entrypoints: web
|
|
traefik.http.routers.firefly-iii-local-insecure.service: firefly-iii
|
|
traefik.http.routers.firefly-iii-local-insecure.middlewares: firefly-iii-web-redirect
|
|
# Local domain secure
|
|
traefik.http.routers.firefly-iii-local.rule: Host(`firefly-iii.${LOCAL_DOMAIN}`)
|
|
traefik.http.routers.firefly-iii-local.entrypoints: websecure
|
|
traefik.http.routers.firefly-iii-local.service: firefly-iii
|
|
traefik.http.routers.firefly-iii-local.tls: true
|
|
|
|
firefly-iii-db:
|
|
container_name: firefly-iii-db
|
|
image: mariadb
|
|
hostname: fireflyiii-db
|
|
restart: unless-stopped
|
|
environment:
|
|
- MYSQL_RANDOM_ROOT_PASSWORD=yes
|
|
- MYSQL_USER=firefly
|
|
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
|
|
- MYSQL_DATABASE=firefly
|
|
volumes:
|
|
- ${APP_DATA_DIR}/data/db:/var/lib/mysql
|
|
networks:
|
|
- tipi_main_network
|
|
|
|
firefly-iii-cron:
|
|
container_name: firefly-iii-cron
|
|
image: alpine
|
|
command: sh -c "echo \"0 3 * * * wget -qO- http://${APP_DOMAIN}/api/v1/cron/${STATIC_CRON_TOKEN}\" | crontab - && crond -f -L /dev/stdout"
|
|
networks:
|
|
- tipi_main_network
|