build(deployment): use local backend and frontend build contexts

This commit is contained in:
2026-04-25 17:27:10 +03:30
parent d3f14aeb78
commit 8b6f25e068
4 changed files with 40 additions and 37 deletions

View File

@@ -2,29 +2,32 @@
This repository is the deployment layer only.
It does not contain application source copies. Docker builds read directly from the sibling repositories:
- `../qlockify-backend`
- `../qlockify-frontend`
Docker builds read from the local `./backend` and `./frontend` directories inside this repository.
Those directories are expected to contain the backend and frontend application source before you build for deployment.
## Local structure
The expected directory layout is:
The expected deployment layout is:
```text
Qlockify/
qlockify-backend/
qlockify-frontend/
qlockify-deployment/
backend/
frontend/
nginx/
postgres/
docker-compose.yml
```
## Deployment flow
1. Configure deployment env files:
1. Put your application source into:
- `./backend`
- `./frontend`
2. Configure deployment env files:
- `./.env`
- `./backend/.env`
- `./frontend/.env`
2. From `qlockify-deployment`, build and start the stack:
3. From `qlockify-deployment`, build and start the stack:
```powershell
docker compose up --build

View File

@@ -16,10 +16,10 @@ RUN apt-get update \
&& apt-get install -y gcc libpq-dev \
&& rm -rf /var/lib/apt/lists/*
COPY qlockify-backend/requirements/ /app/requirements/
COPY requirements/ /app/requirements/
RUN pip install --no-cache-dir -r requirements/base.txt \
&& pip install --no-cache-dir -r requirements/prod.txt
COPY qlockify-backend/ .
COPY . .
CMD ["gunicorn", "config.wsgi:application", "--bind", "0.0.0.0:8000"]

View File

@@ -26,8 +26,8 @@ services:
backend:
build:
context: ..
dockerfile: qlockify-deployment/backend/Dockerfile
context: ./backend
dockerfile: Dockerfile
restart: always
env_file:
- ./backend/.env
@@ -48,8 +48,8 @@ services:
celery:
build:
context: ..
dockerfile: qlockify-deployment/backend/Dockerfile
context: ./backend
dockerfile: Dockerfile
restart: always
env_file:
- ./backend/.env
@@ -66,8 +66,8 @@ services:
frontend:
build:
context: ..
dockerfile: qlockify-deployment/frontend/Dockerfile
context: ./frontend
dockerfile: Dockerfile
restart: always
env_file:
- ./frontend/.env

View File

@@ -4,10 +4,10 @@ WORKDIR /app
RUN npm config set registry https://package-mirror.liara.ir/repository/npm/ --global
COPY qlockify-frontend/package*.json ./
COPY package*.json ./
RUN npm install
COPY qlockify-frontend/ .
COPY . .
RUN npm run build
FROM nginx:alpine