Skip to content

Latest commit

 

History

18 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

deployement

One-command deployment for the SaruMC network.

Quick start

cp .env.example .env
# Edit .env with your secrets
./deploy.sh

Services

Service Image Port
database mariadb:11 3306
rest-api ghcr.io/sarumc/rest-api:latest 8080
orchestrator built from ../minestrate/orchestrator 8081→8080
pocketmine ghcr.io/sarumc/pocketmine:latest 19132/udp
discord-bot ghcr.io/sarumc/discord:latest 6666

Environment

All secrets via .env:

Variable Service
GHCR_TOKEN / GHCR_USERNAME Registry auth
API_KEY REST API auth
MYSQL_ROOT_PASSWORD Database root
MYSQL_USER/PASSWORD/DATABASE Database app user
MINESTRATE_JWT_SECRET Orchestrator auth (≥32 bytes)
DISCORD_WEBHOOK_URL Deploy notifications

Plugin system

The PocketMine entrypoint downloads plugin PHARs from GitHub Releases on startup:

  • SaruMC/core → /plugins/core.phar
  • SaruMC/horus → /plugins/horus.phar
  • SaruMC/lobby → /plugins/lobby.phar

Game servers provisioned by Minestrate use the same image.

How it works

deploy.sh:

  1. Loads .env
  2. Installs Docker + compose plugin if missing
  3. Logs into GitHub Container Registry
  4. Builds orchestrator from source, pulls pre-built images
  5. Recreates all containers
  6. Sends Discord webhook notification
  7. Traps errors → red-circle webhook

About

Docker compose configuration for production deployement of saru's network

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages