From 32a472133670922c6dfd5caf3cb1ba0efea94b7e Mon Sep 17 00:00:00 2001 From: Edenn Touitou Date: Sun, 15 Feb 2026 03:31:29 +0100 Subject: [PATCH] feat: Dockerfile and docker-compose for web self-hosting --- Dockerfile | 18 ++++++++++++++++++ docker-compose.yml | 14 ++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 Dockerfile create mode 100644 docker-compose.yml diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..41bafbd --- /dev/null +++ b/Dockerfile @@ -0,0 +1,18 @@ +FROM node:latest as builder + +WORKDIR /home/app +COPY ./fluux-messenger/package.json ./fluux-messenger/package-lock.json ./ + +RUN npm install --frozen-lockfile + +COPY ./fluux-messenger/ /home/app +RUN npm run build + +FROM nginx:alpine AS production + +# Copy the production build artifacts from the build stage +COPY --from=builder /home/app/apps/fluux/dist /usr/share/nginx/html + +# Expose the default NGINX port +EXPOSE 80 +CMD ["nginx", "-g", "daemon off;"] diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..d44f678 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,14 @@ +services: + ejabberd: + image: ghcr.io/processone/ecs + container_name: ejabberd + volumes: + - ./conf/ejabberd.yml:/opt/ejabberd/conf/ejabberd.yml + - ./database:/opt/ejabberd/database + - ./logs:/opt/ejabberd/logs + - ./upload:/opt/ejabberd/upload + fluux-messenger: + build: . + container_name: fluux-messenger + working_dir: /home/app + restart: unless-stopped