chore: add multistage build to optimize the image size
This commit is contained in:
parent
a528fe2f26
commit
40ad01e6b7
|
@ -6,6 +6,9 @@ COPY . .
|
||||||
|
|
||||||
RUN apk add build-base && cd server && go mod download && go build && chmod 777 server && ls -l
|
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
|
EXPOSE 8080
|
||||||
|
CMD [ "./server" ]
|
||||||
ENTRYPOINT [ "/app/server/server" ]
|
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
version: "3.9"
|
version: "3.9"
|
||||||
|
|
||||||
services:
|
services:
|
||||||
db:
|
db:
|
||||||
image: postgres
|
image: postgres
|
||||||
|
@ -12,7 +11,7 @@ services:
|
||||||
ports:
|
ports:
|
||||||
- 5432:5432
|
- 5432:5432
|
||||||
yauth:
|
yauth:
|
||||||
build: .
|
image: lakhansamani/yauth:0.1.0-beta.0
|
||||||
ports:
|
ports:
|
||||||
- 8080:8080
|
- 8080:8080
|
||||||
depends_on:
|
depends_on:
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package constants
|
package constants
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"flag"
|
||||||
"log"
|
"log"
|
||||||
"os"
|
"os"
|
||||||
"strings"
|
"strings"
|
||||||
|
@ -36,6 +37,19 @@ var (
|
||||||
VERIFY_EMAIL_URI = ""
|
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() {
|
func init() {
|
||||||
err := godotenv.Load()
|
err := godotenv.Load()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -78,6 +92,8 @@ func init() {
|
||||||
IS_PROD = false
|
IS_PROD = false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ParseArgs()
|
||||||
|
|
||||||
if DB_TYPE == "" {
|
if DB_TYPE == "" {
|
||||||
DB_TYPE = enum.Postgres.String()
|
DB_TYPE = enum.Postgres.String()
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,6 +34,7 @@ var Mgr Manager
|
||||||
func init() {
|
func init() {
|
||||||
var db *gorm.DB
|
var db *gorm.DB
|
||||||
var err error
|
var err error
|
||||||
|
log.Println("=> from db:", constants.DB_TYPE, constants.DB_URL)
|
||||||
ormConfig := &gorm.Config{
|
ormConfig := &gorm.Config{
|
||||||
NamingStrategy: schema.NamingStrategy{
|
NamingStrategy: schema.NamingStrategy{
|
||||||
TablePrefix: "yauth_",
|
TablePrefix: "yauth_",
|
||||||
|
|
Loading…
Reference in New Issue
Block a user