rebuild dockerfile and startup.py

This commit is contained in:
Hayden 2021-01-01 22:33:19 -09:00
parent 67fc88aaff
commit 10199d71a5
4 changed files with 52 additions and 7 deletions

View File

@ -5,7 +5,7 @@ RUN npm install
COPY ./frontend/ . COPY ./frontend/ .
RUN npm run build RUN npm run build
FROM python:3 FROM tiangolo/uvicorn-gunicorn-fastapi:python3.8
RUN apt-get update -y && \ RUN apt-get update -y && \
apt-get install -y python-pip python-dev apt-get install -y python-pip python-dev
@ -21,6 +21,4 @@ COPY ./mealie /app
COPY --from=build-stage /app/dist /app/dist COPY --from=build-stage /app/dist /app/dist
ENTRYPOINT [ "python" ] CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "9000"]
# TODO Reconfigure Command to start a Gunicorn Server that managed the Uvicorn Server. Also Learn how to do that :-/
CMD [ "app.py" ]

View File

@ -4,6 +4,7 @@ import uvicorn
from fastapi import FastAPI from fastapi import FastAPI
from fastapi.staticfiles import StaticFiles from fastapi.staticfiles import StaticFiles
import startup
from routes import ( from routes import (
backup_routes, backup_routes,
meal_routes, meal_routes,
@ -42,6 +43,9 @@ def invalid_api():
app.include_router(static_routes.router) app.include_router(static_routes.router)
startup.ensure_dirs()
startup.generate_default_theme()
if __name__ == "__main__": if __name__ == "__main__":
logger.info("-----SYSTEM STARTUP-----") logger.info("-----SYSTEM STARTUP-----")

View File

@ -1,12 +1,15 @@
import json import json
from typing import List, Optional from typing import List, Optional
from db.settings_models import (SiteSettingsDocument, SiteThemeDocument, from db.settings_models import (
ThemeColorsDocument, WebhooksDocument) SiteSettingsDocument,
SiteThemeDocument,
ThemeColorsDocument,
WebhooksDocument,
)
from pydantic import BaseModel from pydantic import BaseModel
class Webhooks(BaseModel): class Webhooks(BaseModel):
webhookTime: str webhookTime: str
webhookURLs: Optional[List[str]] webhookURLs: Optional[List[str]]

40
mealie/startup.py Normal file
View File

@ -0,0 +1,40 @@
from pathlib import Path
from services.settings_services import Colors, SiteTheme
from utils.logger import logger
CWD = Path(__file__).parent
DATA_DIR = CWD.joinpath("data")
TEMP_DIR = CWD.joinpath("data", "temp")
def ensure_dirs():
DATA_DIR.mkdir(parents=True, exist_ok=True)
DATA_DIR.joinpath("img").mkdir(parents=True, exist_ok=True)
DATA_DIR.joinpath("backups").mkdir(parents=True, exist_ok=True)
DATA_DIR.joinpath("templates").mkdir(parents=True, exist_ok=True)
def generate_default_theme():
default_colors = {
"primary": "#E58325",
"accent": "#00457A",
"secondary": "#973542",
"success": "#5AB1BB",
"info": "#FFFD99",
"warning": "#FF4081",
"error": "#EF5350",
}
try:
SiteTheme.get_by_name("default")
return "default theme exists"
except:
logger.info("Generating Default Theme")
colors = Colors(**default_colors)
default_theme = SiteTheme(name="default", colors=colors)
default_theme.save_to_db()
if __name__ == "__main__":
pass