mirror of
https://github.com/evennia/evennia.git
synced 2025-10-29 11:26:10 +00:00
Certain evennia commands, such as the server command, rely upon ps to run correctly. Unfortunately, alpine uses the BusyBox ps command, which is somewhat idiosyncratic in its option handling. Adding the procps dependency installs a more standard ps command, allowing server maintenance commands to work correctly. This fixes #1635. For further background, see gliderlabs/docker-alpine#173.
56 lines
1.7 KiB
Docker
56 lines
1.7 KiB
Docker
#####
|
|
# Base docker image for running Evennia-based games in a container.
|
|
#
|
|
# Install:
|
|
# install `docker` (http://docker.com)
|
|
#
|
|
# Usage:
|
|
# cd to a folder where you want your game data to be (or where it already is).
|
|
#
|
|
# docker run -it -p 4000:4000 -p 4001:4001 -p 4005:4005 -v $PWD:/usr/src/game evennia/evennia
|
|
#
|
|
# (If your OS does not support $PWD, replace it with the full path to your current
|
|
# folder).
|
|
#
|
|
# You will end up in a shell where the `evennia` command is available. From here you
|
|
# can install and run the game normally. Use Ctrl-D to exit the evennia docker container.
|
|
#
|
|
# The evennia/evennia base image is found on DockerHub and can also be used
|
|
# as a base for creating your own custom containerized Evennia game. For more
|
|
# info, see https://github.com/evennia/evennia/wiki/Running%20Evennia%20in%20Docker .
|
|
#
|
|
FROM alpine
|
|
|
|
MAINTAINER www.evennia.com
|
|
|
|
# install compilation environment
|
|
RUN apk update && apk add python py-pip python-dev py-setuptools gcc \
|
|
musl-dev jpeg-dev zlib-dev bash procps
|
|
|
|
# add the project source
|
|
ADD . /usr/src/evennia
|
|
|
|
# install dependencies
|
|
RUN pip install -e /usr/src/evennia --trusted-host pypi.python.org
|
|
|
|
# add the game source when rebuilding a new docker image from inside
|
|
# a game dir
|
|
ONBUILD ADD . /usr/src/game
|
|
|
|
# make the game source hierarchy persistent with a named volume.
|
|
# mount on-disk game location here when using the container
|
|
# to just get an evennia environment.
|
|
VOLUME /usr/src/game
|
|
|
|
# set the working directory
|
|
WORKDIR /usr/src/game
|
|
|
|
# set bash prompt
|
|
ENV PS1 "evennia|docker \w $ "
|
|
|
|
# startup a shell when we start the container
|
|
ENTRYPOINT ["bash"]
|
|
|
|
# expose the telnet, webserver and websocket client ports
|
|
EXPOSE 4000 4001 4005
|