mirror of
https://github.com/steveiliop56/tinyauth.git
synced 2025-10-28 04:35:40 +00:00
* wip * feat: make forms functional * feat: finalize pages * chore: remove unused translations * feat: app context * feat: user context * feat: finalize username login * fix: use correct tab order in login form * feat: add oauth logic * chore: update readme and assets * chore: rename docs back to assets * feat: favicons * feat: custom background image config option * chore: add acknowledgements for background image * feat: sanitize redirect URL * feat: sanitize redirect URL on check * chore: fix dependabot config * refactor: bot suggestions * fix: correctly redirect to app and check for untrusted redirects * fix: run oauth auto redirect only when there is a redirect URI * refactor: change select color * fix: fix dockerfiles * fix: fix hook rendering * chore: remove translations cdn * chore: formatting * feat: validate api response against zod schema * fix: use axios error instead of generic error in login page
58 lines
1.2 KiB
Docker
58 lines
1.2 KiB
Docker
# Arguments
|
|
ARG VERSION
|
|
ARG COMMIT_HASH
|
|
ARG BUILD_TIMESTAMP
|
|
|
|
# Site builder
|
|
FROM oven/bun:1.2.12-alpine AS frontend-builder
|
|
|
|
WORKDIR /frontend
|
|
|
|
COPY ./frontend/package.json ./
|
|
COPY ./frontend/bun.lock ./
|
|
|
|
RUN bun install
|
|
|
|
COPY ./frontend/public ./public
|
|
COPY ./frontend/src ./src
|
|
COPY ./frontend/eslint.config.js ./
|
|
COPY ./frontend/index.html ./
|
|
COPY ./frontend/tsconfig.json ./
|
|
COPY ./frontend/tsconfig.app.json ./
|
|
COPY ./frontend/tsconfig.node.json ./
|
|
COPY ./frontend/vite.config.ts ./
|
|
|
|
RUN bun run build
|
|
|
|
# Builder
|
|
FROM golang:1.24-alpine3.21 AS builder
|
|
|
|
WORKDIR /tinyauth
|
|
|
|
COPY go.mod ./
|
|
COPY go.sum ./
|
|
|
|
RUN go mod download
|
|
|
|
COPY ./main.go ./
|
|
COPY ./cmd ./cmd
|
|
COPY ./internal ./internal
|
|
COPY --from=frontend-builder /frontend/dist ./internal/assets/dist
|
|
|
|
RUN go build -ldflags "-s -w -X tinyauth/internal/constants.Version=${VERSION} -X tinyauth/internal/constants.CommitHash=${COMMIT_HASH} -X tinyauth/internal/constants.BuildTimestamp=${BUILD_TIMESTAMP}"
|
|
|
|
# Runner
|
|
FROM alpine:3.21 AS runner
|
|
|
|
WORKDIR /tinyauth
|
|
|
|
RUN apk add --no-cache curl
|
|
|
|
COPY --from=builder /tinyauth/tinyauth ./
|
|
|
|
EXPOSE 3000
|
|
|
|
HEALTHCHECK --interval=10s --timeout=5s \
|
|
CMD curl -f http://localhost:3000/api/healthcheck || exit 1
|
|
|
|
ENTRYPOINT ["./tinyauth"] |