diff --git a/Caddy/Caddyfile b/Caddy/Caddyfile index c9d35e1..b6296f6 100644 --- a/Caddy/Caddyfile +++ b/Caddy/Caddyfile @@ -1,13 +1,3 @@ - -# Highscore Server -expo.leggy.dev:443 { - reverse_proxy localhost:5000 - file_server -} \ No newline at end of file +expo.leggy.dev +reverse_proxy / highscores:5000 +#respond "Hello, World!" diff --git a/Highscore-Server/Dockerfile b/Highscore-Server/Dockerfile index ba9ff18..5b2bdbd 100644 --- a/Highscore-Server/Dockerfile +++ b/Highscore-Server/Dockerfile @@ -1,8 +1,11 @@ # syntax=docker/dockerfile:1 -FROM python:3.10 -WORKDIR /app -COPY requirements.txt requirements.txt +FROM python:3.10-alpine +RUN apk add --no-cache gcc musl-dev linux-headers +COPY requirements.txt /data/requirements.txt +WORKDIR /data RUN pip install -r requirements.txt +RUN mkdir /highscore +COPY /highscore /highscore +WORKDIR /highscore EXPOSE 5000 -COPY server server -CMD ["flask", "run", "--port=5000", "--host=localhost"] \ No newline at end of file +CMD ["gunicorn", "-b", "localhost:5000", "server:app"] diff --git a/Highscore-Server/server/config.py b/Highscore-Server/highscore/config.py similarity index 100% rename from Highscore-Server/server/config.py rename to Highscore-Server/highscore/config.py diff --git a/Highscore-Server/server/extensions.py b/Highscore-Server/highscore/extensions.py similarity index 100% rename from Highscore-Server/server/extensions.py rename to Highscore-Server/highscore/extensions.py diff --git a/Highscore-Server/server/models.py b/Highscore-Server/highscore/models.py similarity index 96% rename from Highscore-Server/server/models.py rename to Highscore-Server/highscore/models.py index 3268166..e2d35d4 100644 --- a/Highscore-Server/server/models.py +++ b/Highscore-Server/highscore/models.py @@ -1,7 +1,7 @@ """ Database models for the server """ -from server.extensions import db +from extensions import db class Scores(db.Model): diff --git a/Highscore-Server/server/__init__.py b/Highscore-Server/highscore/server.py similarity index 50% rename from Highscore-Server/server/__init__.py rename to Highscore-Server/highscore/server.py index 1e3624b..563f58f 100644 --- a/Highscore-Server/server/__init__.py +++ b/Highscore-Server/highscore/server.py @@ -1,6 +1,7 @@ from flask import Flask -from server.extensions import db, migrate, cache -from server.views import blueprint +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') @@ -9,6 +10,8 @@ db.init_app(app) migrate.init_app(app, db) cache.init_app(app) -db.create_all(app=app) +with app.app_context(): + db.create_all() + migrate_init() app.register_blueprint(blueprint) diff --git a/Highscore-Server/server/views.py b/Highscore-Server/highscore/views.py similarity index 97% rename from Highscore-Server/server/views.py rename to Highscore-Server/highscore/views.py index ff91141..3bc22ba 100644 --- a/Highscore-Server/server/views.py +++ b/Highscore-Server/highscore/views.py @@ -3,8 +3,8 @@ from flask_wtf import FlaskForm from wtforms import StringField, IntegerField from wtforms.validators import DataRequired -from server.models import Scores, Users -from server.extensions import db, cache +from models import Scores, Users +from extensions import db, cache blueprint = Blueprint('views', __name__) diff --git a/Highscore-Server/requirements.txt b/Highscore-Server/requirements.txt index 88a6a65..1af1c0d 100644 --- a/Highscore-Server/requirements.txt +++ b/Highscore-Server/requirements.txt @@ -3,3 +3,4 @@ Flask-SQLAlchemy Flask-Migrate Flask-Caching Flask-wtf +Gunicorn diff --git a/docker-compose.yml b/docker-compose.yml index 6ac5303..ecb93fc 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,14 +1,8 @@ -version: "3.8" - +version: "3.9" services: - highscores: - build: ./Highscore-Server/ - # restart: unless-stopped - ports: - - "5000:5000" caddy: + hostname: caddy image: caddy:latest - # restart: unless-stopped ports: - "80:80" - "443:443" @@ -18,4 +12,9 @@ services: - ./Caddy/config:/config environment: - ACME_AGREE=true - - TZ=Europe/London \ No newline at end of file + - TZ=Europe/London + highscores: + hostname: highscores + build: ./Highscore-Server/ + ports: + - "5000:5000" \ No newline at end of file