Add monorepo structure for NexaVPN WireGuard control plane including: - .gitignore for node_modules, build artifacts, and environment files - README with project overview, monorepo layout, and quick start guide - Admin web UI with React, Vite, TypeScript, and nginx reverse proxy - API client with type definitions for users, devices, policies, gateways, and audit logs - Admin pages for dashboard, users, devices, policies, g
15 lines
355 B
Docker
15 lines
355 B
Docker
FROM golang:1.23-alpine AS builder
|
|
WORKDIR /src
|
|
COPY go.mod ./
|
|
RUN go mod download
|
|
COPY . .
|
|
RUN CGO_ENABLED=0 GOOS=linux go build -o /out/nexavpn-api ./cmd/api
|
|
|
|
FROM alpine:3.21
|
|
WORKDIR /app
|
|
COPY --from=builder /out/nexavpn-api /usr/local/bin/nexavpn-api
|
|
COPY migrations ./migrations
|
|
COPY seed ./seed
|
|
EXPOSE 8080
|
|
ENTRYPOINT ["/usr/local/bin/nexavpn-api"]
|