Skip to content

FAQ

Answers to the questions that get asked over and over.

How do I update Carbon Panel?
Docker Compose

In the folder where your compose.yml file is:

  1. git pull
  2. docker build -f docker/Dockerfile.carbon-panel -t carbon-panel:latest .
  3. docker compose up -d

Your data and backups stay on the host paths named in the compose file; recreating the container does not delete them.

Proxmox Helper Script

Open the console for the container and enter update.

Source or prebuilt binary

Stop the panel, replace the binary, and start it again. See Building from source or Prebuilt binaries for the full layout.

I’m using host networking but something is already on port 8080. How do I change the port?

If you’re using config.yaml, set this option:

server:
port: "8080"

Or set the CARBONPANEL_SERVER_PORT environment variable to whatever port you want.

How do I set up the proxy for my servers?

Enable the proxy block in config.yaml, point base_url at your domain, and add a wildcard DNS record for it. Each server then gets <server-name>.<base_url> on the proxy port, which you can change on its Routing tab.

proxy:
enabled: true
base_url: "mc.example.com"
listen_port: 25565

See Proxy routing for DNS, transfers, rate limiting and troubleshooting.

How do I add datapacks, resource packs or shaders to a modpack?

Open the pack in Modpack Studio and use the Datapacks, Resource Packs or Shaders tab. Each tab can search Modrinth, take a direct URL, or accept an uploaded archive. Installed entries expose the full packwiz option set: side, pin, optional, default and description.

To install a datapack into one server without a pack, use the server’s Datapacks tab instead. See Server datapacks.

What is the difference between sync and bake when deploying a pack?
  • Sync sets PACKWIZ_URL on the server; the server image fetches the pack on every start. Mods, datapacks, resource packs, shaders and overrides all arrive, and side is honored.
  • Bake downloads the pack into the server’s data directory. Mods go to mods/ and datapacks to <world>/datapacks/. Client-side content is not written to the server.

See Deploy to a server.

Why did CurseForge export refuse to build?

CurseForge manifests need numeric project and file IDs. If any mod or content entry has no CurseForge ID, Carbon Panel refuses instead of shipping a partial pack and lists every item it cannot carry. Remove those entries or export as .mrpack, packwiz or an instance archive, which do not need CurseForge IDs.

Why does my empty server freeze or stop?

That is the sleep configuration on the server’s Settings page. Freeze on Idle suspends the container in memory; Deep Sleep on Idle stops it and releases the memory. Both wake on a player join through the proxy. Disable the option or raise the timeout if you want the server to stay up. See Sleep and wake.

How do I back up my servers?

Create a Backup task in your server’s Tasks tab. It archives your world data on a schedule (safely, even while the server is running) and prunes old backups based on the retention rules you set. See the Server Backups guide for full details, including how to restore.

How do I get an API key from Curseforge?

Go to https://console.curseforge.com/#/api-keys

Why can’t I change my RAM allocation in the server JVM config?

RAM maximums are adjusted via the Memory field in the overview section. It is done this way so that the minecraft docker container can have some amount of RAM available to handle all the other things it needs to do other than just run a minecraft server. The JVM allocation is then computed from the Memory value it is given to have enough space.

Where do I find my logs?

In Settings → Logs.

I’m using Simple Voice Chat or Square/Dynmap and I want to expose that port. How do I do that?

This is best done using the ‘Additional Ports’ section of the overview tab of the server you want to adjust. At current there is no reverse proxy built into Carbon Panel for these, but Simple Voice Chat does have its own implementation that you should check out.

How do I stop Carbon Panel from updating my servers?
Curseforge

Jump to the Curseforge config options of the desired server and edit the CF_URL, CF_FILE_ID, or CF_FILENAME_MATCHER fields to pin a specific version.

For example, to pin ATM10 to v2.42:

  • CF_URL: https://www.curseforge.com/minecraft/modpacks/all-the-mods-10/files/6378501
  • CF_FILE_ID: 6378501
  • CF_FILENAME_MATCHER: 2.42

More info in the itzg/docker-minecraft docs.

Modrinth

Refer to the itzg/docker-minecraft docs.

Carbon Panel keeps deleting the mods I upload. How do I stop it?
Curseforge

If you’re uploading a new mod, you can do it via:

  • A download repo via the CF_DOWNLOADS_REPO environment variable — just download the mods you want to that folder.
  • The CURSEFORGE_FILES environment variable using the project ID and file ID for the mod you want.
    • For example, to add Distant Horizons v2.45-b, you would set 508933:7375285.

Both options are configured in the Docker Container Overrides section of the Overview tab. They are not currently exposed in the normal config options but are useful nonetheless.

Modrinth Check here.

Failed to start server: [failed_precondition] … etc

This is usually a permissions issue. Carbon Panel runs Minecraft server containers as PUID:GID 1000:1000 by default, so if that user/group doesn’t have access to Carbon Panel’s install directory, you’ll hit this error. Use ls -la to check permissions, chown to change ownership, and chmod to adjust permissions.

Issues related to Fuego, Curseforge API, or download errors in the server console

These are likely not something we can help with. Either your DNS isn’t working properly, Curseforge’s API is having issues, or your connection to Curseforge is otherwise blocked (e.g. by a firewall).

My curseforge API key isn’t working.

Sometimes it takes a day or two for the key to start working in Carbon Panel when it works fine via curl or Postman. Sometimes it helps remaking the key once or twice too.

Carbon Panel ran out of memory or failed when uploading a file

Try uploading the file using scp or ftp to move it directly into the folder it needs to be in.

Make sure the file has the right permissions so Carbon Panel can read and write to it.

Does Carbon Panel have a widget?

Yep! We have a Glance widget. It’s in the community repo but not yet merged at time of writing.

Found here

See the community widget link above for its current appearance and setup instructions.