Skip to content

Commit d1fff70

Browse files
use --port from PORT env var
Signed-off-by: Sebastian Webber <sebastian@swebber.me>
1 parent f932895 commit d1fff70

2 files changed

Lines changed: 18 additions & 2 deletions

File tree

cmd/api/Dockerfile

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
FROM alpine:3.13 as builder
22
FROM scratch
33
EXPOSE 3000
4+
ENV PORT=3000
45

56
COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
67

78
WORKDIR /app
89
COPY api /app
910
COPY *.yml /app
10-
CMD ["/app/api"]
11+
12+
ENTRYPOINT [ "/app/api" ]

cmd/api/main.go

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ import (
44
"flag"
55
"fmt"
66
"log"
7+
"os"
8+
"strconv"
79

810
_ "github.com/pgconfig/api/cmd/api/docs" // docs is generated by Swag CLI, you have to import it.
911
v1 "github.com/pgconfig/api/cmd/api/handlers/v1"
@@ -18,8 +20,20 @@ var (
1820
docsFile string
1921
)
2022

23+
func getDefaultPort(envName string) int {
24+
defaultPort := 3000
25+
val := os.Getenv(envName)
26+
27+
out, err := strconv.Atoi(val)
28+
if err != nil {
29+
return defaultPort
30+
}
31+
32+
return out
33+
}
34+
2135
func init() {
22-
flag.IntVar(&port, "port", 3000, "Listen port")
36+
flag.IntVar(&port, "port", getDefaultPort("PORT"), "Listen port")
2337
flag.StringVar(&rulesFile, "rules-file", "./rules.yml", "Rules file")
2438
flag.StringVar(&docsFile, "docs-file", "./pg-docs.yml", "Rules file")
2539
flag.Parse()

0 commit comments

Comments
 (0)