mirror of
https://github.com/YuzuZensai/palworld-server-docker.git
synced 2026-01-31 14:57:59 +00:00
15
Dockerfile
15
Dockerfile
@@ -13,6 +13,17 @@ RUN wget -q https://github.com/gorcon/rcon-cli/releases/download/v0.10.3/rcon-0.
|
|||||||
mv rcon-0.10.3-amd64_linux/rcon /usr/bin/rcon-cli && \
|
mv rcon-0.10.3-amd64_linux/rcon /usr/bin/rcon-cli && \
|
||||||
rmdir /tmp/dumps
|
rmdir /tmp/dumps
|
||||||
|
|
||||||
|
# Latest releases available at https://github.com/aptible/supercronic/releases
|
||||||
|
ENV SUPERCRONIC_URL=https://github.com/aptible/supercronic/releases/download/v0.2.29/supercronic-linux-amd64 \
|
||||||
|
SUPERCRONIC=supercronic-linux-amd64 \
|
||||||
|
SUPERCRONIC_SHA1SUM=cd48d45c4b10f3f0bfdd3a57d054cd05ac96812b
|
||||||
|
|
||||||
|
RUN wget -q "$SUPERCRONIC_URL" \
|
||||||
|
&& echo "${SUPERCRONIC_SHA1SUM} ${SUPERCRONIC}" | sha1sum -c - \
|
||||||
|
&& chmod +x "$SUPERCRONIC" \
|
||||||
|
&& mv "$SUPERCRONIC" "/usr/local/bin/${SUPERCRONIC}" \
|
||||||
|
&& ln -s "/usr/local/bin/${SUPERCRONIC}" /usr/local/bin/supercronic
|
||||||
|
|
||||||
ENV PORT= \
|
ENV PORT= \
|
||||||
PUID=1000 \
|
PUID=1000 \
|
||||||
PGID=1000 \
|
PGID=1000 \
|
||||||
@@ -29,7 +40,9 @@ ENV PORT= \
|
|||||||
RCON_PORT=25575 \
|
RCON_PORT=25575 \
|
||||||
QUERY_PORT=27015 \
|
QUERY_PORT=27015 \
|
||||||
TZ=UTC \
|
TZ=UTC \
|
||||||
SERVER_DESCRIPTION=
|
SERVER_DESCRIPTION= \
|
||||||
|
BACKUP_ENABLED=true \
|
||||||
|
BACKUP_CRON_EXPRESSION="0 0 * * *"
|
||||||
|
|
||||||
COPY ./scripts/* /home/steam/server/
|
COPY ./scripts/* /home/steam/server/
|
||||||
RUN chmod +x /home/steam/server/init.sh /home/steam/server/start.sh /home/steam/server/backup.sh && \
|
RUN chmod +x /home/steam/server/init.sh /home/steam/server/start.sh /home/steam/server/backup.sh && \
|
||||||
|
|||||||
19
README.md
19
README.md
@@ -142,6 +142,8 @@ It is highly recommended you set the following environment values before startin
|
|||||||
| RCON_ENABLED*** | Enable RCON for the Palworld server | true | true/false |
|
| RCON_ENABLED*** | Enable RCON for the Palworld server | true | true/false |
|
||||||
| RCON_PORT | RCON port to connect to | 25575 | 1024-65535 |
|
| RCON_PORT | RCON port to connect to | 25575 | 1024-65535 |
|
||||||
| QUERY_PORT | Query port used to communicate with Steam servers | 27015 | 1024-65535 |
|
| QUERY_PORT | Query port used to communicate with Steam servers | 27015 | 1024-65535 |
|
||||||
|
| BACKUP_CRON_EXPRESSION | Setting affects frequency of automatic backups. | 0 0 \* \* \* | Needs a Cron-Expression - See [Configuring Automatic Backups with Cron](#configuring-automatic-backups-with-cron) |
|
||||||
|
| BACKUP_ENABLED | Enables automatic backups | true | true/false |
|
||||||
| DELETE_OLD_BACKUPS | Delete backups after a certain number of days | false | true/false |
|
| DELETE_OLD_BACKUPS | Delete backups after a certain number of days | false | true/false |
|
||||||
| OLD_BACKUP_DAYS | How many days to keep backups | 30 | any positive integer |
|
| OLD_BACKUP_DAYS | How many days to keep backups | 30 | any positive integer |
|
||||||
|
|
||||||
@@ -204,6 +206,23 @@ This will create a backup at `/palworld/backups/`
|
|||||||
|
|
||||||
The server will run a save before the backup if rcon is enabled.
|
The server will run a save before the backup if rcon is enabled.
|
||||||
|
|
||||||
|
## Configuring Automatic Backups with Cron
|
||||||
|
|
||||||
|
The server is automatically backed up everynight at midnight according to the timezone set with TZ
|
||||||
|
|
||||||
|
Set BACKUP_ENABLED enable or disable automatic backups (Default is enabled)
|
||||||
|
|
||||||
|
BACKUP_CRON_EXPRESSION is a cron expression, in a Cron-Expression you define an interval for when to run jobs.
|
||||||
|
|
||||||
|
> [!TIP]
|
||||||
|
> This image uses Supercronic for crons
|
||||||
|
> see [supercronic](https://github.com/aptible/supercronic#crontab-format)
|
||||||
|
> or
|
||||||
|
> [Crontab Generat](https://crontab-generator.org).
|
||||||
|
|
||||||
|
Set BACKUP_CRON_EXPRESSION to change the default schedule.
|
||||||
|
Example Usage: If BACKUP_CRON_EXPRESSION to `0 2 * * *`, the backup script will run every day at 2:00 AM.
|
||||||
|
|
||||||
## Editing Server Settings
|
## Editing Server Settings
|
||||||
|
|
||||||
### With Environment Variables
|
### With Environment Variables
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
if [ "${RCON_ENABLED}" = true ]; then
|
if [ "${RCON_ENABLED}" = true ]; then
|
||||||
rcon-cli save
|
rcon-cli -c /home/steam/server/rcon.yaml save
|
||||||
fi
|
fi
|
||||||
|
|
||||||
DATE=$(date +"%Y-%m-%d_%H-%M-%S")
|
DATE=$(date +"%Y-%m-%d_%H-%M-%S")
|
||||||
|
|||||||
@@ -289,6 +289,13 @@ if [ -n "${RCON_PORT}" ]; then
|
|||||||
sed -i "s/RCONPort=[0-9]*/RCONPort=$RCON_PORT/" /palworld/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini
|
sed -i "s/RCONPort=[0-9]*/RCONPort=$RCON_PORT/" /palworld/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ "${BACKUP_ENABLED}" = true ]; then
|
||||||
|
echo "BACKUP_ENABLED=${BACKUP_ENABLED}"
|
||||||
|
|
||||||
|
echo "$BACKUP_CRON_EXPRESSION bash /usr/local/bin/backup" > "/home/steam/server/crontab"
|
||||||
|
supercronic "/home/steam/server/crontab" &
|
||||||
|
fi
|
||||||
|
|
||||||
# Configure RCON settings
|
# Configure RCON settings
|
||||||
cat >/home/steam/server/rcon.yaml <<EOL
|
cat >/home/steam/server/rcon.yaml <<EOL
|
||||||
default:
|
default:
|
||||||
|
|||||||
Reference in New Issue
Block a user