mirror of
https://github.com/i701/sarlink-portal-api.git
synced 2025-04-19 23:46:53 +00:00
All checks were successful
Build and Push Docker Images / Build and Push Docker Images (push) Successful in 2m44s
50 lines
1.4 KiB
Markdown
50 lines
1.4 KiB
Markdown
# sarlink-portal-api
|
|
API for SARLink portal in Django Rest Framework.
|
|
|
|
|
|
|
|
## Deployment steps
|
|
1. clone the repo `git clone git@github.com:i701/sarlink-portal-api.git`
|
|
2. Create virtual enviroment `virtualenv venv` and activate it `source venv/bin/activate`
|
|
3. Install requirements `pip install -r requirements.txt`
|
|
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."}`
|
|
|