docs: Clarify reproduction steps again
parent
3d93b7f355
commit
fb050214b9
68
README.md
68
README.md
|
@ -1,6 +1,6 @@
|
||||||
# availabili.tf
|
# availabili.tf
|
||||||
|
|
||||||
Scheduling for TF2
|
Schedule and availability system for Team Fortress 2 teams.
|
||||||
|
|
||||||
## Tech Stack
|
## Tech Stack
|
||||||
|
|
||||||
|
@ -13,11 +13,47 @@ Scheduling for TF2
|
||||||
OpenAPI documentation
|
OpenAPI documentation
|
||||||
- [Flask-Migrate](https://flask-migrate.readthedocs.io/en/latest/)
|
- [Flask-Migrate](https://flask-migrate.readthedocs.io/en/latest/)
|
||||||
(Alembic) for database migrations
|
(Alembic) for database migrations
|
||||||
- [Celery](https://docs.celeryproject.org/en/stable/) for async tasks
|
- [Celery](https://docs.celeryproject.org/en/stable/) for async and
|
||||||
|
scheduled tasks
|
||||||
- [Redis](https://redis.io/) for Celery broker
|
- [Redis](https://redis.io/) for Celery broker
|
||||||
- **Database:** [PostgreSQL 17.1](https://www.postgresql.org/docs/17/index.html)
|
- **Database:** [PostgreSQL 17.1](https://www.postgresql.org/docs/17/index.html)
|
||||||
(production) / SQLite (development)
|
(production) / SQLite (development)
|
||||||
|
|
||||||
|
## Setup (production, Postgres)
|
||||||
|
|
||||||
|
Build the frontend app, assuming Node.js is installed:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
cd availabili.tf
|
||||||
|
npm install
|
||||||
|
npm run build
|
||||||
|
cd ..
|
||||||
|
```
|
||||||
|
|
||||||
|
Build the rest of the containers:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
docker compose -f docker-compose.prod.yml build
|
||||||
|
docker compose -f docker-compose.prod.yml up db backend
|
||||||
|
```
|
||||||
|
|
||||||
|
Perform initial database migration. This is for automatically setting up the
|
||||||
|
database schema for the first time:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
docker exec -it backend bash
|
||||||
|
flask db upgrade
|
||||||
|
exit
|
||||||
|
```
|
||||||
|
|
||||||
|
Bring up the rest of the containers:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
docker compose -f docker-compose.prod.yml up
|
||||||
|
```
|
||||||
|
|
||||||
|
The app will run at port 8000 and the database will be available at port 5432.
|
||||||
|
|
||||||
## Setup (development, SQLite3)
|
## Setup (development, SQLite3)
|
||||||
|
|
||||||
Build the frontend app:
|
Build the frontend app:
|
||||||
|
@ -36,31 +72,7 @@ docker compose up
|
||||||
DATABASE_URI=sqlite:///db.sqlite3 flask db upgrade
|
DATABASE_URI=sqlite:///db.sqlite3 flask db upgrade
|
||||||
```
|
```
|
||||||
|
|
||||||
App will run at port 8000.
|
The app will run at port 8000.
|
||||||
|
|
||||||
## Setup (production, Postgres)
|
|
||||||
|
|
||||||
Build the frontend app:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
cd availabili.tf
|
|
||||||
npm install
|
|
||||||
npm run build
|
|
||||||
```
|
|
||||||
|
|
||||||
Build the rest of the containers:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
docker compose -f docker-compose.prod.yml build
|
|
||||||
docker compose -f docker-compose.prod.yml up
|
|
||||||
```
|
|
||||||
|
|
||||||
Perform initial database migration:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
docker exec -it backend bash
|
|
||||||
flask db upgrade
|
|
||||||
```
|
|
||||||
|
|
||||||
## OpenAPI
|
## OpenAPI
|
||||||
|
|
||||||
|
@ -68,7 +80,7 @@ The backend will automatically serve its OpenAPI-compliant spec at
|
||||||
`/apidoc/openapi.json` which can also be viewed at `/apidoc/redoc` or
|
`/apidoc/openapi.json` which can also be viewed at `/apidoc/redoc` or
|
||||||
`/apidoc/swagger` or `/apidoc/scalar`.
|
`/apidoc/swagger` or `/apidoc/scalar`.
|
||||||
|
|
||||||
To generate the frontend client:
|
To regenerate the frontend client during development:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
npm run openapi-generate
|
npm run openapi-generate
|
||||||
|
|
|
@ -14,7 +14,6 @@ services:
|
||||||
POSTGRES_DB: availabilitf
|
POSTGRES_DB: availabilitf
|
||||||
volumes:
|
volumes:
|
||||||
- db-data:/var/lib/postgres/data
|
- db-data:/var/lib/postgres/data
|
||||||
- /var/log/postgres/logs:/var/lib/postgres/logs
|
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
command: ["postgres", "-c", "logging_collector=on", "-c", "log_directory=/var/lib/postgresql/logs", "-c", "log_filename=postgresql.log", "-c", "log_statement=all"]
|
command: ["postgres", "-c", "logging_collector=on", "-c", "log_directory=/var/lib/postgresql/logs", "-c", "log_filename=postgresql.log", "-c", "log_statement=all"]
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue