Skip to content

GitLabを外部のPostgreSQLに接続する

PostgreSQLサーバを外部に立ててGitLabのDBとして運用します。

PostgreSQLサーバ側の設定

postgresユーザになる

sudo su - postgres

postgreSQLに接続

psql

gitlabユーザの作成

CREATE USER gitlab with PASSWORD 'gitlab_secret';

ユーザが作成されていることを確認

SELECT * FROM pg_user;

gitlabhq_productionデータベース作成

CREATE DATABASE gitlabhq_production OWNER gitlab;

スーパーユーザ権限付与

ALTER ROLE gitlab WITH SUPERUSER;

SELECT * FROM pg_user;usersupertになっていることを確認

pg_hba.confをvimなどでを編集

find / -name pg_hba.conf 2> /dev/null

ファイルの末尾に以下を追記

host    all             all             192.168.144.0/24           trust

サービスを再起動して変更を適用

sudo service postgresql restart

GitLabサーバ側の設定

以下の設定を追記します。パッケージ版であればgitlab.rbファイルを編集してください。コンテナ版であればdocker-compose.yamlservices.gitlab.environment.GITLAB_OMNIBUS_CONFIGに以下を追記します。

# Disable the built-in Postgres
postgresql['enable'] = false
# Fill in the connection details for database.yaml
gitlab_rails['db_adapter'] = 'postgresql'
gitlab_rails['db_encoding'] = 'utf8'
gitlab_rails['db_username'] = 'gitlab'
gitlab_rails['db_password'] = 'gitlab_secret'
gitlab_rails['db_host'] = '${PostgreSQLのIPアドレス}'
gitlab_rails['db_port'] = 5432

あとはいつも通りdocker-compose up -dで起動すればOKです。