From 76d8e6ad277551a56d4313fdb056cce45ba24ea8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Gdula?= Date: Thu, 4 May 2023 11:25:18 +0300 Subject: [PATCH] Caddy reverse proxy Flask --- Caddy/Caddyfile | 7 ++++--- Highscore-Server/Dockerfile | 10 +++++++--- Highscore-Server/highscore/server.py | 1 + docker-compose.yml | 21 +++++++++------------ 4 files changed, 21 insertions(+), 18 deletions(-) diff --git a/Caddy/Caddyfile b/Caddy/Caddyfile index b6296f6..3308e57 100644 --- a/Caddy/Caddyfile +++ b/Caddy/Caddyfile @@ -1,3 +1,4 @@ -expo.leggy.dev -reverse_proxy / highscores:5000 -#respond "Hello, World!" +expo.leggy.dev { + reverse_proxy highscore:8080 + encode gzip +} \ No newline at end of file diff --git a/Highscore-Server/Dockerfile b/Highscore-Server/Dockerfile index 5b2bdbd..21b2835 100644 --- a/Highscore-Server/Dockerfile +++ b/Highscore-Server/Dockerfile @@ -1,11 +1,15 @@ # syntax=docker/dockerfile:1 FROM python:3.10-alpine + +EXPOSE 8080 RUN apk add --no-cache gcc musl-dev linux-headers -COPY requirements.txt /data/requirements.txt WORKDIR /data + +COPY requirements.txt requirements.txt RUN pip install -r requirements.txt + RUN mkdir /highscore COPY /highscore /highscore WORKDIR /highscore -EXPOSE 5000 -CMD ["gunicorn", "-b", "localhost:5000", "server:app"] + +CMD ["gunicorn", "--bind", "highscore:8080", "server:app"] diff --git a/Highscore-Server/highscore/server.py b/Highscore-Server/highscore/server.py index 563f58f..989d5c3 100644 --- a/Highscore-Server/highscore/server.py +++ b/Highscore-Server/highscore/server.py @@ -3,6 +3,7 @@ from flask_migrate import init as migrate_init from extensions import db, migrate, cache from views import blueprint + app = Flask(__name__) app.config.from_pyfile('config.py') diff --git a/docker-compose.yml b/docker-compose.yml index ecb93fc..8991257 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,20 +1,17 @@ version: "3.9" services: caddy: - hostname: caddy - image: caddy:latest + image: caddy:alpine ports: - - "80:80" - - "443:443" + - 80:80 + - 443:443 volumes: - ./Caddy/Caddyfile:/etc/caddy/Caddyfile - ./Caddy/data:/data - ./Caddy/config:/config - environment: - - ACME_AGREE=true - - TZ=Europe/London - highscores: - hostname: highscores - build: ./Highscore-Server/ - ports: - - "5000:5000" \ No newline at end of file + links: + - highscore + highscore: + build: ./Highscore-Server + volumes: + - ./Highscore-Server/data:/data