feat: add Forge Dockerfile and docker-compose.yml

This commit is contained in:
plenarius
2026-04-20 18:38:52 -04:00
parent bc434254ce
commit c6a57fe448
4 changed files with 54 additions and 0 deletions
+5
View File
@@ -0,0 +1,5 @@
node_modules
dist
.git
*.log
.env
+7
View File
@@ -0,0 +1,7 @@
# Path where Forge stores repos, server data, and config
WORKSPACE_PATH=~/layonara-workspace
# Path to your NWN documents directory
# Windows: C:\Users\<you>\Documents\Neverwinter Nights
# Linux: ~/.local/share/Neverwinter Nights
NWN_HOME_PATH=
+28
View File
@@ -0,0 +1,28 @@
FROM node:20-slim AS builder
WORKDIR /app
COPY package.json tsconfig.base.json ./
COPY packages/backend/package.json packages/backend/
COPY packages/frontend/package.json packages/frontend/
RUN npm install
COPY packages/ packages/
RUN npm run build
FROM node:20-slim
RUN apt-get update && apt-get install -y --no-install-recommends \
curl \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY package.json tsconfig.base.json ./
COPY packages/backend/package.json packages/backend/
COPY packages/frontend/package.json packages/frontend/
RUN npm install --omit=dev
COPY --from=builder /app/packages/backend/dist packages/backend/dist
COPY --from=builder /app/packages/frontend/dist packages/frontend/dist
EXPOSE 3000
CMD ["node", "packages/backend/dist/index.js"]
+14
View File
@@ -0,0 +1,14 @@
services:
forge:
build: .
container_name: layonara-forge
restart: unless-stopped
ports:
- "3000:3000"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ${WORKSPACE_PATH:-~/layonara-workspace}:/workspace
- ${NWN_HOME_PATH:-/dev/null}:/nwn-home:ro
environment:
- WORKSPACE_PATH=/workspace
- NWN_HOME_PATH=/nwn-home