Release: v0.1.0-alpha
Release Docker Image / Build & Push Docker Image (release) Failing after 1m30s
Release Docker Image / Build & Push Docker Image (release) Failing after 1m30s
This commit is contained in:
+45
@@ -0,0 +1,45 @@
|
||||
# Keywarden - Centralized SSH Key Management and Deployment
|
||||
# Multi-stage build for minimal image size
|
||||
|
||||
# Stage 1: Build
|
||||
FROM golang:1.26-alpine AS builder
|
||||
|
||||
RUN apk add --no-cache gcc musl-dev sqlite-dev
|
||||
|
||||
WORKDIR /build
|
||||
COPY go.mod go.sum ./
|
||||
RUN go mod download
|
||||
|
||||
COPY . .
|
||||
RUN CGO_ENABLED=1 GOOS=linux go build -o keywarden -ldflags="-s -w" ./cmd/keywarden/
|
||||
|
||||
# Stage 2: Runtime
|
||||
FROM alpine:3.21
|
||||
|
||||
RUN apk add --no-cache ca-certificates sqlite-libs tzdata curl
|
||||
|
||||
RUN addgroup -S keywarden && adduser -S keywarden -G keywarden
|
||||
|
||||
WORKDIR /app
|
||||
COPY --from=builder /build/keywarden .
|
||||
|
||||
RUN mkdir -p /data/keys /data/master /data/avatars && \
|
||||
chown -R keywarden:keywarden /data /app
|
||||
|
||||
USER keywarden
|
||||
|
||||
ENV KEYWARDEN_PORT=8080
|
||||
ENV KEYWARDEN_DB_PATH=/data/keywarden.db
|
||||
ENV KEYWARDEN_DATA_DIR=/data
|
||||
ENV KEYWARDEN_KEYS_DIR=/data/keys
|
||||
ENV KEYWARDEN_MASTER_DIR=/data/master
|
||||
ENV KEYWARDEN_ENCRYPTION_KEY=change-me-encryption-key-32chars
|
||||
|
||||
EXPOSE 8080
|
||||
|
||||
VOLUME ["/data"]
|
||||
|
||||
HEALTHCHECK --interval=30s --timeout=5s --start-period=10s --retries=3 \
|
||||
CMD curl -f http://localhost:${KEYWARDEN_PORT:-8080}/api/health || exit 1
|
||||
|
||||
ENTRYPOINT ["./keywarden"]
|
||||
Reference in New Issue
Block a user