diff --git a/Caddyfile b/Caddyfile old mode 100644 new mode 100755 index 96eba80..1c7f9cd --- a/Caddyfile +++ b/Caddyfile @@ -9,7 +9,7 @@ # Automatic HTTPS (Caddy handles Let's Encrypt automatically) # Reverse proxy to Flask app - reverse_proxy digiserver:5000 { + reverse_proxy digiserver-app:5000 { header_up Host {host} header_up X-Real-IP {remote_host} header_up X-Forwarded-For {remote_host} @@ -44,7 +44,7 @@ # Handle IP address access without automatic HTTPS http://192.168.0.206 { # Reverse proxy to Flask app - reverse_proxy digiserver:5000 { + reverse_proxy digiserver-app:5000 { # Headers header_up Host {host} header_up X-Real-IP {remote_host} diff --git a/docker-compose.http.yml b/docker-compose.http.yml new file mode 100644 index 0000000..797cfc2 --- /dev/null +++ b/docker-compose.http.yml @@ -0,0 +1,27 @@ +version: '3.8' + +services: + digiserver: + build: . + container_name: digiserver-v2-http + ports: + - "80:5000" # Direct HTTP exposure on port 80 + volumes: + - ./instance:/app/instance + - ./app/static/uploads:/app/app/static/uploads + environment: + - FLASK_ENV=production + - SECRET_KEY=${SECRET_KEY:-your-secret-key-change-this} + - ADMIN_USERNAME=${ADMIN_USERNAME:-admin} + - ADMIN_PASSWORD=${ADMIN_PASSWORD:-admin123} + restart: unless-stopped + healthcheck: + test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:5000/').read()"] + interval: 30s + timeout: 10s + retries: 3 + start_period: 40s + +# Usage: docker-compose -f docker-compose.http.yml up -d +# Access at: http://localhost or http://your-server-ip +# Note: This is for development/testing only. Use docker-compose.yml for production HTTPS. diff --git a/docker-compose.yml b/docker-compose.yml old mode 100644 new mode 100755 index 997369b..2305c5d --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,12 +1,12 @@ #version: '3.8' services: - digiserver: + digiserver-app: build: . container_name: digiserver-v2 # Don't expose directly; use Caddy reverse proxy instead - ports: - - "5000" # Internal only, accessed via Caddy + expose: + - "5000" volumes: - ./instance:/app/instance - ./app/static/uploads:/app/app/static/uploads @@ -41,7 +41,8 @@ services: - DOMAIN=${DOMAIN:-localhost} - EMAIL=${EMAIL:-admin@localhost} depends_on: - - digiserver + digiserver-app: + condition: service_started restart: unless-stopped networks: - digiserver-network