From fb7d5bfb0b780486d3b6191dda7c0a340abe286e Mon Sep 17 00:00:00 2001 From: Adam Mathes Date: Fri, 13 Feb 2026 17:03:35 -0800 Subject: feat: add docker support and update readme (NK-kqt9oc) --- Dockerfile | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 Dockerfile (limited to 'Dockerfile') diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..89ba3fd --- /dev/null +++ b/Dockerfile @@ -0,0 +1,40 @@ +# Stage 1: Frontend Build +FROM node:20-slim AS frontend-builder +WORKDIR /app/frontend +COPY frontend/package*.json ./ +RUN npm install +COPY frontend/ ./ +RUN npm run build + +# Stage 2: Backend Build +FROM golang:1.23-bullseye AS backend-builder +RUN go install github.com/GeertJohan/go.rice/rice@latest + +WORKDIR /app +COPY go.mod go.sum ./ +RUN go mod download + +COPY . . +# Copy built frontend assets from Stage 1 +COPY --from=frontend-builder /app/frontend/dist ./frontend/dist + +# Embed assets and build the binary +RUN rice -i ./web embed-go +RUN go build -o neko . + +# Stage 3: Final Image +FROM debian:bullseye-slim +WORKDIR /app +COPY --from=backend-builder /app/neko . +COPY --from=backend-builder /app/static ./static + +# Ensure data directory exists +RUN mkdir -p /app/data + +# Default environment variables +ENV NEKO_PORT=8080 +ENV NEKO_DB=/app/data/neko.db + +EXPOSE 8080 + +CMD ["./neko", "-s", "8080", "-d", "/app/data/neko.db"] -- cgit v1.2.3