Self-hosted automatic torrents indexer for seasonal anime
I am aware that the quality of the code is not the best and the implementation of the backend can improve a lot.
I wanted to learn Node.js + React so I could use it for future projects. Some time ago, I dreamed about creating my own anime website but had little knowledge about web technologies. Finally, I decided to make it happen and here is my try.
I would appreciate any feedback you want to give me. Please use the Issues tab.
For any of these installation methods, the UI is available at http://127.0.0.1:4000.
If you have a good processor to host this app, you should try this method. If not, try the node.js method.
-
Install Docker and the Docker compose plugin.
-
Create a directory called
luffy
and create adocker-compose.yml
file like this:
version: "3"
services:
luffy:
image: ghcr.io/davnpsh/luffy:experimental
ports:
- "4000:4000"
environment:
# Your TheMovieDB api key:
- TMDB_API_KEY=
# Map this volume if you want to control the data about episodes
# inside the container
volumes:
- ./episodes:/usr/src/luffy/public
- Inside that folder, run:
docker compose up -d
If you want to build the image by yourself, follow these steps:
-
Install Docker.
-
Clone this repository:
git clone https://github.com/davnpsh/luffy.git
- Inside the project directory build the image (replace
IMAGE_NAME
andTAG
for whatever you like):
docker build -t IMAGE_NAME:TAG .
- Create and run a container with the app:
docker run -p 4000:4000 -e TMDB_API_KEY=$ENV_VAR IMAGE_NAME:TAG
Where $ENV_VAR
is your TheMovieDB api key.
First, you need to consider the following:
-
Due to the ffmpeg binary included, only Linux x64 systems are supported.
-
This project was developed with node.js version 21.5.0. If using a prior version, make sure at least dependencies are up-to-date.
-
Install a web browser compatible with Puppeteer (Chromium recommended).
Then, follow these instructions:
-
Install node.js and npm.
-
Clone this repository:
git clone https://github.com/davnpsh/luffy.git
- Inside the project directory, install dependencies:
npm install
- Create a
.env
file in the root of the project with your TheMovieDB api key:
TMDB_API_KEY=your_api_key
- Run the project with:
npm run bundle
You can see this project as a mere indexer. All the content is from Subsplease and TheMovieDB API. I am NOT affiliated with either.