pso-newserv-docker/docker-image/Dockerfile

55 lines
1.3 KiB
Docker
Raw Normal View History

2023-12-02 18:53:16 -05:00
FROM ubuntu:22.04 as builder
MAINTAINER Gered King <gered@blarg.ca>
ARG GIT_REV_PHOSG
ARG GIT_REV_NEWSERV
# ------------------------------------------------------------------------------
RUN apt-get update && \
apt-get install -y build-essential cmake git libevent-dev zlib1g-dev python3
# build and install phosg, a dependency of newserv
RUN mkdir /tmp/phosg && \
cd /tmp/phosg && \
git clone https://github.com/fuzziqersoftware/phosg.git . && \
git checkout $GIT_REV_PHOSG && \
cmake . && \
make && \
make install && \
cd -
# build newserv itself
RUN mkdir /tmp/newserv && \
cd /tmp/newserv && \
git clone https://github.com/fuzziqersoftware/newserv.git . && \
git checkout $GIT_REV_NEWSERV && \
cmake . && \
make && \
cd -
# ------------------------------------------------------------------------------
FROM ubuntu:22.04
ARG UID
ARG GID
USER root
RUN apt-get update && \
apt-get install -y libevent-dev zlib1g-dev && \
groupadd --gid $GID newserv && \
useradd -m -d /opt/newserv -s /bin/bash --gid newserv --uid $UID newserv
WORKDIR /opt/newserv
COPY --chown=newserv:newserv --from=builder /tmp/newserv/newserv .
COPY --chown=newserv:newserv --from=builder /tmp/newserv/system ./new-system-template
COPY entrypoint.sh /entrypoint.sh
USER newserv
VOLUME /opt/newserv/system
ENTRYPOINT ["/entrypoint.sh"]