diff --git a/CHANGELOG.md b/CHANGELOG.md index 7b63a234..12cbc6dd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ - Updated dependencies (including the library that lacked armhf support) [#722](https://github.com/juanfont/headscale/pull/722) - Fix missing group expansion in function `excludeCorretlyTaggedNodes` [#563](https://github.com/juanfont/headscale/issues/563) - Improve registration protocol implementation and switch to NodeKey as main identifier [#725](https://github.com/juanfont/headscale/pull/725) +- Add ability to connect to PostgreSQL via unix socket [#734](https://github.com/juanfont/headscale/pull/734) ## 0.16.0 (2022-07-25) diff --git a/app.go b/app.go index 3e001203..9f113c2b 100644 --- a/app.go +++ b/app.go @@ -129,13 +129,19 @@ func NewHeadscale(cfg *Config) (*Headscale, error) { switch cfg.DBtype { case Postgres: dbString = fmt.Sprintf( - "host=%s port=%d dbname=%s user=%s password=%s sslmode=disable", + "host=%s dbname=%s user=%s sslmode=disable", cfg.DBhost, - cfg.DBport, cfg.DBname, cfg.DBuser, - cfg.DBpass, ) + + if cfg.DBport != 0 { + dbString += fmt.Sprintf(" port=%d", cfg.DBport) + } + + if cfg.DBpass != "" { + dbString += fmt.Sprintf(" password=%s", cfg.DBpass) + } case Sqlite: dbString = cfg.DBpath default: diff --git a/config-example.yaml b/config-example.yaml index d3d155e2..5360f50f 100644 --- a/config-example.yaml +++ b/config-example.yaml @@ -116,6 +116,9 @@ db_path: /var/lib/headscale/db.sqlite # # Postgres config # db_type: postgres # db_host: localhost + +# This should be set when using a TCP connection, set it to '0' or keep it unset if +# connecting through a unix socket. # db_port: 5432 # db_name: headscale # db_user: foo