When I enable TLS for firefly iii the page isnt rendered or doesnt load properly. Filling in the login detail and clicking the login button doesnt do anything.
However, using HTTP works fine on port 80, commenting out
- "traefik.http.routers.app.tls=true"
- "traefik.http.routers.app.tls.certresolver=myresolver"
and changing
- "traefik.http.routers.app.entrypoints=websecure"
to
- "traefik.http.routers.app.entrypoints=web"
443 enabled looks like this:
standard HTTP on port 80 looks like this (which is correct):
This is the full docker-compose.yml for firefly iii
services:
app:
image: fireflyiii/core:latest
hostname: app
container_name: firefly_iii_core
restart: always
volumes:
- firefly_iii_upload:/var/www/html/storage/upload
env_file: .env
networks:
# - firefly_iii
- traefik
ports:
- 8081:8080
depends_on:
- db
labels:
- "traefik.enable=true"
- "traefik.http.routers.app.rule=Host(`firefly.local`)"
- "traefik.http.routers.app.tls=true"
- "traefik.http.routers.app.entrypoints=websecure"
- "traefik.http.routers.app.tls.certresolver=myresolver"
- "traefik.http.services.app.loadbalancer.server.port=8080"
db:
image: mariadb:lts
hostname: db
container_name: firefly_iii_db
restart: always
env_file: .db.env
networks:
# - firefly_iii
- traefik
volumes:
- firefly_iii_db:/var/lib/mysql
cron:
#
# To make this work, set STATIC_CRON_TOKEN in your .env file or as an environment variable and replace REPLACEME below
# The STATIC_CRON_TOKEN must be *exactly* 32 characters long
#
image: alpine
restart: always
container_name: firefly_iii_cron
command: sh -c "echo \"0 3 * * * wget -qO- http://app:8080/api/v1/cron/mZBvMauJS5JMlV7VJpa4znDXdLeSlIpH\" | crontab - && crond -f -L /dev/stdout"
networks:
# - firefly_iii
- traefik
volumes:
firefly_iii_upload:
firefly_iii_db:
networks:
#firefly_iii:
# driver: bridge
traefik:
external: true
This is my traefik docker-compose
services:
reverse-proxy:
# The official v2 Traefik docker image
image: traefik:v3.1
# Enables the web UI and tells Traefik to listen to docker
# command: --api.insecure=true --providers.docker
command: --configFile=/etc/traefik/traefik.yml
# - "--api.insecure=true"
# - "--configFile=/etc/traefik/traefik.yml"
# - "--providers.docker=true"
# - "--providers.docker.exposedbydefault=false"
# - "--entryPoints.web.address=:80"
ports:
# The HTTP port
- "80:80"
# The Web UI (enabled by --api.insecure=true)
- "8080:8080"
# SSL port
- "443:443"
volumes:
# So that Traefik can listen to the Docker events
- /var/run/docker.sock:/var/run/docker.sock
- ./traefik.yml:/etc/traefik/traefik.yml
- ./acme.json:/acme.json
networks:
- traefik
networks:
traefik:
external: true