2025-11-29 18:05:26 +00:00
|
|
|
services:
|
|
|
|
|
db:
|
|
|
|
|
image: mariadb:10.11
|
|
|
|
|
restart: unless-stopped
|
|
|
|
|
environment:
|
2025-11-30 12:24:14 +00:00
|
|
|
MYSQL_ROOT_PASSWORD: SuperSecretRoot123!
|
2025-11-29 18:05:26 +00:00
|
|
|
MYSQL_DATABASE: filerun
|
|
|
|
|
MYSQL_USER: filerun
|
2025-11-30 12:24:14 +00:00
|
|
|
MYSQL_PASSWORD: SuperSecretFileRun456!
|
2025-11-29 18:05:26 +00:00
|
|
|
volumes:
|
|
|
|
|
- ./db_data:/var/lib/mysql
|
|
|
|
|
networks:
|
|
|
|
|
- internal
|
|
|
|
|
|
2025-11-30 13:54:08 +00:00
|
|
|
filerun:
|
2025-11-29 18:05:26 +00:00
|
|
|
image: filerun/filerun:8.1.arm64v8
|
|
|
|
|
restart: unless-stopped
|
|
|
|
|
environment:
|
|
|
|
|
FR_DB_HOST: db
|
|
|
|
|
FR_DB_PORT: 3306
|
|
|
|
|
FR_DB_NAME: filerun
|
|
|
|
|
FR_DB_USER: filerun
|
2025-11-30 12:24:14 +00:00
|
|
|
FR_DB_PASS: SuperSecretFileRun456!
|
2025-11-30 13:54:08 +00:00
|
|
|
|
2025-11-29 18:05:26 +00:00
|
|
|
APACHE_RUN_USER: www-data
|
2025-11-30 13:54:08 +00:00
|
|
|
APACHE_RUN_USER_ID: 33
|
2025-11-29 18:05:26 +00:00
|
|
|
APACHE_RUN_GROUP: www-data
|
2025-11-30 13:54:08 +00:00
|
|
|
APACHE_RUN_GROUP_ID: 33
|
|
|
|
|
|
|
|
|
|
# Critical: enable proxy support in FileRun!
|
|
|
|
|
FR_USE_PROXY: "true"
|
|
|
|
|
|
2025-11-29 18:05:26 +00:00
|
|
|
volumes:
|
|
|
|
|
- ./filerun_html:/var/www/html
|
2025-11-29 18:11:46 +00:00
|
|
|
- ./user_data:/user-files
|
2025-11-29 18:05:26 +00:00
|
|
|
networks:
|
|
|
|
|
- internal
|
2025-11-30 12:24:14 +00:00
|
|
|
- traefik_default
|
2025-11-29 18:05:26 +00:00
|
|
|
depends_on:
|
|
|
|
|
- db
|
2025-11-30 13:54:08 +00:00
|
|
|
|
2025-11-29 18:05:26 +00:00
|
|
|
labels:
|
|
|
|
|
- "traefik.enable=true"
|
2025-11-30 13:54:08 +00:00
|
|
|
- "traefik.docker.network=traefik_default"
|
|
|
|
|
|
|
|
|
|
# Create redirect middleware to HTTPS
|
|
|
|
|
- "traefik.http.middlewares.filerun-redirect.redirectscheme.scheme=https"
|
|
|
|
|
- "traefik.http.middlewares.filerun-redirect.redirectscheme.permanent=true"
|
|
|
|
|
|
|
|
|
|
# FileRun headers (required behind proxy)
|
|
|
|
|
- "traefik.http.middlewares.filerun-headers.headers.customrequestheaders.X-Forwarded-Proto=https"
|
|
|
|
|
- "traefik.http.middlewares.filerun-headers.headers.customrequestheaders.X-Forwarded-Host=filerun.rozic-dev.com"
|
|
|
|
|
|
|
|
|
|
# HTTP Router → redirect to HTTPS
|
2025-11-29 18:05:26 +00:00
|
|
|
- "traefik.http.routers.filerun-http.entrypoints=web"
|
|
|
|
|
- "traefik.http.routers.filerun-http.rule=Host(`filerun.rozic-dev.com`)"
|
2025-11-30 13:54:08 +00:00
|
|
|
- "traefik.http.routers.filerun-http.middlewares=filerun-redirect@docker"
|
|
|
|
|
|
|
|
|
|
# HTTPS Router
|
2025-11-29 18:05:26 +00:00
|
|
|
- "traefik.http.routers.filerun-https.entrypoints=websecure"
|
|
|
|
|
- "traefik.http.routers.filerun-https.rule=Host(`filerun.rozic-dev.com`)"
|
|
|
|
|
- "traefik.http.routers.filerun-https.tls=true"
|
|
|
|
|
- "traefik.http.routers.filerun-https.tls.certresolver=letsencrypt"
|
2025-11-30 13:54:08 +00:00
|
|
|
- "traefik.http.routers.filerun-https.middlewares=filerun-headers@docker"
|
|
|
|
|
|
|
|
|
|
# Backend service
|
2025-11-29 18:05:26 +00:00
|
|
|
- "traefik.http.services.filerun.loadbalancer.server.port=80"
|
|
|
|
|
|
|
|
|
|
networks:
|
|
|
|
|
internal:
|
|
|
|
|
driver: bridge
|
|
|
|
|
traefik_default:
|
2025-11-30 13:54:08 +00:00
|
|
|
external: true
|