| Feature | Status | |
|---|---|---|
| π§© | Loaders β Fabric (modded) and Vanilla | β Available |
| π¦ | Mod Management β install, remove, and browse Fabric mods | β Available |
| π | Logs & Monitoring β live log stream, TPS and RAM graphs | β Available |
| πΎ | Backups & Restore β manual snapshots, restore from any backup | β Available |
| π₯οΈ | Multiple Servers β manage several instances from one dashboard | β Available |
| β¬οΈ | Fabricator self-update β checks GitHub Releases; update from the sidebar or reinstall script | β Available |
| π | One-click Minecraft / Fabric server updates | π§ Coming soon |
| β¨οΈ | CLI (fabricator command) |
π§ Coming soon |
The script downloads a release tarball from GitHub Releases, installs dependencies, creates a fabricator user and systemd unit, and starts the app. Supported distros: Debian/Ubuntu (and derivatives), Arch, Fedora/RHEL family. systemd and curl are required.
curl -fsSL https://fabricator.site/install.sh | bashBy default this installs the latest published release.
Updating an existing install (backs up servers.json and fabricator.env, replaces app files, keeps data under /var/lib/fabricator):
curl -fsSL https://fabricator.site/install.sh | bash -s -- --updateAfter install, open http://<host>:5000 (the default packaged config binds to all interfaces β use a firewall or reverse proxy if the host is reachable from untrusted networks).
For local development, the app defaults to loopback-only; see .env.example.
Manual installation
# Clone
git clone https://github.com/philderks/Fabricator.git
cd Fabricator
# Backend
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
# Frontend
cd frontend
npm install
npm run build
cd ..
# Run (development β serves API + built frontend from frontend/dist)
python3 run.pyEnvironment variables are documented in .env.example. For production-like paths, set FLASK_ENV=production, SERVER_ROOT, and SERVER_INDEX_FILE (see Configuration).
| Requirement | |
|---|---|
| OS | Linux β Debian/Ubuntu, Arch, or Fedora/RHEL (systemd) |
| Python | 3.10+ |
| Node.js | 20.x (frontend build only) |
Windows is not supported yet.
The installer writes /etc/fabricator/fabricator.env (group fabricator, mode 0640). Common variables:
# Listen address β packaged default is all interfaces; use a reverse proxy in production
HOST=0.0.0.0
PORT=5000
FLASK_ENV=production
# Server instances and index (paths must be writable by the fabricator user)
SERVER_ROOT=/var/lib/fabricator/servers
SERVER_INDEX_FILE=/var/lib/fabricator/servers.json
# Optional: comma-separated origins for a separate dev UI or external frontends (no *)
# CORS_ORIGINS=https://dashboard.example.com
# playit.gg tunnel agent β set to "true" to start the agent automatically on boot.
# The agent creates a public tunnel so the server is reachable without port-forwarding.
PLAYIT_ENABLED=falseThe playit.gg tunnel makes a server reachable without port forwarding. The installer
provisions the pinned, sha256-verified playit and playit-cli binaries automatically β
no separate step. Turn the tunnel on per server under Server β Settings β Network (or
Overview β Public access), which walks you through the one-time playit.gg account claim.
Set PLAYIT_ENABLED=true above only if you want it to auto-start on boot.
Managed Java runtimes are stored under /var/lib/fabricator/java by default when FLASK_ENV=production.
After editing, restart the service:
sudo systemctl restart fabricatorFilesystem layout
/opt/fabricator/app # Application code (fabricator:fabricator)
/opt/fabricator/venv # Python virtualenv (fabricator:fabricator)
/var/lib/fabricator # Server data, backups, managed Java
/etc/fabricator/fabricator.env # Config (root:fabricator, 0640)
/etc/systemd/system/fabricator.service
| Status | Feature |
|---|---|
| β Done | Mod management |
| β Done | Logs & monitoring |
| β Done | Backups & restore |
| β Done | Multiple server instances |
| β Done | Fabricator self-update (UI + installer) |
| π§ In progress | CLI (fabricator command) |
| π§ In progress | Additional loader support β Vanilla shipped; NeoForge, Forge, Quilt, Paper next |
| π Planned | One-click Minecraft / Fabric server upgrades |
| π Planned | Windows support |
Bug reports and pull requests are welcome. For larger changes, open an issue first.
The frontend is Vue 3 + Vite in /frontend. The backend is Flask with blueprints under /backend; the process entrypoint is run.py. HTTP API details live in API_DOCS.md. Both halves can be run without the installer for local development.