commit 1e7ad4ce61c97fc767f5316ad20db20438b9a97f Author: Dejan R. Date: Sat Nov 29 18:05:26 2025 +0000 added first commit diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..cf9015e --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,67 @@ +version: "3.8" + +services: + db: + image: mariadb:10.11 + restart: unless-stopped + environment: + # --- CHANGE THESE SECRETS --- + MYSQL_ROOT_PASSWORD: your_very_strong_root_password + MYSQL_DATABASE: filerun + MYSQL_USER: filerun + MYSQL_PASSWORD: your_very_strong_filerun_password + # ---------------------------- + volumes: + # Maps the 'db_data' folder on your host machine to the MariaDB data directory. + - ./db_data:/var/lib/mysql + networks: + - internal + + filerun: + # Assuming this is the correct image for your architecture. + 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 + # --- CHANGE THIS SECRET --- + FR_DB_PASS: your_very_strong_filerun_password + # -------------------------- + APACHE_RUN_USER: www-data + APACHE_RUN_GROUP: www-data + volumes: + # Maps the 'filerun_html' folder on your host machine for the application files. + - ./filerun_html:/var/www/html + # Maps the 'user_data' folder on your host machine for actual user files. + - ./user_data:/user-files + networks: + - internal + - traefik_default # Connect to your existing Traefik network + depends_on: + - db + labels: + - "traefik.enable=true" + + # HTTP → HTTPS redirect + - "traefik.http.routers.filerun-http.entrypoints=web" + - "traefik.http.routers.filerun-http.rule=Host(`filerun.rozic-dev.com`)" + - "traefik.http.routers.filerun-http.middlewares=redirect-to-https" + - "traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https" + + # HTTPS router + - "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" + - "traefik.http.routers.filerun-https.priority=100" # Optional: higher priority + + # Service definition + - "traefik.http.services.filerun.loadbalancer.server.port=80" + +networks: + internal: + driver: bridge + traefik_default: + external: true # This connects to your existing Traefik network \ No newline at end of file