CloudNet is a modern application that can dynamically and easily deliver Minecraft oriented software.
The current supported cloudnet versions. If your version is not supported, please upgrade to the newest one.
| Version | Supported |
|---|---|
| RC-16 | ✅ |
| RC-15 | ✅ |
| RC-14 | ✅ |
| RC-13 | ✅ |
| RC-12 | ✅ |
| RC-11 | ✅ |
| RC-10 | ❌ |
You forgot to give yourself permissions. Create a user by following these simple steps:
- Install the "CloudNet-Rest" module using
modules install CloudNet-Restin your CloudNet console. - Create a new user with the
rest user create <username> <password>command in your CloudNet console. (Example:rest user create notch foobar, will create user "notch" with password "foobar") - Assign the required permissions using
rest user <username> add scope global:adminin your CloudNet console. (Example:rest user notch add scope global:adminwill grant user "notch" admin permissions on your web interface) - If the webinterface is started, log in with the username and password you just created.
Make sure you have pnpm installed using:
npm i -g pnpm
First, install the packages using:
pnpm install
To start the server, use the following command:
pnpm run dev
Open http://localhost:3000 with your browser to see the result.
To build and run a production server:
pnpm build
pnpm start
The build output lands in .output/ and is self-contained — that directory plus a Node runtime is
everything the Docker image needs.
This project includes Vitest and React Testing Library for testing. To run tests:
pnpm testTo run tests in watch mode:
pnpm run test:watch
Tests are located in the src/__tests__ directory.
Want to host the website yourself?
Copy .env.example to .env and change VITE_DOMAIN to your own domain (including http or https).
Every NEXT_PUBLIC_* variable is now VITE_*. If you have any of them, rename them in your
.env, your docker-compose environment and your CI secrets — the prefix is the only thing that
changes, so NEXT_PUBLIC_DOMAIN becomes VITE_DOMAIN.
SENTRY_DSN is now VITE_SENTRY_DSN and covers both the server and the browser, so rename that
one too. Browser error reporting was never actually running before, and this turns it on — leave
the value empty if you only want server-side reporting. The remaining SENTRY_* variables are
only read at build time to upload source maps.
The app will not start without VITE_DOMAIN, and an unrenamed NEXT_PUBLIC_CLOUDNET_ADDRESS
silently stops pre-filling the address field rather than erroring.
So you want to fill in your user/pass without the address every single time?
Fill in VITE_CLOUDNET_ADDRESS in your .env file, like for example: VITE_CLOUDNET_ADDRESS=127.0.0.1:2812, this will autofill it for you.
If you want to use a domain: VITE_CLOUDNET_ADDRESS=https://cloudnet.example.com.
Meaning if you encounter any issues, please open up an issue. You are welcome to contribute to this project and create a PR.