Skip to content
Snippets Groups Projects
Select Git revision
  • master
1 result

Dockerfile

Blame
  • Dockerfile 1.73 KiB
    #
    # nQuakeSV - The nQuake Server
    #
    # docker run --name nquakesv \
    #  -p 28501:28501/udp -p 28501:28501 -p 28000:28000 -p 30000:30000/udp \
    #  -v /local/path/to/pak1.pak:/nquakesv/id1/pak1.pak \
    #  -e HOSTNAME=nQuakeSV -e HOSTDNS=qw.example.com \
    #  -e ADMINNAME="John Doe" -e ADMINEMAIL="john.doe@example.com" \
    #  -e RCON=changeme -e QTVPW=changeme -e FFA=1 \
    #   registry.faked.org/nquakesv
    #
    
    FROM ubuntu:latest
    MAINTAINER Jan Grewe <jan@faked.org>
    
    # msdsv
    EXPOSE 28501/udp
    # qtv
    EXPOSE 28501/tcp
    # qtv web
    EXPOSE 28000/tcp
    # qwfwd
    EXPOSE 30000/udp
    
    ENV DEBIAN_FRONTEND noninteractive
    RUN apt-get -qq update && \
        apt-get install -qqy --no-install-recommends \
          ca-certificates \
          curl \
          supervisor \
          unzip \
          wget \
      && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
    
    ARG HOSTNAME
    ENV HOSTNAME ${HOSTNAME:-nQuakeSV}
    ARG HOSTDNS
    ENV HOSTDNS ${HOSTDNS:-qw.example.com}
    ARG QTV
    ENV QTV ${QTV:-y}
    ARG QWFWD
    ENV QWFWD ${QWFWD:-y}
    ARG ADMINNAME
    ENV ADMINNAME ${ADMINNAME:-John Doe}
    ARG ADMINEMAIL
    ENV ADMINEMAIL ${ADMINEMAIL:-john.doe@example.com}
    ARG RCON
    ENV RCON ${RCON:-changeme}
    ARG QTVPW
    ENV QTVPW ${QTVPW:-changeme}
    ARG SEARCHPAK
    ENV SEARCHPAK ${SEARCHPAK:-n}
    
    ARG FFA
    ENV FFA ${FFA:-0}
    
    ENV PORTS 1
    
    RUN curl -kL https://github.com/nQuake/server-linux/blob/master/releases/nquakesv_installer-linux-latest.tar.gz?raw=true | tar xvz \
      && printf "/nquakesv\n$HOSTNAME\n$HOSTDNS\n$PORTS\n$QTV\n$QWFWD\n$ADMINNAME\n$ADMINEMAIL\n$RCON\n$QTVPW\n$SEARCHPAK\n\n" | /bin/bash /install_nquakesv.sh
    
    COPY start.sh /nquakesv/start.sh
    COPY supervisord.conf /etc/supervisor/supervisord.conf
    
    WORKDIR /nquakesv
    CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]