From 3331925b3d8a9e8cfb0c075e77efdad03279d91d Mon Sep 17 00:00:00 2001 From: ari melody Date: Tue, 3 Oct 2023 20:39:47 +0100 Subject: [PATCH] =?UTF-8?q?dockerisation=20=F0=9F=90=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .dockerignore | 8 ++++++++ .gitignore | 2 ++ Dockerfile | 15 +++++++++++++++ docker-compose-example.yml | 14 ++++++++++++++ server/main.js | 2 +- 5 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 .dockerignore create mode 100644 Dockerfile create mode 100644 docker-compose-example.yml diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..206568c --- /dev/null +++ b/.dockerignore @@ -0,0 +1,8 @@ +node_modules/ +certs/ +.git/ +.DS_Store +.gitignore +README.md +nodemon.json +*.service diff --git a/.gitignore b/.gitignore index 332bbc0..3efccf1 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ **/.DS_Store node_modules/ certs/ +docker-compose*.yml +!docker-compose-example.yml diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..8372847 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,15 @@ +FROM node:20-alpine3.18 + +# set working directory +WORKDIR /srv/openterminal + +# install dependencies +COPY package*.json ./ +RUN npm ci --omit=dev + +COPY . . + +EXPOSE 8080 + +CMD [ "node", "./server/main.js" ] + diff --git a/docker-compose-example.yml b/docker-compose-example.yml new file mode 100644 index 0000000..de3f038 --- /dev/null +++ b/docker-compose-example.yml @@ -0,0 +1,14 @@ +version: "3.9" +services: + web: + build: . + image: openterminal + container_name: openterminal + ports: + - 443:443 + volumes: + - ./certs/cert.crt:/srv/openterminal/certs/cert.crt + - ./certs/cert.key:/srv/openterminal/certs/cert.key + environment: + PORT: 443 + restart: unless-stopped diff --git a/server/main.js b/server/main.js index b3e16f0..aa63713 100644 --- a/server/main.js +++ b/server/main.js @@ -65,7 +65,7 @@ This connection will now terminate. `; -const PORT = process.env.PORT || 8080; +const PORT = process.env.PORT || 8443; const PING_INTERVAL = 10000; let sockets = [];