From 47e11dff69c8c6c4829047d0cc58e234191f57fa Mon Sep 17 00:00:00 2001 From: James Ketrenos Date: Fri, 6 Oct 2023 14:52:34 -0700 Subject: [PATCH] Dockerized Signed-off-by: James Ketrenos --- .dockerignore | 5 +++++ Dockerfile | 36 ++++++++++++++++++++++++++++++++++++ server/package.json | 1 - 3 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 .dockerignore create mode 100644 Dockerfile diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..5b92281 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,5 @@ +* +!server +server/node_modules +!Dockerfile +!.env diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..38dd56e --- /dev/null +++ b/Dockerfile @@ -0,0 +1,36 @@ +FROM ubuntu:jammy + +RUN apt-get -q update \ + && DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y \ + ca-certificates curl gnupg \ + curl \ + nano \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/{apt,dpkg,cache,log} +RUN mkdir -p /etc/apt/keyrings +RUN curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg + +ENV NODE_MAJOR=20 +RUN echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list + +RUN apt-get -q update \ + && DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y \ + nodejs \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/{apt,dpkg,cache,log} + +RUN apt-get -q update \ + && DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y \ + sqlite3 \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/{apt,dpkg,cache,log} + +COPY /server /server +WORKDIR /server +RUN npm install -s sqlite3 +RUN npm install + +COPY /Dockerfile /Dockerfile +COPY /.env /.env + +ENTRYPOINT [ "npm", "start" ] diff --git a/server/package.json b/server/package.json index 3a4daab..19a0b44 100644 --- a/server/package.json +++ b/server/package.json @@ -27,7 +27,6 @@ "nodemailer": "^6.3.0", "random-words": "^1.1.2", "sequelize": "^5.21.6", - "sqlite3": "^4.1.1", "typeface-roboto": "0.0.75", "ws": "^8.5.0" },