From 90a06b6a334051950d52d48ec627246e82dfca6a Mon Sep 17 00:00:00 2001 From: Kevin Grossmann Date: Tue, 5 Jan 2021 09:03:25 +0100 Subject: [PATCH 1/5] Using --build option instead of extra build cmd, removed -d --- dev/scripts/docker-compose.dev.sh | 2 +- dev/scripts/docker-compose.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dev/scripts/docker-compose.dev.sh b/dev/scripts/docker-compose.dev.sh index 3a4741345c0e..485e52f6661a 100755 --- a/dev/scripts/docker-compose.dev.sh +++ b/dev/scripts/docker-compose.dev.sh @@ -1 +1 @@ -docker-compose -f docker-compose.dev.yml build && docker-compose -f docker-compose.dev.yml -p dev-mealie up -d \ No newline at end of file +docker-compose -f docker-compose.dev.yml -p dev-mealie up --build \ No newline at end of file diff --git a/dev/scripts/docker-compose.sh b/dev/scripts/docker-compose.sh index 3336c7bc5227..e2fd9edcd926 100755 --- a/dev/scripts/docker-compose.sh +++ b/dev/scripts/docker-compose.sh @@ -1 +1 @@ -docker-compose build && docker-compose -p mealie up -d \ No newline at end of file +docker-compose -p mealie up --build \ No newline at end of file From cc1fdb64196f5376998b3dfb3ad482f6ccd32c65 Mon Sep 17 00:00:00 2001 From: Kevin Grossmann Date: Tue, 5 Jan 2021 13:16:13 +0100 Subject: [PATCH 2/5] Fixed dockerfiles for DEV environment --- Dockerfile.dev | 2 +- frontend/frontend.Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile.dev b/Dockerfile.dev index 7e55d60080cd..725d6e3fdd10 100644 --- a/Dockerfile.dev +++ b/Dockerfile.dev @@ -11,7 +11,7 @@ WORKDIR /app RUN pip install -r requirements.txt -# COPY ./mealie /app +COPY ./mealie /app ENTRYPOINT [ "python" ] diff --git a/frontend/frontend.Dockerfile b/frontend/frontend.Dockerfile index 2cdab5876dc9..92f6eed1b673 100644 --- a/frontend/frontend.Dockerfile +++ b/frontend/frontend.Dockerfile @@ -13,7 +13,7 @@ COPY package*.json ./ RUN npm install # copy project files and folders to the current working directory (i.e. 'app' folder) -# COPY . . +COPY . . # build app for production with minification # RUN npm run build From 76aac242cb5091d387783b74e55b0f5cc4c6a5de Mon Sep 17 00:00:00 2001 From: Kevin Grossmann Date: Tue, 5 Jan 2021 13:17:14 +0100 Subject: [PATCH 3/5] More consistent names, added env var for frontend --- docker-compose.dev.yml | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml index d9b9d4879f48..72b5f9a8415f 100644 --- a/docker-compose.dev.yml +++ b/docker-compose.dev.yml @@ -2,23 +2,26 @@ version: "3.1" services: # Vue Frontend - mealie: + mealie-frontend: + image: mealie-frontend:dev build: context: ./frontend dockerfile: frontend.Dockerfile - container_name: mealie_frontend restart: always ports: - 9920:8080 + environment: + VUE_APP_API_BASE_URL: "http://mealie-api:9000" volumes: - - ./frontend:/app + - ./frontend/:/app + - /app/node_modules # Fast API mealie-api: + image: mealie-api:dev build: context: ./ dockerfile: Dockerfile.dev - container_name: mealie-api restart: always ports: - 9921:9000 From 75bef08c7c9224f0b5f78c015dff95e54aa0e82f Mon Sep 17 00:00:00 2001 From: Kevin Grossmann Date: Tue, 5 Jan 2021 14:14:55 +0100 Subject: [PATCH 4/5] Mount Vue Frontend only in production --- Dockerfile | 2 ++ mealie/app.py | 7 +++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index c79a16c3a8ba..e98a95f734c2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -21,4 +21,6 @@ COPY ./mealie /app COPY ./mealie/data/templates/recipes.md /app/data/templates/ COPY --from=build-stage /app/dist /app/dist +ENV ENV prod + CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "9000"] \ No newline at end of file diff --git a/mealie/app.py b/mealie/app.py index 66034519e4cf..0893c0eac2f1 100644 --- a/mealie/app.py +++ b/mealie/app.py @@ -1,4 +1,5 @@ from pathlib import Path +import os import uvicorn from fastapi import FastAPI @@ -24,8 +25,10 @@ WEB_PATH = CWD.joinpath("dist") app = FastAPI() -# Mount Vue Frontend -app.mount("/static", StaticFiles(directory=WEB_PATH, html=True)) +# Mount Vue Frontend only in production +env = os.environ.get("ENV") +if(env == "prod"): + app.mount("/static", StaticFiles(directory=WEB_PATH, html=True)) # API Routes app.include_router(recipe_routes.router) From 9552d0b8b049366ea5e7169428fab1e169b3359c Mon Sep 17 00:00:00 2001 From: Kevin Grossmann Date: Tue, 5 Jan 2021 19:00:05 +0100 Subject: [PATCH 5/5] Added to changelog --- dev/dev-notes.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/dev/dev-notes.md b/dev/dev-notes.md index 86d47ce2104a..eced010a5e1b 100644 --- a/dev/dev-notes.md +++ b/dev/dev-notes.md @@ -48,6 +48,8 @@ General - Added Debug folder to dump scraper data prior to processing. - Improved documentation - Added version tag / relevant links, and new version notifier +- Fixed hot-reloading development environment - [grssmnn][https://github.com/grssmnn] + Recipes - Added user feedback on bad URL.