fix docker stuff
This commit is contained in:
14
Dockerfile
14
Dockerfile
@@ -1,4 +1,4 @@
|
|||||||
FROM golang:1.24 as builder
|
FROM golang:1.24 AS builder
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
@@ -10,14 +10,18 @@ COPY web ./web
|
|||||||
|
|
||||||
RUN CGO_ENABLED=0 GOOS=linux go build -o ./server
|
RUN CGO_ENABLED=0 GOOS=linux go build -o ./server
|
||||||
|
|
||||||
FROM gcr.io/distroless/base-debian11 AS build-release-stage
|
FROM alpine:3.21.3
|
||||||
|
|
||||||
COPY --from=builder /app/server /app/server
|
ARG uid
|
||||||
|
ARG gid
|
||||||
|
RUN apk add --no-cache tzdata && addgroup -g ${gid} -S nonroot && adduser -u ${uid} -S nonroot -G nonroot
|
||||||
|
|
||||||
|
COPY --from=builder --chown=nonroot:nonroot /app/server /app/server
|
||||||
|
WORKDIR /app
|
||||||
|
RUN chown -R nonroot:nonroot /app
|
||||||
|
|
||||||
USER nonroot:nonroot
|
USER nonroot:nonroot
|
||||||
|
|
||||||
WORKDIR /app
|
|
||||||
|
|
||||||
EXPOSE 8080
|
EXPOSE 8080
|
||||||
|
|
||||||
ENTRYPOINT ["./server"]
|
ENTRYPOINT ["./server"]
|
||||||
|
@@ -2,8 +2,14 @@ services:
|
|||||||
server:
|
server:
|
||||||
build:
|
build:
|
||||||
dockerfile: ./Dockerfile
|
dockerfile: ./Dockerfile
|
||||||
env_file:
|
args:
|
||||||
- .env
|
uid: $UID
|
||||||
|
gid: $GID
|
||||||
|
environment:
|
||||||
|
GEMINI_API_KEY: $GEMINI_API_KEY
|
||||||
|
OPEN_WEATHER_MAP_API_KEY: $OPEN_WEATHER_MAP_API_KEY
|
||||||
|
VAPID_PRIVATE_KEY_BASE64: $VAPID_PRIVATE_KEY_BASE64
|
||||||
|
VAPID_PUBLIC_KEY_BASE64: $VAPID_PUBLIC_KEY_BASE64
|
||||||
ports:
|
ports:
|
||||||
- "8080:8080"
|
- "8080:8080"
|
||||||
volumes:
|
volumes:
|
||||||
|
6
main.go
6
main.go
@@ -417,6 +417,12 @@ func handleHTTPRequest(state *state) http.HandlerFunc {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func initDB() (*sql.DB, error) {
|
func initDB() (*sql.DB, error) {
|
||||||
|
f, err := os.OpenFile("data/data.sqlite", os.O_CREATE|os.O_WRONLY, 0644)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
f.Close()
|
||||||
|
|
||||||
db, err := sql.Open("sqlite", "file:data/data.sqlite")
|
db, err := sql.Open("sqlite", "file:data/data.sqlite")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatalln("failed to initialize database")
|
log.Fatalln("failed to initialize database")
|
||||||
|
Reference in New Issue
Block a user