Support POSTGRES_URL environment variable for the Transcoder service (#903)

This commit is contained in:
Zoe Roux 2025-04-24 09:28:54 +02:00 committed by GitHub
commit f2294ac97e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 19 additions and 12 deletions

View File

@ -21,6 +21,8 @@ GOCODER_VAAPI_RENDERER="/dev/dri/renderD128"
GOCODER_QSV_RENDERER="/dev/dri/renderD128"
# Database things
# Setting this ignores the below connection variables and overrides any default values
# POSTGRES_URL=postgres://user:password@host:port/dbname?sslmode=disable
POSTGRES_USER=
POSTGRES_PASSWORD=
POSTGRES_DB=

View File

@ -23,7 +23,11 @@ type MetadataService struct {
}
func NewMetadataService() (*MetadataService, error) {
con := fmt.Sprintf(
schema := GetEnvOr("POSTGRES_SCHEMA", "gocoder")
connectionString := os.Getenv("POSTGRES_URL")
if connectionString == "" {
connectionString = fmt.Sprintf(
"postgresql://%v:%v@%v:%v/%v?application_name=gocoder&sslmode=%s",
url.QueryEscape(os.Getenv("POSTGRES_USER")),
url.QueryEscape(os.Getenv("POSTGRES_PASSWORD")),
@ -32,11 +36,12 @@ func NewMetadataService() (*MetadataService, error) {
url.QueryEscape(os.Getenv("POSTGRES_DB")),
url.QueryEscape(GetEnvOr("POSTGRES_SSLMODE", "disable")),
)
schema := GetEnvOr("POSTGRES_SCHEMA", "gocoder")
if schema != "disabled" {
con = fmt.Sprintf("%s&search_path=%s", con, url.QueryEscape(schema))
connectionString = fmt.Sprintf("%s&search_path=%s", connectionString, url.QueryEscape(schema))
}
db, err := sql.Open("postgres", con)
}
db, err := sql.Open("postgres", connectionString)
if err != nil {
fmt.Printf("Could not connect to database, check your env variables!")
return nil, err