This is a scraper application built with Next.js 16 and Node.js 26 that collects the most popular Minecraft server jar files and checks for updates from time to time. Files are downloaded and, if necessary, built and then stored. It provides an easy-to-use api that can be easily integrated into other systems.
- We assume that Docker is installed and you have basic knowledge
- Clone the repository
- Copy
.env.exampleas.env - Open
.envand set the values you need (optional) - Run
docker compose up -d - Open
http://localhost/api/status/pingto check if it works well
POSTGRES_MOUNT defaults to the existing postgres-data Docker volume.
To use a host directory, set this in .env:
POSTGRES_MOUNT=/mnt/hdd/mcjars/dbRecreate the database container with docker compose up -d mcjars_db.
Changing this setting selects a different storage location; existing database
data must be migrated separately if you want to retain it.
Use Node.js 26 (nvm use), PostgreSQL, and the settings from .env.example.
npm ci
npx prisma migrate deploy
npm run devnpm run dev and npm run start listen on port 80, matching the existing Docker deployment.
Override the port locally with npm run dev -- --port 3000 or npm run start -- --port 3000.
For a production build, run npm run build followed by npm run prod (or npm run start).
The Prisma client is generated during installation and before every build.
The Docker image includes musl-compatible Java 8, 16, 17, 21, and 25 JDKs.
The project directory, including node_modules and .next, is shared with the
host. Install dependencies and build inside the container so native packages
match Alpine and the container's CPU architecture. For APP_ENV=development:
docker compose exec mcjars_app npm ci
docker compose exec mcjars_app npm run devAfter Docker configuration changes, recreate the app with
docker compose up -d --build mcjars_app.
You can find the documentation on Wiki page. (click here)
- final tune the api / responses
- redis cache
- rate limiting
- more configuration options in .env
- api key auth
- statistics
- documentation
