Back to Setup Guides
    Docker

    Palworld Server Setup with Docker

    Deploy a Palworld dedicated server using Docker for easy management, updates, and portability. This guide uses Docker Compose for simple configuration.

    Prerequisites

    • Docker installed on your system (Get Docker)
    • Docker Compose v2 or later (included with Docker Desktop)
    • At least 16GB RAM recommended for the host system
    • Ports 8211 and 27015 UDP available and forwarded

    1Create Directory Structure

    Create a directory for your Palworld server files:

    mkdir -p ~/palworld-server
    cd ~/palworld-server

    2Create Docker Compose File

    Create a docker-compose.yml file:

    docker-compose.yml
    version: "3.8"
    
    services:
      palworld:
        image: thijsvanloef/palworld-server-docker:latest
        container_name: palworld-server
        restart: unless-stopped
        ports:
          - "8211:8211/udp"
          - "27015:27015/udp"
        environment:
          - PUID=1000
          - PGID=1000
          - PORT=8211
          - PLAYERS=16
          - SERVER_NAME=My Palworld Server
          - SERVER_PASSWORD=
          - ADMIN_PASSWORD=changeme
          - MULTITHREADING=true
          - COMMUNITY=false
        volumes:
          - ./palworld:/palworld

    Note: The thijsvanloef/palworld-server-docker is a popular community-maintained image. Check Docker Hub for alternatives.

    3Advanced Configuration (Optional)

    For full control over game settings, you can mount a custom PalWorldSettings.ini file. Use our Config Builder to generate this file.

    Place your custom config at ./palworld/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini after the first server start.

    4Start the Server

    Start your Palworld server with Docker Compose:

    # Start the server (first run will download the image and game files)
    docker compose up -d
    
    # View logs
    docker compose logs -f
    
    # Stop the server
    docker compose down
    
    # Restart the server
    docker compose restart

    First Start: The initial startup will take several minutes as Docker downloads the game files (~8GB). Monitor progress with docker compose logs -f

    5Firewall Configuration

    Ensure your firewall allows the required ports:

    UFW (Ubuntu/Debian)
    sudo ufw allow 8211/udp
    sudo ufw allow 27015/udp
    firewalld (CentOS/RHEL)
    sudo firewall-cmd --permanent --add-port=8211/udp
    sudo firewall-cmd --permanent --add-port=27015/udp
    sudo firewall-cmd --reload

    If hosting at home, also configure port forwarding on your router for these ports.

    Updating the Server

    To update your server when a new game version is released:

    # Pull the latest image
    docker compose pull
    
    # Restart with the new image
    docker compose up -d

    Useful Commands

    # Check container status
    docker compose ps
    
    # View real-time logs
    docker compose logs -f palworld
    
    # Execute command in container
    docker compose exec palworld bash
    
    # Check resource usage
    docker stats palworld-server
    
    # Backup save data
    cp -r ./palworld ./backup-$(date +%Y%m%d)

    Troubleshooting

    Container keeps restarting

    Check logs with docker compose logs. Common causes: insufficient memory, port conflicts, or permission issues on mounted volumes.

    Cannot connect to server

    Verify ports 8211 and 27015 UDP are open in your firewall and forwarded on your router. Check that the container is running with docker compose ps.

    Permission denied errors

    The container runs as a specific user. Ensure mounted directories have proper permissions:sudo chown -R 1000:1000 ./palworld