docker deployment docs
All checks were successful
Build and Push Docker Images / Build and Push Docker Images (push) Successful in 2m3s

This commit is contained in:
Shihaam Abdul Rahman 2025-03-15 00:21:05 +05:00
parent af83f94b84
commit b93d51c494
Signed by: shihaam
GPG Key ID: 6DA2E87EBC227636

View File

@ -10,3 +10,40 @@ API for SARLink portal in Django Rest Framework.
4. Copy .env.example to .env and fill in the configs `cp .env.example .env`
5. generate static `python manage.py collectstatic`
6. Run Migrations `python manage.py migrate`
## deployement with Docker
1. Create `compose.yml`
```yaml
services:
portal-api:
hostname: portal-api
image: git.shihaam.dev/sarlink/sarlink-portal-api/api
env_file: .env.api
nginx:
hostname: portal-api-nginx
image: git.shihaam.dev/sarlink/sarlink-portal-api/nginx
volumes_from:
- portal-api
ports:
- 4000:80
depends_on:
- portal-api
portal-db:
image: postgres:14
restart: always
hostname: portal-db
volumes:
- ./database:/var/lib/postgresql/data
env_file: .env.db
```
2. Start services: `docker compose up -d`
3. Run Migrations: `docker compose exec portal-api python manage.py migrate`
4. Test api with curl:
```bash
curl -X POST http://localhost:4000/api/auth/login/ \
-H "Content-Type: application/json" \
-d '{"username":"admin", "password":"soemthign"}'
```
expected response: `{"message":"Unable to log in with provided credentials."}`