Docker Craft is a containerized Minecraft server platform with an Express API backend and a React Router dashboard UI.
Copyright 2025 Marcus R. Olsen
Licensed under Apache License 2.0.
api: Express backend, auth, server management, compose controlsdc-ui: React Router frontend dashboarddcserver: Minecraft compose and per-server config datadocs: project documentation
- Node.js 20+
- npm 10+
- Docker
- Docker Compose
Create the real environment files in the project root from your templates:
.env.env.development.env.production.env.secret
Reference:
docs/ENVIRONMENT.md
From project root:
npm install
npm run install:allThis installs root tooling and dependencies for both api and dc-ui.
From project root, run API and UI together:
npm run devFrom project root:
npm run devFrom project root:
npm run dev:api
npm run dev:uiDefault URLs:
- API:
http://localhost:80 - UI:
http://localhost:5173
From dc-ui:
npm run buildFrom project root:
npm run typecheckFrom project root:
npm run prod:apiStop production API:
npm run prod:api:stopRemove production API process:
npm run prod:api:removeFrom dcserver:
docker compose up -dStop:
docker compose downIf registration is disabled and no one can log in to toggle it from the dashboard:
- Stop the API process.
- Open
api/protected/settings.json. - Set the value to:
{
"registration_available": true
}- Start the API again.
- Register an admin account from the register page.
- Log in and optionally disable public registration again from Site Settings.
If your seed user is present:
- username:
admin - passphrase:
changeme
Change the passphrase immediately after login.
docs/REACT_ROUTER_UI.mddocs/ENVIRONMENT.mddocs/API.md