build(deployment): use local backend and frontend build contexts
This commit is contained in:
25
README.md
25
README.md
@@ -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/
|
||||
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
|
||||
|
||||
@@ -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"]
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user