API server for trace.moe
- serve image search request
- crop black borders on search images
- rate limiting and user management
- serve index and database status
- store and serve compressed hash files
- distribute hash jobs to workers
- Node.js >= 22.15
- PostgreSQL 17+
- Milvus 2.6.0+
- FFmpeg
- Docker
Install Prerequisites first, then:
git clone https://github.com/soruly/trace.moe-api.git
cd trace.moe-api
npm install
- Copy
.env.exampleto.env - Edit
.envas appropriate for your setup, i.e.VIDEO_PATH. - Change
TRACE_API_SALTto a unique value of at least 32 characters.
You can use pm2 to run this in background in cluster mode.
Use below commands to start / restart / stop server.
npm run start
npm run stop
npm run reload
npm run restart
npm run delete
By default, it will scan the VIDEO_PATH every minute for new video files (.mp4 or .mkv or webm). You can manually trigger a scan by calling this url
curl http://localhost:3001/scan
Follow the installation instructions until the Start server step. Then proceed from here.
A compose.yml file is included for local development containing all the required dependencies.
On the first start, all database tables will be created in the database.
docker compose up -dnode server.js