- Remove `api_endpoint` from Settings model and settings UI - Add `--llm-endpoint` / `AETHERA_LLM_ENDPOINT` and `--llm-key` / `AETHERA_LLM_KEY` CLI flags (endpoint is required) - Update client constructor to accept API key parameter - Update tests and documentation to reflect new configuration approach BREAKING CHANGE: LLM endpoint and key must now be provided via `AETHERA_LLM_ENDPOINT` and `AETHERA_LLM_KEY` environment variables or CLI flags instead of the Settings page.
34 lines
947 B
Docker
34 lines
947 B
Docker
# Step 1: Build Frontend
|
|
FROM oven/bun:1 AS frontend-builder
|
|
WORKDIR /app/frontend
|
|
COPY frontend/package.json frontend/bun.lock ./
|
|
RUN bun install --frozen-lockfile
|
|
COPY frontend/ ./
|
|
RUN bun run build
|
|
|
|
# Stage 2: Build Backend
|
|
FROM golang:1.25-alpine AS backend-builder
|
|
WORKDIR /app
|
|
RUN apk add --no-cache git
|
|
COPY backend/go.mod backend/go.sum ./
|
|
RUN go mod download
|
|
COPY backend/ ./
|
|
COPY --from=frontend-builder /app/frontend/public/ ./web/static/
|
|
RUN find ./web/static -type d -empty -delete && go build -ldflags="-w -s" -o aethera ./cmd
|
|
|
|
# Stage 3: Minimal Runtime
|
|
FROM alpine:3.21
|
|
RUN apk add --no-cache ca-certificates
|
|
WORKDIR /app
|
|
COPY --from=backend-builder /app/aethera .
|
|
RUN mkdir -p /app/data
|
|
|
|
EXPOSE 8080
|
|
ENV AETHERA_LISTEN=0.0.0.0
|
|
ENV AETHERA_PORT=8080
|
|
ENV AETHERA_DATA_DIR=/app/data
|
|
# LLM Configuration (required)
|
|
# ENV AETHERA_LLM_ENDPOINT=https://api.example.com/v1
|
|
# ENV AETHERA_LLM_KEY=your-api-key-here
|
|
ENTRYPOINT ["./aethera"]
|