55 lines
1.3 KiB
Docker
55 lines
1.3 KiB
Docker
|
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"]
|