From 6bdb3674dfbe285f62853bc3e4e9ad229a7fe392 Mon Sep 17 00:00:00 2001 From: Ava Gaiety W Date: Mon, 4 Mar 2024 04:33:05 +0000 Subject: [PATCH] self contained docker and nginx to self host on my homelab --- Dockerfile | 16 ++++++++++++++++ docker-compose.yml | 12 ++++++++++++ nginx.conf | 22 ++++++++++++++++++++++ 3 files changed, 50 insertions(+) create mode 100644 Dockerfile create mode 100644 docker-compose.yml create mode 100644 nginx.conf diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..924abb6 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,16 @@ +# build with nodejs +FROM node:16.17.0-bullseye-slim AS build +ENV NODE_ENV production +WORKDIR /app +COPY . /app +RUN mkdir -p dist node_modules +RUN chown -R node:node . +USER node +RUN NODE_ENV=development npm ci +RUN npm run build + +# serve compiled files with local nginx config +FROM nginx:alpine +WORKDIR /app +COPY --from=build /app/dist . +COPY ./nginx.conf /etc/nginx/nginx.conf diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..ec0ed4f --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,12 @@ +version: "3.9" + +services: + app: + container_name: nginx-fursona + image: nginx-fursona + build: + context: . + dockerfile: Dockerfile + restart: always + ports: + - "9999:8080" diff --git a/nginx.conf b/nginx.conf new file mode 100644 index 0000000..c738e06 --- /dev/null +++ b/nginx.conf @@ -0,0 +1,22 @@ +events { + worker_connections 1024; +} + +http { + include mime.types; + sendfile on; + + server { + listen 8080; + listen [::]:8080; + + resolver 127.0.0.11; + autoindex on; + + server_name _; + server_tokens off; + + root /app; + gzip_static on; + } +}