Skip to content

OG-Design/DockerCraftGH

Repository files navigation

Docker Craft

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.

Project Structure

  • api: Express backend, auth, server management, compose controls
  • dc-ui: React Router frontend dashboard
  • dcserver: Minecraft compose and per-server config data
  • docs: project documentation

Requirements

  • Node.js 20+
  • npm 10+
  • Docker
  • Docker Compose

Environment Setup

Create the real environment files in the project root from your templates:

  • .env
  • .env.development
  • .env.production
  • .env.secret

Reference:

  • docs/ENVIRONMENT.md

Install Dependencies

From project root:

npm install
npm run install:all

This installs root tooling and dependencies for both api and dc-ui.

Quick Start (One Command)

From project root, run API and UI together:

npm run dev

Run in Development

Run API + UI together (recommended)

From project root:

npm run dev

Run services individually

From project root:

npm run dev:api
npm run dev:ui

Default URLs:

  • API: http://localhost:80
  • UI: http://localhost:5173

Build and Typecheck

Frontend build

From dc-ui:

npm run build

Typecheck

From project root:

npm run typecheck

Production API (PM2)

From project root:

npm run prod:api

Stop production API:

npm run prod:api:stop

Remove production API process:

npm run prod:api:remove

Run Minecraft Container Manually

From dcserver:

docker compose up -d

Stop:

docker compose down

Registration Recovery When No Users Exist

If registration is disabled and no one can log in to toggle it from the dashboard:

  1. Stop the API process.
  2. Open api/protected/settings.json.
  3. Set the value to:
{
	"registration_available": true
}
  1. Start the API again.
  2. Register an admin account from the register page.
  3. Log in and optionally disable public registration again from Site Settings.

Default Login

If your seed user is present:

  • username: admin
  • passphrase: changeme

Change the passphrase immediately after login.

Documentation

  • docs/REACT_ROUTER_UI.md
  • docs/ENVIRONMENT.md
  • docs/API.md

About

Containerized minecraft server using itzg's image with a WEB UI

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors