Compare commits
15 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
976be2b62c | ||
![]() |
8e72c29759 | ||
![]() |
9ee6225992 | ||
![]() |
b67f6bd42b | ||
![]() |
9533b2a37b | ||
b48ca970f3 | |||
e08fac47fd | |||
2109635929 | |||
59984ec3bb | |||
![]() |
d651ed3ea0 | ||
91eb5cabef | |||
629c53e055 | |||
![]() |
17293cd72d | ||
7217ca2320 | |||
c889386744 |
42
.drone.yml
Normal file
42
.drone.yml
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
pipeline:
|
||||||
|
dl-cache:
|
||||||
|
image: repo.shimun.net/drone-plugins/davfile
|
||||||
|
url: https://seaf.shimun.net/seafdav/Drone/cache/
|
||||||
|
secrets: ["docker_username", "docker_password"]
|
||||||
|
file: ${DRONE_REPO_NAME}.tar.gz
|
||||||
|
secrets: ["dav_username", "dav_password"]
|
||||||
|
ex-cache:
|
||||||
|
image: repo.shimun.net/plugins/tar
|
||||||
|
dest: /drone/
|
||||||
|
file: ${DRONE_REPO_NAME}.tar.gz
|
||||||
|
quiet: true
|
||||||
|
docker:
|
||||||
|
image: plugins/docker
|
||||||
|
repo: repo.shimun.net/shimun/sauerbraten
|
||||||
|
registry: repo.shimun.net
|
||||||
|
secrets: ["docker_username", "docker_password"]
|
||||||
|
storage_path: /drone/docker
|
||||||
|
use_cache: true
|
||||||
|
mk-cache:
|
||||||
|
image: repo.shimun.net/plugins/tar
|
||||||
|
dest: ${DRONE_REPO_NAME}.tar.gz
|
||||||
|
file: /drone/docker
|
||||||
|
quiet: true
|
||||||
|
up-cache:
|
||||||
|
image: repo.shimun.net/plugins/davfile
|
||||||
|
url: https://seaf.shimun.net/seafdav/Drone/cache/
|
||||||
|
upload: true
|
||||||
|
file: ${DRONE_REPO_NAME}.tar.gz
|
||||||
|
secrets: ["dav_username", "dav_password"]
|
||||||
|
group: fin
|
||||||
|
docker-p:
|
||||||
|
image: plugins/docker
|
||||||
|
repo: repo.shimun.net/sauerbraten
|
||||||
|
registry: repo.shimun.net
|
||||||
|
secrets: ["docker_username", "docker_password"]
|
||||||
|
use_cache: true
|
||||||
|
storage_path: /drone/docker
|
||||||
|
squash: true
|
||||||
|
when:
|
||||||
|
event: tag
|
||||||
|
group: fin
|
29
Dockerfile
29
Dockerfile
@ -1,11 +1,28 @@
|
|||||||
FROM debian:stretch
|
FROM frolvlad/alpine-glibc
|
||||||
|
|
||||||
RUN apt-get update && apt-get install zlib1g-dev libgeoip-dev build-essential -y
|
|
||||||
|
|
||||||
COPY src /usr/src/sauerbraten
|
COPY src /usr/src/sauerbraten
|
||||||
|
|
||||||
WORKDIR /usr/src/sauerbraten
|
RUN apk add --no-cache zlib geoip libstdc++
|
||||||
|
|
||||||
RUN make -C src install_server
|
ENV BUILD_DEPS="zlib-dev geoip-dev alpine-sdk"
|
||||||
|
|
||||||
ENTRYPOINT /usr/src/sauerbraten/bin_unix/native_server
|
RUN apk add --no-cache $BUILD_DEPS && cd /usr/src/sauerbraten && \
|
||||||
|
make -C src install_server && \
|
||||||
|
cp /usr/src/sauerbraten/bin_unix/native_server /usr/bin/sauerbraten-server && \
|
||||||
|
apk del --no-cache $BUILD_DEPS && rm -rf /usr/src/sauerbraten
|
||||||
|
|
||||||
|
COPY entrypoint.sh /sbin/
|
||||||
|
|
||||||
|
COPY src/server-init.cfg /etc/default/sauer-server.cfg
|
||||||
|
|
||||||
|
RUN chmod +x /sbin/entrypoint.sh
|
||||||
|
|
||||||
|
EXPOSE 28785 28786 28785/udp 28786/udp
|
||||||
|
|
||||||
|
VOLUME /opt/sauerbraten
|
||||||
|
|
||||||
|
WORKDIR /opt/sauerbraten
|
||||||
|
|
||||||
|
ENTRYPOINT /sbin/entrypoint.sh
|
||||||
|
|
||||||
|
CMD ["-d1", "-c18", "-g2"]
|
||||||
|
7
entrypoint.sh
Normal file
7
entrypoint.sh
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
if [ ! -e "/opt/sauerbraten/server-init.cfg" ]; then
|
||||||
|
cp "/etc/default/sauer-server.cfg" "/opt/sauerbraten/server-init.cfg"
|
||||||
|
fi
|
||||||
|
|
||||||
|
/usr/bin/sauerbraten-server "$@"
|
26
sauerbraten.service
Normal file
26
sauerbraten.service
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Sauerbraten Server container based on https://github.com/andrius4669/zeromod-sauerbraten
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Slice=machine.slice
|
||||||
|
# Resource limits
|
||||||
|
Delegate=true
|
||||||
|
CPUShares=256
|
||||||
|
MemoryLimit=128M
|
||||||
|
|
||||||
|
Environment=ROOT_DIR=/srv/sauerbraten
|
||||||
|
Environment=SAUER_PORT=4700
|
||||||
|
Environment=SAUER_CMD="-d1 -c18 -g2"
|
||||||
|
|
||||||
|
ExecStartPre=/bin/mkdir -p ${ROOT_DIR}
|
||||||
|
ExecStart=/usr/bin/rkt --insecure-options=image run --dns 8.8.8.8 --inherit-env --volume volume-opt-sauerbraten,kind=host,source=${ROOT_DIR} \
|
||||||
|
--port 28785-udp:${SAUER_PORT}5 --port 28786-udp:${SAUER_PORT}6 --port 28785-tcp:${SAUER_PORT}5 --port 28786-tcp:${SAUER_PORT}6 \
|
||||||
|
docker://repo.shimun.net/sauerbraten -- ${SAUER_CMD} --- --memory=64M
|
||||||
|
|
||||||
|
ExecStopPost=/usr/bin/rkt gc
|
||||||
|
KillMode=mixed
|
||||||
|
Restart=always
|
||||||
|
RestartSec=30
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
Loading…
x
Reference in New Issue
Block a user