Save database data

This commit is contained in:
Michał Gdula 2023-05-04 11:57:02 +03:00
parent 76d8e6ad27
commit dbd6a81c78
5 changed files with 23 additions and 10 deletions

3
.gitignore vendored
View file

@ -163,3 +163,6 @@ cython_debug/
# Remove dockerfile generated files # Remove dockerfile generated files
Caddy/data/ Caddy/data/
Caddy/config/ Caddy/config/
# Remove Highscore-Server generated files
Highscore-Server/data/

View file

@ -8,8 +8,7 @@ WORKDIR /data
COPY requirements.txt requirements.txt COPY requirements.txt requirements.txt
RUN pip install -r requirements.txt RUN pip install -r requirements.txt
RUN mkdir /highscore RUN mkdir /storage
COPY /highscore /highscore COPY /highscore/ .
WORKDIR /highscore
CMD ["gunicorn", "--bind", "highscore:8080", "server:app"] CMD ["gunicorn", "--bind", "highscore:8080", "server:app"]

View file

@ -2,3 +2,6 @@ SECRET_KEY = 'dev'
SQLALCHEMY_DATABASE_URI = 'sqlite:///db.sqlite' SQLALCHEMY_DATABASE_URI = 'sqlite:///db.sqlite'
SQLALCHEMY_TRACK_MODIFICATIONS = False SQLALCHEMY_TRACK_MODIFICATIONS = False
MIGRATION_DIR = '/data/storage/migrations'
INSTANCE_DIR = '/data/storage/instance'

View file

@ -1,18 +1,24 @@
import os
from flask import Flask from flask import Flask
from flask_migrate import init as migrate_init from flask_migrate import init as migrate_init
from extensions import db, migrate, cache from extensions import db, migrate, cache
from config import MIGRATION_DIR, INSTANCE_DIR
from views import blueprint from views import blueprint
app = Flask(__name__, instance_path=INSTANCE_DIR)
app = Flask(__name__)
app.config.from_pyfile('config.py') app.config.from_pyfile('config.py')
db.init_app(app) db.init_app(app)
migrate.init_app(app, db) migrate.init_app(app, db, directory=MIGRATION_DIR)
cache.init_app(app) cache.init_app(app)
with app.app_context(): if not os.path.exists(os.path.join(INSTANCE_DIR, 'db.sqlite')):
db.create_all() with app.app_context():
migrate_init() db.create_all()
if not os.path.exists(MIGRATION_DIR):
with app.app_context():
migrate_init(directory=MIGRATION_DIR)
app.register_blueprint(blueprint) app.register_blueprint(blueprint)

View file

@ -1,4 +1,5 @@
version: "3.9" version: "3.9"
services: services:
caddy: caddy:
image: caddy:alpine image: caddy:alpine
@ -11,7 +12,8 @@ services:
- ./Caddy/config:/config - ./Caddy/config:/config
links: links:
- highscore - highscore
highscore: highscore:
build: ./Highscore-Server build: ./Highscore-Server
volumes: volumes:
- ./Highscore-Server/data:/data - ./Highscore-Server/data:/data/storage