Skip to content

Instantly share code, notes, and snippets.

@vlOd2
Created August 30, 2026 22:14
Show Gist options
  • Select an option

  • Save vlOd2/53d485baa9c09d4617f3d3e16aae0114 to your computer and use it in GitHub Desktop.

Select an option

Save vlOd2/53d485baa9c09d4617f3d3e16aae0114 to your computer and use it in GitHub Desktop.
Harmony Dockerfile
FROM node:lts-alpine3.24 AS builder
RUN apk add --no-cache \
build-base \
g++ \
cairo-dev \
pango-dev \
jpeg-dev \
giflib-dev \
librsvg-dev \
pixman-dev \
git \
python3
RUN git clone --depth=1 https://codeberg.org/MelodyChat/Harmony
WORKDIR /Harmony
RUN npm install
RUN npm run build
FROM node:lts-alpine3.24 AS runner
RUN apk add --no-cache \
cairo \
pango \
jpeg \
giflib \
librsvg \
pixman \
git \
python3 \
file
WORKDIR /app
COPY --from=builder ./Harmony/. .
WORKDIR /data
ENV CONFIG_PATH=/data/config.json
ENV CONFIG_READONLY=1
ENV STORAGE_LOCATION=/data/files
ENV STORAGE_PROVIDER=file
ENV PORT=3001
EXPOSE 3001
FROM runner AS harmony-api
ENTRYPOINT ["node", "/app/dist/api/start.js"]
FROM runner AS harmony-gateway
ENV APPLY_DB_MIGRATIONS=false
ENTRYPOINT ["node", "/app/dist/gateway/start.js"]
FROM runner AS harmony-cdn
ENV APPLY_DB_MIGRATIONS=false
ENTRYPOINT ["node", "/app/dist/cdn/start.js"]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment