mirror of
https://github.com/hay-kot/homebox.git
synced 2024-12-18 04:56:30 +00:00
setup docker volumes & versions
This commit is contained in:
parent
0b92d57b85
commit
1dc9d6396a
7 changed files with 35 additions and 16 deletions
1
.github/workflows/publish.yaml
vendored
1
.github/workflows/publish.yaml
vendored
|
@ -64,6 +64,7 @@ jobs:
|
|||
docker build --push \
|
||||
--tag ghcr.io/hay-kot/homebox:nightly \
|
||||
--build-arg COMMIT=$(git rev-parse HEAD) \
|
||||
--build-arg BUILD_TIME=$(date -u +"%Y-%m-%dT%H:%M:%SZ") \
|
||||
--platform linux/amd64,linux/arm64,linux/arm/v7 .
|
||||
|
||||
deploy-docs:
|
||||
|
|
24
Dockerfile
24
Dockerfile
|
@ -1,3 +1,4 @@
|
|||
|
||||
# Build Nuxt
|
||||
FROM node:17-alpine as frontend-builder
|
||||
WORKDIR /app
|
||||
|
@ -6,27 +7,31 @@ COPY frontend/package.json frontend/pnpm-lock.yaml ./
|
|||
RUN pnpm install --frozen-lockfile --shamefully-hoist
|
||||
COPY frontend .
|
||||
RUN pnpm build
|
||||
RUN ls -la /app/.output/
|
||||
|
||||
# Build API
|
||||
FROM golang:alpine AS builder
|
||||
RUN apk update
|
||||
RUN apk upgrade
|
||||
RUN apk add --update git build-base gcc g++
|
||||
ARG BUILD_TIME
|
||||
ARG COMMIT
|
||||
RUN apk update && \
|
||||
apk upgrade && \
|
||||
apk add --update git build-base gcc g++
|
||||
|
||||
WORKDIR /go/src/app
|
||||
COPY ./backend .
|
||||
RUN go get -d -v ./...
|
||||
RUN rm -rf ./app/api/public
|
||||
COPY --from=frontend-builder /app/.output/public ./app/api/public
|
||||
RUN CGO_ENABLED=1 GOOS=linux go build \
|
||||
-ldflags "-s -w -X main.Commit=$COMMIT -X main.BuildTime=$BUILD_TIME" \
|
||||
-o /go/bin/api \
|
||||
-v ./app/api/*.go \
|
||||
-ldflags "-s -w -X main.Commit `git rev-parse HEAD` -X main.BuildTime `date -u +%Y-%m-%dT%H:%M:%SZ`"
|
||||
-v ./app/api/*.go
|
||||
|
||||
# Production Stage
|
||||
FROM alpine:latest
|
||||
|
||||
RUN apk --no-cache add ca-certificates
|
||||
COPY ./backend/config.template.yml /app/config.yml
|
||||
COPY ./backend/config.template.yml /data/config.yml
|
||||
RUN mkdir /app
|
||||
COPY --from=builder /go/bin/api /app
|
||||
|
||||
RUN chmod +x /app/api
|
||||
|
@ -34,4 +39,7 @@ RUN chmod +x /app/api
|
|||
LABEL Name=homebox Version=0.0.1
|
||||
EXPOSE 7745
|
||||
WORKDIR /app
|
||||
CMD [ "./api" ]
|
||||
VOLUME [ "/data" ]
|
||||
|
||||
ENTRYPOINT [ "/app/api" ]
|
||||
CMD [ "/data/config.yml" ]
|
|
@ -60,10 +60,10 @@
|
|||
- [ ] Contributors Guide
|
||||
- [x] Security Policy
|
||||
- [ ] Feature Request Template
|
||||
- [ ] Embedded Version Info
|
||||
- [ ] Version Number
|
||||
- [ ] Git Has
|
||||
- [ ] Setup Docker Volumes in Dockerfile
|
||||
- [x] Embedded Version Info
|
||||
- [x] Version Number
|
||||
- [x] Git Hash
|
||||
- [x] Setup Docker Volumes in Dockerfile
|
||||
|
||||
## All Todo's
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@ tasks:
|
|||
api:
|
||||
cmds:
|
||||
- task: generate
|
||||
- cd backend && go run ./app/api/ {{.CLI_ARGS}}
|
||||
- cd backend && go run ./app/api/ {{.CLI_ARGS}} ./config.yml
|
||||
silent: false
|
||||
|
||||
api:build:
|
||||
|
|
|
@ -2,6 +2,7 @@ package main
|
|||
|
||||
import (
|
||||
"context"
|
||||
"os"
|
||||
"time"
|
||||
|
||||
"github.com/hay-kot/content/backend/app/api/docs"
|
||||
|
@ -31,10 +32,16 @@ var (
|
|||
// @name Authorization
|
||||
// @description "Type 'Bearer TOKEN' to correctly set the API Key"
|
||||
func main() {
|
||||
path := ""
|
||||
if len(os.Args) > 1 {
|
||||
path = os.Args[1]
|
||||
}
|
||||
|
||||
cfgFile := "config.yml"
|
||||
if path == "" {
|
||||
log.Warn().Msg("No configuration detected, using defaults")
|
||||
}
|
||||
|
||||
cfg, err := config.NewConfig(cfgFile)
|
||||
cfg, err := config.NewConfig(path)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
|
|
@ -14,5 +14,5 @@ type ApiSummary struct {
|
|||
type Build struct {
|
||||
Version string `json:"version"`
|
||||
Commit string `json:"commit"`
|
||||
BuildTime string `json:"build_time"`
|
||||
BuildTime string `json:"buildTime"`
|
||||
}
|
||||
|
|
|
@ -6,5 +6,8 @@ services:
|
|||
build:
|
||||
context: .
|
||||
dockerfile: ./Dockerfile
|
||||
args:
|
||||
- COMMIT=head
|
||||
- BUILD_TIME=0001-01-01T00:00:00Z
|
||||
ports:
|
||||
- 3100:7745
|
||||
|
|
Loading…
Reference in a new issue