mirror of
https://github.com/FuzzyGrim/Yamtrack.git
synced 2026-03-03 02:37:02 +00:00
d4b9ba050ccc893d0aa8494c923236344bca4428
Yamtrack
Yamtrack is a self hosted simple media tracker. You can track movies, tv shows, anime and manga.
It uses The Movie Database and MyAnimeList APIs to fetch media information.
Features
- Track movies, tv shows, anime and manga
- Track each season of a tv show individually and episodes watched
- Save score, status, progress, start and end dates, or write a note.
- Docker support
- Multi-users support
- Import from MyAnimeList, The Movie Database and AniList
Installing with Docker
Copy the default docker-compose.yml file from the repository and set the environment variables. This would use a SQlite database, which is enough for most use cases.
To start the containers run:
docker-compose up -d
Alternatively, if you need a PostgreSQL database, you can use the docker-compose.postgres.yml file.
Environment variables
| Name | Type | Description | Required | Default | Notes |
|---|---|---|---|---|---|
| YAMTRACK_TMDB_API | String | The Movie Database API key | Yes | None | Required for movies and tv shows |
| YAMTRACK_MAL_API | String | MyAnimeList API key | Yes | None | Required for anime and manga |
| YAMTRACK_SECRET | String | Django secret key | Recommended | "secret" | SECRET_KEY |
| YAMTRACK_ALLOWED_HOSTS | List | Base IP / Domain | No | "*" | ALLOWED_HOSTS |
| YAMTRACK_REGISTRATION | Bool | User registration | No | True | |
| YAMTRACK_DEBUG | Bool | Django debug mode | No | False | |
| PUID | Int | User ID | No | 1000 | |
| PGID | Int | Group ID | No | 1000 | |
| TZ | String | Timezone | No | UTC | |
| WEB_CONCURRENCY | Int | Number of worker processes | No | 1 | (2 x num cores) + 1 recommended |
Environment variables for PostgreSQL
| Name | Type | Description | Required | Default | Notes |
|---|---|---|---|---|---|
| YAMTRACK_DB_HOST | String | Database host | No | None | When not set, sqlite is used |
| YAMTRACK_DB_PORT | Int | Database port | No | 5432 | |
| YAMTRACK_DB_NAME | String | Database name | No | "yamtrack" | |
| YAMTRACK_DB_USER | String | Database user | No | "yamtrack" | |
| YAMTRACK_DB_PASSWORD | String | Database password | No | "yamtrack" |
Local development
Clone the repository and change directory to it.
git clone https://github.com/FuzzyGrim/Yamtrack.git
cd Yamtrack
Create a .env file in the root directory and add the following variables.
TMDB_API=API_KEY
MAL_API=API_KEY
SECRET=SECRET
DEBUG=True
Then run the following commands.
python -m pip install -U -r requirements_dev.txt
cd src
python src/manage.py migrate
python src/manage.py runserver
Go to: http://localhost:8000
Languages
Python
76.4%
HTML
16.8%
CSS
5%
JavaScript
1.7%