https://github.com/jaypyles/anirra
Anirra is a completely self-hosted anime watchlist, search, and recommendations app. It allows anime enthusiasts to manage their watchlists, discover new anime, and receive personalized recommendations, all from a single platform.
https://github.com/jaypyles/anirra
anime self-hosted watchlist
Last synced: 8 months ago
JSON representation
Anirra is a completely self-hosted anime watchlist, search, and recommendations app. It allows anime enthusiasts to manage their watchlists, discover new anime, and receive personalized recommendations, all from a single platform.
- Host: GitHub
- URL: https://github.com/jaypyles/anirra
- Owner: jaypyles
- License: mit
- Created: 2025-04-13T19:27:41.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-07-14T01:45:16.000Z (11 months ago)
- Last Synced: 2025-07-14T04:03:27.689Z (11 months ago)
- Topics: anime, self-hosted, watchlist
- Language: TypeScript
- Homepage:
- Size: 10.4 MB
- Stars: 64
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Anirra
Anirra is a completely self-hosted anime watchlist, search, and recommendations app. It allows anime enthusiasts to manage their watchlists, discover new anime, and receive personalized recommendations, all from a single platform.
## Features
- **Watchlist Management**: Keep track of the anime you plan to watch, are currently watching, or have completed.
- **Search Functionality**: Easily search for anime by title or tags.
- **Personalized Recommendations**: Get suggestions based on your watchlist and preferences.
- **Integration with Sonarr and Radarr**: Seamlessly add series and movies to your media server.
- **Convert your MAL list**: Upload your MAL XML file from [MAL XML Exporter](https://myanimelist.net/panel.php?go=export), and easily move to using Anirra.
- **Rate your Anime**: Easily rate your anime when you're done watching.
- **Export your watchlist**: Easily export your watchlist if you were to ever choose to leave Anirra.
## Screenshots
To give you a better idea of what Anirra looks like, here are some screenshots of the app in action:
### Main Page (Logged In)

### Anime Page

### Search Page

### Watchlist Page

### Sonarr Integration

### Radarr Integration

## Launching the App
To launch the app, use the `docker-compose.yml` file located in the root directory of the project. Ensure you have `make` and `docker` installed, then run the following command in your terminal:
```bash
make pull up
```
### Default User Credentials
The default user credentials are:
```
user: admin
password: admin
```
But if you would like to, you can create a new user with a more secure password.
## Configuration
There are a few set of environment variables you can use to customize the app (all are completely optional).
```
APP_LEVEL=(DEV || PROD) # defaults to PROD in the docker-compose.yml
DATABASE_URL=whatever you want here if you don't want to use the sqlite database that the app comes with
JSON_DATA_PATH=wherever the `anime_offline_database.json` is located, by default its at /data
JWT_SECRET=a secret used to encode the user jwt
API_URL=if you somehow got the api to run anywhere else
NEXTAUTH_SECRET=a secret used to encode the next jwt
```
### Sonarr and Radarr configuration
Setup the `config.yaml` at the root of the project:
```yaml
sonarr:
url: http://:
api_key: 123456
radarr:
url: http://:
api_key: 123456
```
## Example Docker Compose
```yaml
services:
anirra:
container_name: anirra
image: jpyles0524/anirra:latest
build:
context: .
dockerfile: Dockerfile
command: bash /start.sh
environment:
- APP_LEVEL=PROD
- NEXTAUTH_URL=
volumes:
- ./data:/project/data
- ./config.yaml:/project/config.yaml
ports:
- 3000:3000
- 8000:8000
```
## Coming Soon
- **Mobile Support**: Simplified UI for mobile viewing
- **Watchlist Rating**: Rate the anime and get better recommendations based off of what you like
- **Jellyfin Integration**: Automatically sync the anime you are watching on Jellyfin