Troubleshooting ​
Common issues and how to solve them.

Quick Checks ​
Before diving into specific problems, try these:
# Check if containers are running
docker compose ps
# View logs
docker compose logs minepanel
docker compose logs --tail 100
# Check Docker daemon
docker ps
# Restart everything
docker compose restartInstallation Issues ​
Docker Not Found ​
Error: docker: command not found or docker compose: command not found
Solution:
# Install Docker
curl -fsSL https://get.docker.com | sh
# Add your user to docker group
sudo usermod -aG docker $USER
# Log out and back in, then test
docker --version
docker compose versionPermission Denied ​
Error: permission denied while trying to connect to the Docker daemon socket
Solution:
# Add user to docker group
sudo usermod -aG docker $USER
# Log out and back in, or:
newgrp docker
# Verify
docker psPort Already in Use ​
Error: port is already allocated or address already in use
Solution:
# Find what's using the port
sudo lsof -i :3000
sudo lsof -i :8091
# Option 1: Stop the conflicting service
sudo systemctl stop <service-name>
# Option 2: Change Minepanel ports
# Edit docker-compose.yml or .env
FRONTEND_PORT=3001
BACKEND_PORT=8092
# Restart
docker compose down
docker compose up -dConnection Issues ​
Can't Access Frontend ​
Symptoms: Browser shows "Can't connect" or "Connection refused"
Solutions:
- Check container is running:
docker compose ps
# Should show minepanel as "Up"- Check logs:
docker compose logs minepanel- Verify port:
# Check if port is open
curl http://localhost:3000- Firewall:
# Allow port through firewall
sudo ufw allow 3000/tcpCan't Access from Remote ​
Symptoms: Works on localhost but not from other devices
Solutions:
- Update FRONTEND_URL:
environment:
- FRONTEND_URL=http://YOUR_IP:3000 # Not localhost!- Firewall configuration:
# Ubuntu/Debian
sudo ufw allow 3000/tcp
sudo ufw allow 8091/tcp
sudo ufw allow 8080/tcp
# CentOS/RHEL
sudo firewall-cmd --permanent --add-port=3000/tcp
sudo firewall-cmd --permanent --add-port=8091/tcp
sudo firewall-cmd --reloadCheck router port forwarding (if accessing from internet)
Restart after changes:
docker compose restartCORS Errors ​
Symptoms: Console shows CORS policy errors, API calls fail
Solution:
The FRONTEND_URL must match EXACTLY how you access the frontend:
# If accessing via http://localhost:3000
FRONTEND_URL=http://localhost:3000
# If accessing via http://192.168.1.100:3000
FRONTEND_URL=http://192.168.1.100:3000
# If accessing via domain
FRONTEND_URL=https://minepanel.yourdomain.comAlways restart after changing:
docker compose restartAuthentication Issues ​
Can't Login ​
Error: "Invalid credentials" with correct password
Solutions:
- Check if first time login:
Default credentials are admin/admin unless you set CLIENT_PASSWORD.
- Password changed in UI:
If you changed password through the UI, environment variable won't work. Use the UI or reset password.
- Database issues:
# Check if database exists
ls -l data/minepanel.db
# If missing, recreate
docker compose down
docker compose up -d- Reset password:
See Password Management.
JWT Token Errors ​
Error: "Invalid token" or "Token expired"
Solutions:
- Clear browser cache and cookies
- Log out and log back in
- Check JWT_SECRET hasn't changed:
environment:
- JWT_SECRET=same_secret_as_beforeServer Management Issues ​
Can't Create Server ​
Error: Server creation fails
Solutions:
- Check Docker socket access:
ls -l /var/run/docker.sock
# Should be readable by Docker group- Check BASE_DIR:
environment:
- BASE_DIR=/absolute/path # Must be absolute!- Check disk space:
df -h- View detailed error:
docker compose logs minepanel | grep -i errorServer Won't Start ​
Symptoms: Server status shows "error" or "exited"
Solutions:
- Check server logs:
# Via UI: Go to server → Logs tab
# Via terminal:
docker logs <server-container-name>- Common issues:
Port conflict:
# Find what's using the port
sudo lsof -i :25565
# Change server port in MinepanelMemory limits:
# Increase memory in server settings
MAX_MEMORY: 4G
INIT_MEMORY: 2GEULA not accepted:
# Check if EULA=TRUE in server config
# Recreate server if needed- Restart Docker:
sudo systemctl restart docker
docker compose restartServer Stuck in "Starting" ​
Solutions:
- Give it more time - First start can take 5-10 minutes
- Check logs for actual progress
- Check resources:
docker stats
# Ensure enough CPU/RAM available- Force restart:
docker restart <server-container-name>Mod/Plugin Issues ​
Mods Not Downloading ​
Symptoms: Modrinth or CurseForge mods don't appear
Solutions:
- Check API key (for CurseForge):
environment:
CF_API_KEY: your_actual_key- Check server logs:
docker logs <server-name> | grep -i "modrinth\|curseforge"- Verify project names:
- Test on Modrinth website first
- Check spelling of project slugs
- Ensure compatibility with Minecraft version
- Network issues:
# Test connectivity from container
docker exec <server-name> ping modrinth.com
docker exec <server-name> ping api.curseforge.comVersion Conflicts ​
Symptoms: Server crashes, "incompatible" errors
Solutions:
- Check Minecraft version matches mods
- Verify loader version (Fabric/Forge)
- Check mod dependencies
- Remove conflicting mods one by one
File Browser Issues ​
Can't Upload Files ​
Solutions:
- Check permissions:
ls -ld servers/your-server/mc-data
# Should be writable- Check disk space:
df -hCan't Edit Files ​
Symptoms: Changes don't save
Solutions:
- Stop server first before editing critical files
- Check file permissions
- Use correct file encoding (UTF-8)
Performance Issues ​
High CPU Usage ​
Solutions:
- Limit server resources:
deploy:
resources:
limits:
cpus: '2'
memory: 4G- Use Aikar's flags:
environment:
USE_AIKAR_FLAGS: "true"- Reduce view distance:
environment:
VIEW_DISTANCE: 6
SIMULATION_DISTANCE: 4High Memory Usage ​
Solutions:
- Increase swap:
# Check current swap
free -h
# Add swap
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile- Lower server memory allocation
- Use Paper/Purpur instead of Vanilla
Slow Response Times ​
Solutions:
- Use SSD instead of HDD
- Increase server resources
- Enable auto-pause for idle servers:
environment:
ENABLE_AUTOPAUSE: "true"
AUTOPAUSE_TIMEOUT_EST: 3600Database Issues ​
Database Locked ​
Error: "database is locked"
Solution:
# Stop all containers
docker compose down
# Wait a few seconds
sleep 5
# Start again
docker compose up -dCorrupted Database ​
Symptoms: Errors loading servers, UI broken
Solutions:
- Restore from backup:
docker compose down
cp data/minepanel.db.backup data/minepanel.db
docker compose up -d- If no backup, reset: (loses all data)
docker compose down
rm data/minepanel.db
docker compose up -dDocker Issues ​
Container Keeps Restarting ​
Solutions:
- Check logs:
docker compose logs --tail 100- Check for crashes:
docker inspect minepanel | grep -A 10 "State"- Verify environment variables:
docker compose configCan't Pull Image ​
Error: "error pulling image configuration"
Solutions:
- Check internet connection
- Check Docker Hub status
- Clear Docker cache:
docker system prune -a- Manual pull:
docker pull ketbom/minepanel:latestStill Having Issues? ​
Collect Debug Information ​
# System info
uname -a
docker --version
docker compose version
# Container status
docker compose ps
# Recent logs
docker compose logs --tail 200 > minepanel-logs.txt
# System resources
docker stats --no-stream
# Disk space
df -hGet Help ​
- Check the FAQ for common questions
- Search GitHub Issues
- Create a new issue with:
- Your debug information
- Steps to reproduce
- Expected vs actual behavior
- Screenshots if applicable
Emergency Reset ​
If nothing works and you need to start fresh:
DANGER
This removes EVERYTHING!
# Stop everything
docker compose down -v
# Remove all data
rm -rf data/ servers/
# Remove images
docker rmi ketbom/minepanel
# Start fresh
docker compose up -dNext Steps ​
- Review Administration Guide
- Check Configuration Reference
- Join the community for support
