📦thijsvanloef / palworld-server-docker
← 返回首页
A Docker Container to easily run a Palworld dedicated server.
🔗 GitHub Shell

📄 仓库 README

在 GitHub 查看 ↗
来自 GitHub 仓库自述文件 · 版权归原作者所有

Palworld Dedicated Server Docker

[!IMPORTANT]

Fully compatible with Palworld 1.0 release

Please check issue to see if there are any known issues with the 1.0 release of Palworld.

Release Docker Pulls Docker Stars Image Size Discord

CodeFactor Release Linting Security

Docker Hub GHCR Artifact Hub

Chat with the community on Discord

This is a Docker container to help you get started with hosting your own Palworld dedicated server.

This Docker container has been tested and will work on the following OS:

  • Linux (Ubuntu/Debian)
  • Windows 10,11
  • MacOS (including Apple Silicon M1/M2/M3).
  • Raspberry Pi 4/5

This container has also been tested and will work on both x64 and ARM64 based CPU architecture.

[!IMPORTANT] Get up and running in no time with the Quickstart Guide!

Sponsors

Company About
Indifferent Broccoli

indifferent broccoli (\:|)

Thank you to our sponsor indifferent broccoli. If you decide to rent a Palworld server, rather than host yourself, try indifferent broccoli's Palword server hosting 2-day free trial

Massive shoutout to the following individual sponsors

AshishT112203  indifferentbroc  

Official Documentation

Documentation

Server Requirements

Resource Minimum Recommended
CPU 4 cores 4+ cores
RAM 16GB Recommend over 32GB for stable operation
Storage 8GB 20GB

How to use

Keep in mind that you'll need to change the environment variables.

Image tags

Use image tags by runtime target:

  • thijsvanloef/palworld-server-docker:latest - Linux runtime (amd64/arm64)
  • thijsvanloef/palworld-server-docker:wine - Windows runtime on Wine (amd64 only)

[!NOTE] Please note that the wine tag version includes Wine itself, resulting in a larger image size.

Versioned tags follow the same pattern:

  • vX.Y.Z for Linux
  • vX.Y.Z-wine for Wine (Windows)

Docker Compose

This repository includes an example compose.yaml file you can use to set up your server.

---
services:
  palworld:
    image: thijsvanloef/palworld-server-docker:latest
    restart: unless-stopped
    container_name: palworld-server
    stop_grace_period: 30s  # Set to however long you are willing to wait for the container to gracefully stop
    ports:
      - 8211:8211/udp
      - 27015:27015/udp  # Required if you want your server to show up in the community servers tab
      # - 8212:8212/tcp  # REST API enabled port, enabled by default. DO NOT PORT FORWARD THIS.
    environment:
      PUID: 1000
      PGID: 1000
      PORT: 8211  # Optional but recommended
      PLAYERS: 16  # Optional but recommended
      SERVER_PASSWORD: "worldofpals"  # Optional but recommended
      REST_API_ENABLED: true
      REST_API_PORT: 8212
      TZ: "UTC"
      ADMIN_PASSWORD: "adminPasswordHere"
      COMMUNITY: false  # Enable this if you want your server to show up in the community servers tab, USE WITH SERVER_PASSWORD!
      # PUBLIC_PORT: 8211 # If enabling community server and using a different public port you must change this
      SERVER_NAME: "palworld-server-docker by Thijs van Loef"
      SERVER_DESCRIPTION: "palworld-server-docker by Thijs van Loef"
      CROSSPLAY_PLATFORMS: "(Steam,Xbox,PS5,Mac)"
      LOG_LEVEL: "INFO"  # DEBUG/INFO/WARN/ERROR. Please be aware that DEBUG will log all command arguments, including secrets, to the logs. Share with caution.
    volumes:
      - ./palworld:/palworld/

As an alternative, you can copy the .env.example file to a new file called .env file. Modify it to your needs, check out the environment variables section to check the correct values. Modify your compose.yaml to this:

services:
   palworld:
      image: thijsvanloef/palworld-server-docker:latest
      restart: unless-stopped
      container_name: palworld-server
      stop_grace_period: 30s # Set to however long you are willing to wait for the container to gracefully stop
      ports:
        - 8211:8211/udp
        - 27015:27015/udp
        # - 8212:8212/tcp  # Port for REST API if REST_API_ENABLED: true
      env_file:
         -  .env
      volumes:
         - ./palworld:/palworld/

The root compose file now includes two files:

Docker Run

Change every <> to your own configuration

docker run -d \
    --name palworld-server \
    -p 8211:8211/udp \
    -p 27015:27015/udp \
    -v ./palworld:/palworld/ \
    -e PUID=1000 \
    -e PGID=1000 \
    -e PORT=8211 \
    -e PLAYERS=16 \
    -e REST_API_ENABLED=true \
    -e REST_API_PORT=8212 \
    -e TZ=UTC \
    -e ADMIN_PASSWORD="adminPasswordHere" \
    -e SERVER_PASSWORD="worldofpals" \
    -e COMMUNITY=false \
    -e SERVER_NAME="palworld-server-docker by Thijs van Loef" \
    -e SERVER_DESCRIPTION="palworld-server-docker by Thijs van Loef" \
    -e CROSSPLAY_PLATFORMS="(Steam,Xbox,PS5,Mac)" \
    --restart unless-stopped \
    --stop-timeout 30 \
    thijsvanloef/palworld-server-docker:latest

As an alternative, you can copy the .env.example file to a new file called .env file. Modify it to your needs, check out the environment variables section to check the correct values. Change your docker run command to this:

docker run -d \
    --name palworld-server \
    -p 8211:8211/udp \
    -p 27015:27015/udp \
    -v ./palworld:/palworld/ \
    --env-file .env \
    --restart unless-stopped \
    --stop-timeout 30 \
    thijsvanloef/palworld-server-docker:latest

Kubernetes

All files you will need to deploy this container to kubernetes are located in the kubernetes folder.

Follow the steps in the README.md here to deploy it.

Running without root

This is only for advanced users

It is possible to run this

📈 近 7 天 Star 趋势

每日新增 Star(柱)与累计 Star(线)· 数据来自 GitHub

🏆 排名变化趋势

在各榜单中的排名历史(数字越小越靠前)

📋 历史上榜记录

每次快照的详细数据
日期 榜单 排名 周期新增 总 STAR