Support POSTGRES_URL environment variable for the Transcoder service

Signed-off-by: Fred Heinecke <fred.heinecke@yahoo.com>
This commit is contained in:
Fred Heinecke 2025-04-24 05:29:55 +00:00 committed by solidDoWant
parent f2caf1a975
commit 1c8cbab989
No known key found for this signature in database
GPG Key ID: 8FB1B42C043D666B
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" GOCODER_QSV_RENDERER="/dev/dri/renderD128"
# Database things # 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_USER=
POSTGRES_PASSWORD= POSTGRES_PASSWORD=
POSTGRES_DB= POSTGRES_DB=

View File

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