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.
48 lines
2.2 KiB
48 lines
2.2 KiB
# ladylilia.com
|
|
|
|
## Project structure
|
|
|
|
* `apps/gifted-subs` - Angular application for browsing gifted subs
|
|
* `apps/merchandise` - Angular application for browsing merchandise
|
|
* `apps/quotes` - Angular application for browsing quotes
|
|
* `apps/regular-subs` - Angular application for browsing regular subs
|
|
* `apps/schedule` - Angular application for viewing livestream schedule
|
|
* `apps/twitch-logs` - Angular application for browsing Twitch chat logs
|
|
* `cms` - Grav CMS (Content Management System)
|
|
* `nginx` - Configuration of NGINX web server
|
|
* `instagram-api` - Flask application implementing RESTful API for querying Instagram profiles
|
|
* `quotes-api` - Flask application implementing RESTful API for querying/manipulating the database of quotes
|
|
* `teespring-api` - Flask application implementing RESTful API for querying Teespring merchandise stores
|
|
* `twitch-cache-api` - Flask application implementing RESTful API for querying the Twitch cache
|
|
* `twitch-subs-api` - Flask application implementing RESTful API for querying the database of Twitch subscriptions
|
|
* `twitch-webhooks` - Flask application managing Twitch webhooks subscriptions and implementing RESTful API for callbacks
|
|
* `twitch-events` - Websockets server broadcasting Twitch events (retrieved using webhooks)
|
|
|
|
## Deployment
|
|
|
|
This project consists of 7 container images (`instagram-api` `quotes-api`, `teespring-api`, `twitch-cache-api`, `twitch-subs-api`, `cms` and `nginx`), that depend on each other - they need to run simultaneously and share certain data between themselves.
|
|
|
|
Best way to manage that is with `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
|
|
```
|
|
|
|
## Quotes API key generation
|
|
|
|
Quotes API key is needed for `POST`, `PUT` and `DELETE` API methods.
|
|
|
|
If the `quotes-api` container is running, then the key can be generated like this:
|
|
|
|
```BASH
|
|
docker exec $QUOTES_API_CONTAINER_NAME python generate_api_key.py $USERNAME $EXPIRATION_TIME_IN_SECONDS
|
|
```
|
|
|
|
## Twitch subs API key generation
|
|
|
|
Same as above, just replace `quotes-api` with `twitch-subs-api`.
|
|
|
|
## Twitch events key generation
|
|
|
|
Same as above, just replace `twitch-subs-api` with `twitch-events`.
|