diff --git a/Dockerfile b/Dockerfile index 33713a8..abba0ee 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,6 +6,9 @@ COPY . . RUN apk add build-base && cd server && go mod download && go build && chmod 777 server && ls -l +FROM alpine:latest +RUN apk --no-cache add ca-certificates +WORKDIR /root/ +COPY --from=builder /app/server/server . EXPOSE 8080 - -ENTRYPOINT [ "/app/server/server" ] +CMD [ "./server" ] diff --git a/docker-compose.yaml b/docker-compose.yaml index 7ca3212..093f123 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -1,5 +1,4 @@ -version: "3.9" - +version: "3.9" services: db: image: postgres @@ -12,7 +11,7 @@ services: ports: - 5432:5432 yauth: - build: . + image: lakhansamani/yauth:0.1.0-beta.0 ports: - 8080:8080 depends_on: diff --git a/server/constants/env.go b/server/constants/env.go index 0fe3b26..0a9c27e 100644 --- a/server/constants/env.go +++ b/server/constants/env.go @@ -1,6 +1,7 @@ package constants import ( + "flag" "log" "os" "strings" @@ -36,6 +37,19 @@ var ( VERIFY_EMAIL_URI = "" ) +func ParseArgs() { + dbURL := flag.String("db_url", "", "Database connection string") + dbType := flag.String("db_type", "", "Database type, possible values are postgres,mysql,sqlit") + flag.Parse() + if *dbURL != "" { + DB_URL = *dbURL + } + + if *dbType != "" { + DB_TYPE = *dbType + } +} + func init() { err := godotenv.Load() if err != nil { @@ -78,6 +92,8 @@ func init() { IS_PROD = false } + ParseArgs() + if DB_TYPE == "" { DB_TYPE = enum.Postgres.String() } diff --git a/server/db/db.go b/server/db/db.go index 1362ab8..6685f3b 100644 --- a/server/db/db.go +++ b/server/db/db.go @@ -34,6 +34,7 @@ var Mgr Manager func init() { var db *gorm.DB var err error + log.Println("=> from db:", constants.DB_TYPE, constants.DB_URL) ormConfig := &gorm.Config{ NamingStrategy: schema.NamingStrategy{ TablePrefix: "yauth_",