add local development docs page

This commit is contained in:
FuzzyGrim
2026-05-15 12:40:11 +02:00
parent a158d5b1b1
commit b67eb6fec0
3 changed files with 95 additions and 45 deletions

93
docs/local-development.md Normal file
View File

@@ -0,0 +1,93 @@
# Local Development
This page covers working on Yamtrack from source.
## Prerequisites
- Python 3.12
- Docker
- Redis
## 1. Clone the repository
```bash
git clone https://github.com/FuzzyGrim/Yamtrack.git
cd Yamtrack
```
## 2. Start Redis
If you do not already have Redis running locally, start it with Docker:
```bash
docker run -d --name redis -p 6379:6379 --restart unless-stopped redis:8-alpine
```
## 3. Create a virtual environment
```bash
python -m venv venv
venv/bin/python -m pip install -U -r requirements-dev.txt
venv/bin/pre-commit install
```
## 4. Configure environment values
Create a `.env` file in the repository root:
```bash
TMDB_API=API_KEY
MAL_API=API_KEY
IGDB_ID=IGDB_ID
IGDB_SECRET=IGDB_SECRET
STEAM_API_KEY=STEAM_API_SECRET
BGG_API_TOKEN=BGG_API_TOKEN
SECRET=SECRET
DEBUG=True
```
See [Environment Variables](env-variables.md) for the full list of supported settings.
## 5. Prepare the database
```bash
cd src
../venv/bin/python manage.py migrate
```
## 6. Run the app
Run the Django development server:
```bash
cd src
../venv/bin/python manage.py runserver
```
Run the Celery worker with the scheduler in another terminal:
```bash
cd src
../venv/bin/celery -A config worker --beat --scheduler django --loglevel DEBUG
```
Run Tailwind in another terminal:
```bash
cd src
../venv/bin/tailwindcss -i ./static/css/input.css -o ./static/css/tailwind.css --watch
```
Open the development server at:
```text
http://localhost:8000
```
## Documentation
Install the docs dependencies with the development requirements, then serve the current checkout:
```bash
venv/bin/mkdocs serve --livereload
```

View File

@@ -1,6 +1,6 @@
# Setup
This page covers running Yamtrack with Docker and setting up a local development environment.
This page covers running Yamtrack with Docker.
## Docker
@@ -85,50 +85,6 @@ services:
If you see `403 Forbidden` behind a proxy, check that `URLS` exactly matches the public URL you use in the browser.
## Local Development
For development, clone the repository and change directory to it:
```bash
git clone https://github.com/FuzzyGrim/Yamtrack.git
cd Yamtrack
```
Install Redis or start a Redis container:
```bash
docker run -d --name redis -p 6379:6379 --restart unless-stopped redis:8-alpine
```
Create a `.env` file in the repository root:
```bash
TMDB_API=API_KEY
MAL_API=API_KEY
IGDB_ID=IGDB_ID
IGDB_SECRET=IGDB_SECRET
STEAM_API_KEY=STEAM_API_SECRET
BGG_API_TOKEN=BGG_API_TOKEN
SECRET=SECRET
DEBUG=True
```
Then install dependencies and run the app:
```bash
python -m pip install -U -r requirements-dev.txt
pre-commit install
cd src
python manage.py migrate
python manage.py runserver & celery -A config worker --beat --scheduler django --loglevel DEBUG & tailwindcss -i ./static/css/input.css -o ./static/css/tailwind.css --watch
```
Open the development server at:
```text
http://localhost:8000
```
## Troubleshooting
Check the Yamtrack container logs:

View File

@@ -11,6 +11,7 @@ edit_uri: edit/dev/docs/
nav:
- Home: index.md
- Setup: setup.md
- Local Development: local-development.md
- Environment Variables: env-variables.md
- Media Imports: media-imports.md
- Social Auth: social-auth.md