mirror of
https://github.com/pvpgn/pvpgn-server
synced 2026-08-24 18:23:04 -04:00
78 lines
No EOL
2.3 KiB
Docker
78 lines
No EOL
2.3 KiB
Docker
FROM ubuntu:bionic
|
|
|
|
LABEL maintainer="Aperture <aperture147@gmail.com>"
|
|
|
|
# Bypass tzdata config
|
|
ENV TZ=UTC
|
|
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
|
|
|
|
ARG with_mysql=true
|
|
ARG with_sqlite3=false
|
|
ARG with_pgsql=false
|
|
ARG with_odbc=false
|
|
ARG with_lua=false
|
|
|
|
ARG with_bnetd=true
|
|
ARG with_d2cs=false
|
|
ARG with_d2dbs=false
|
|
|
|
ARG git_repo=https://github.com/pvpgn/pvpgn-server.git
|
|
ARG git_branch=develop
|
|
|
|
RUN apt-get update && \
|
|
apt-get install -y --no-install-recommends \
|
|
git \
|
|
netbase \
|
|
ca-certificates \
|
|
gcc g++ \
|
|
libc6-dev libc6 \
|
|
libc++-dev libc++1 \
|
|
zlib1g-dev zlib1g \
|
|
libcurl4-openssl-dev libcurl4 \
|
|
cmake make \
|
|
$(if ${with_mysql}; then echo "libmysqlclient-dev libmysqlclient20"; fi) \
|
|
$(if ${with_sqlite3}; then echo "libsqlite3-dev libsqlite3-0"; fi) \
|
|
$(if ${with_pgsql}; then echo "libpq-dev libpq5"; fi) \
|
|
$(if ${with_odbc}; then echo "unixodbc-dev libodbc1"; fi) \
|
|
$(if ${with_lua}; then echo "liblua5.1-0-dev liblua5.1-0"; fi) && \
|
|
git clone --depth=1 ${git_repo} pvpgn-server && \
|
|
cd pvpgn-server && \
|
|
git checkout ${git_branch} && \
|
|
cmake -G "Unix Makefiles" -H./ -B./build \
|
|
-DWITH_BNETD=${with_bnetd} \
|
|
-DWITH_D2CS=${with_d2cs} \
|
|
-DWITH_D2DBS=${with_d2dbs} \
|
|
-DWITH_LUA=${with_lua} \
|
|
-DWITH_MYSQL=${with_mysql} \
|
|
-DWITH_SQLITE3=${with_sqlite3} \
|
|
-DWITH_PGSQL=${with_pgsql} \
|
|
-DWITH_ODBC=${with_odbc} && \
|
|
cd build && make -j$(nproc) && make install && \
|
|
apt-get autoremove --purge -y \
|
|
git \
|
|
gcc g++ \
|
|
libc6-dev \
|
|
libc++-dev \
|
|
zlib1g-dev \
|
|
libcurl4-openssl-dev \
|
|
cmake make \
|
|
$(if ${with_mysql}; then echo "libmysqlclient-dev "; fi) \
|
|
$(if ${with_sqlite3}; then echo "libsqlite3-dev "; fi) \
|
|
$(if ${with_pgsql}; then echo "libpq-dev "; fi) \
|
|
$(if ${with_pgsql}; then echo "unixodbc-dev"; fi) \
|
|
$(if ${with_lua}; then echo "liblua5.1-0-dev"; fi) && \
|
|
rm -rf /var/lib/apt/lists/* /build/pvpgn-server && \
|
|
apt-get clean
|
|
|
|
WORKDIR /usr/local/sbin
|
|
|
|
# Expose ports for bnetd, d2cs and d2dbs
|
|
EXPOSE 6112 \
|
|
6112/udp \
|
|
6113 \
|
|
6113/udp \
|
|
6114 \
|
|
6114/udp
|
|
|
|
ENV SERVER_TYPE bnetd
|
|
CMD exec $SERVER_TYPE -D |