add dockerfile

add make commands for building and running using docker

remove localhost on server address so it's not locked
This commit is contained in:
Robin Olsen
2026-02-18 14:12:37 +01:00
parent de239254e5
commit ffa32ebd3a
5 changed files with 21 additions and 3 deletions

12
Dockerfile Normal file
View File

@@ -0,0 +1,12 @@
FROM golang:1.25.6-alpine AS builder
WORKDIR /app
COPY go.mod go.sum ./
RUN go mod download
COPY . .
RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo \
-ldflags="-w -s" -trimpath -o survey ./cmd/survey/
FROM gcr.io/distroless/static-debian13
COPY --from=builder /app/survey /survey
EXPOSE 8080
ENTRYPOINT ["/survey"]

View File

@@ -11,6 +11,12 @@ build:
go build -o ./bin/tui ./cmd/tui
go build -o ./bin/web ./cmd/web
docker-build:
@docker build -t survey .
docker-run:
@docker run -it -p 8080:8080 survey:latest
cli:
go run ./cmd/pm

View File

@@ -16,7 +16,7 @@ func initializeServices(ctx context.Context) (*service.Services, func(), error)
IssuePrefix: "pm",
BeadsDBPath: "./.pm/db.db",
StatisticsStoragePath: "./.pm/stats.json",
WebAddress: "localhost:8080",
WebAddress: ":8080",
}
return service.NewServices(ctx, config)
}

View File

@@ -27,7 +27,7 @@ func createIssueConfig() task.TaskConfig {
IssuePrefix: "pm",
BeadsDBPath: "./.pm/db.db",
StatisticsStoragePath: "./.pm/task-1-stats.json",
WebAddress: "localhost:8080",
WebAddress: ":8080",
}
}

View File

@@ -17,7 +17,7 @@ type Server struct {
// NewServer creates and configures a new HTTP server instance.
func NewServer(props Server) *http.Server {
if props.Address == "" {
props.Address = "localhost:8080"
props.Address = ":8080"
}
handler := props.RegisterRoutes(props.Assets)