A modern, web-based control panel designed to monitor Palworld dedicated servers in real-time.
635
A Blazor InteractiveServer web application (.NET 10) for monitoring and managing Palworld dedicated servers. This document explains how to run the Docker image, persist the SQLite database, configure environment variables / appsettings, and common operational tasks (backup, restore, logs, permissions, TLS).
Note: The dashboard is currently in development and will receive updates frequently. The github repo is not yet public, but in future it will be available at https://github.com/bkrieger1991/PalworldServerDashboard
app and listens on port 8080 inside the container.data/dashboard.db inside the container). Mount a host volume for persistence.appsettings.json but the app supports flat environment variable mapping (e.g. ServerHost → ApiConfig:Host).Replace your-dockerhub-user/palworld-dashboard:latest with the actual image name.
docker run -d \
--name palworld-dashboard \
-p 8080:8080 \
-v $(pwd)/data:/app/data \
-e ServerHost=palworld-server \
-e RestApiPort=8212 \
-e Ssl=false \
-e Password=#RestApiPw# \
flux1991/palworld-server-dashboard:latest
Notes:
If the palworld server itself does not run in a container, here is an example of how to configure this container in a docker-compose.yaml file:
services:
palworld-dashboard:
image: flux1991/palworld-server-dashboard:latest
container_name: palworld-dashboard
environment:
- "ApiConfig__Host=host.docker.internal"
- "ApiConfig__Password=#RestApiPw#"
- "ServerInfo__Host=your.palworld.host.com"
ports:
- 8080:8080
extra_hosts:
- "host.docker.internal:host-gateway"
Attention: If you are using a firewall on your system (which you should), make sure the palworld-server-dashboard docker container ip range can access the RestAPI Port of the palworld-server.
Request the gateway-ip of a docker-container:
docker inspect -f '{{range .NetworkSettings.Networks}}{{.Gateway}}{{end}}' <container>
Linux example of how to create ufw rule
sudo ufw allow from <gateway-ip> to any port 8212 proto tcp comment 'Palworld Server Dashboard'
This example includes a mock API service (Prism) and the dashboard. Save as docker-compose.yml:
version: "3.8"
services:
# ... palworld server or other services ...
palworld-dashboard:
image: flux1991/palworld-server-dashboard:latest
container_name: palworld-server-dashboard
ports:
- "8080:8080"
volumes:
- ./palworld-dashboard/data:/app/data
- ./palworld-dashboard/appsettings.json:/app/appsettings.json:ro
restart: unless-stopped
| Full Name | Shorthand | Description |
|---|---|---|
| ApiConfig__Host | ServerHost | The host name or IP of the Palworld server. |
| ApiConfig__Port | RestApiPort | The port of the Palworld server REST API (default: 8212). |
| ApiConfig__Ssl | Ssl | Whether to use HTTPS for the REST API (default: false). |
| ApiConfig__Username | The username for the REST API (default: admin). | |
| ApiConfig__Password | Password | The password for the REST API. |
| ApiConfig__CacheRetention | The time (format: HH:mm:ss) to cache API responses to not penetrate palworld server RestAPI (default: 1 minute) | |
| ApiConfig__CircuitBreakerCooldown | The time (format: HH:mm:ss) to cooldown the circuit breaker (default: 1 minute) | |
| ServerInfo__Host | The host name or IP of the Palworld server. | |
| ServerInfo__Port | The port of the Palworld server (default: 8211). | |
| Database__Path | The path to the SQLite database file (default: data/dashboard.db). |
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*",
"ApiConfig": {
"Host": "localhost",
"Port": 8212,
"Ssl": false,
"Username": "admin",
"Password": "admin",
"CacheRetention": "00:01:00",
"CircuitBreakerCooldown": "00:01:00"
},
"ServerInfo": {
"Host": "palworld.myserver.com",
"Port": 8211
},
"Database": {
"Path": "data/dashboard.db"
}
}
For production exposure, put the container behind a reverse proxy (nginx, Traefik, Caddy) for TLS termination, automatic certificate management, and rate limiting. Example responsibilities for the proxy:
Set ASPNETCORE_FORWARDEDHEADERS_ENABLED / configure forwarded headers if you need accurate request scheme/host in the app.
Content type
Image
Digest
sha256:c3e9ac58b…
Size
124 MB
Last updated
4 months ago
docker pull flux1991/palworld-server-dashboard