diff --git a/Dockerfile b/Dockerfile index 85c2883..19dfbc8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,21 +4,21 @@ FROM golang:1.25.1-bookworm AS build-env ADD . /dockerbuild WORKDIR /dockerbuild -RUN GIT_VERSION=$(git describe --tags --long --always) && \ +RUN GIT_VERSION=$(git describe --tags --long --always || echo "dev-local") && \ go mod tidy && \ - go build -o cocoon ./cmd/cocoon + go build -ldflags "-X main.Version=$GIT_VERSION" -o cocoon ./cmd/cocoon ### Run stage FROM debian:bookworm-slim AS run -RUN apt-get update && apt-get install -y dumb-init runit +RUN apt-get update && apt-get install -y dumb-init runit ca-certificates && rm -rf /var/lib/apt/lists/* ENTRYPOINT ["dumb-init", "--"] WORKDIR / RUN mkdir -p data/cocoon COPY --from=build-env /dockerbuild/cocoon / -CMD ["/cocoon"] +CMD ["/cocoon", "run"] LABEL org.opencontainers.image.source=https://github.com/haileyok/cocoon LABEL org.opencontainers.image.description="Cocoon ATProto PDS" diff --git a/server/handle_actor_get_preferences.go b/server/handle_actor_get_preferences.go index f23e26a..0407e8a 100644 --- a/server/handle_actor_get_preferences.go +++ b/server/handle_actor_get_preferences.go @@ -16,7 +16,7 @@ func (s *Server) handleActorGetPreferences(e echo.Context) error { err := json.Unmarshal(repo.Preferences, &prefs) if err != nil || prefs["preferences"] == nil { prefs = map[string]any{ - "preferences": map[string]any{}, + "preferences": []any{}, } } diff --git a/server/server.go b/server/server.go index d2d8a92..07f3ae7 100644 --- a/server/server.go +++ b/server/server.go @@ -284,7 +284,7 @@ func New(args *Args) (*Server, error) { IdleTimeout: 5 * time.Minute, } - gdb, err := gorm.Open(sqlite.Open("cocoon.db"), &gorm.Config{}) + gdb, err := gorm.Open(sqlite.Open(args.DbName), &gorm.Config{}) if err != nil { return nil, err } @@ -387,7 +387,7 @@ func New(args *Args) (*Server, error) { // TODO: should validate these args if args.SmtpUser == "" || args.SmtpPass == "" || args.SmtpHost == "" || args.SmtpPort == "" || args.SmtpEmail == "" || args.SmtpName == "" { - args.Logger.Warn("not enough smpt args were provided. mailing will not work for your server.") + args.Logger.Warn("not enough smtp args were provided. mailing will not work for your server.") } else { mail := mailyak.New(args.SmtpHost+":"+args.SmtpPort, smtp.PlainAuth("", args.SmtpUser, args.SmtpPass, args.SmtpHost)) mail.From(s.config.SmtpEmail)