diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 00000000..749db005 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,12 @@ +node_modules +package-lock.json +yarn.lock + +filebase +db +drop +file_base +logs +mail +docs/_site +docs/.sass-cache \ No newline at end of file diff --git a/docker/Dockerfile b/docker/Dockerfile index b53c72df..c09b7a5c 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,4 +1,4 @@ -FROM node:14-buster-slim +FROM node:18-buster-slim LABEL maintainer="dave@force9.org" @@ -21,8 +21,10 @@ RUN apt-get update \ lhasa \ unrar-free \ p7zip-full \ + dos2unix \ + && npm install -g npm@latest \ && npm install -g pm2 \ - && cd /enigma-bbs && npm install --only=production \ + && cd /enigma-bbs && npm install \ && pm2 start main.js \ && mkdir -p /enigma-bbs-pre/art \ && mkdir /enigma-bbs-pre/mods \ @@ -37,6 +39,7 @@ RUN apt-get update \ # sexyz COPY docker/bin/sexyz /usr/local/bin +RUN dos2unix /enigma-bbs/docker/bin/docker-entrypoint.sh && apt-get remove dos2unix -y RUN chmod +x /enigma-bbs/docker/bin/docker-entrypoint.sh # enigma storage mounts diff --git a/docs/_docs/installation/docker.md b/docs/_docs/installation/docker.md index a6959b81..f2f7affa 100644 --- a/docs/_docs/installation/docker.md +++ b/docs/_docs/installation/docker.md @@ -71,5 +71,9 @@ Customising the Docker image is easy! 1. Clone the ENiGMA-BBS source. 2. Build the image ```bash -docker build -f ./docker/Dockerfile . +docker build -t enigmabbs -f ./docker/Dockerfile . +``` +3. Run the image +```bash +docker run -it -p 8888:8888 --name "ENiGMABBS" -v "$(pwd)/config:/enigma-bbs/config" -v "$(pwd)/db:/enigma-bbs/db" -v "$(pwd)/logs:/enigma-bbs/logs" -v "$(pwd)/filebase:/enigma-bbs/filebase" -v "$(pwd)/art:/enigma-bbs/art" -v "$(pwd)/mods:/enigma-bbs/mods" -v "$(pwd)/mail:/mail" enigmabbs ```