You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
955 B
29 lines
955 B
7 years ago
|
# ladylilia.com
|
||
|
|
||
|
## Project structure
|
||
|
|
||
|
* `api` - Flask application implementing RESTful API for querying/manipulating database of quotes
|
||
|
* `cms` - Grav CMS (Content Management System)
|
||
|
* `ng-app` - Angular application for browsing quotes
|
||
|
* `nginx` - Configuration of NGINX web server
|
||
|
|
||
|
## Deployment
|
||
|
|
||
|
This project consists of 3 container images (`api`, `cms` and `nginx`), that depend on each other - they need to run simultaneously and share certain data between themselves.
|
||
|
|
||
|
Easiest way how to manage that is using `docker-compose`. Just copy `docker-compose.yaml.example` into `docker-compose.yaml`, make necessary adjustments and fire it all up with:
|
||
|
|
||
|
```BASH
|
||
|
docker-compose up -d
|
||
|
```
|
||
|
|
||
|
## API key generation
|
||
|
|
||
|
API key is needed for `POST`, `PUT` and `DELETE` API methods.
|
||
|
|
||
|
If the `api` container is running, the key can be generated like this:
|
||
|
|
||
|
```BASH
|
||
|
docker exec $API_CONTAINER_NAME python generate_api_key.py $USERNAME $EXPIRATION_TIME_IN_SECONDS
|
||
|
```
|