6
3

More than 1 year has passed since last update.

簡単に作れるDockerベースのPasS - Dokkuを使いこなすための設定とプラグイン

Last updated at Posted at 2021-01-06

簡単にPaaSを作れるDokkuを日常業務に、趣味にと便利に使っています。こんなことできないかな?と思って調べると、大抵はプラグインがあったりします(感謝。ただ、英語なのと情報がまとまっていないので、よく使っている設定をまとめました。

※構築はここでは書きません

サイト名が一致しない場合にエラーを返したい

デフォルトではサーバー名が一致しない場合には、一番最初にデプロイしたサイトが表示されるようです。予期しないサイトが見えると良く無いのでエラーを返すのが適切です。

/etc/nginx/conf.d/00-default-vhost.conf を以下のように作成し、nginxをリスタートします。

/etc/nginx/conf.d/00-default-vhost.conf
server {
    listen 80 default_server;
    listen [::]:80 default_server;

    server_name _;
    access_log off;
    return 410;
}

注意:

/etc/nginx/sites-enabled/defaultにページを返す設定がデフォルトで入っている場合があり、その場合には上記設定を行うと設定エラーになりますので/etc/nginx/sites-enabled/defaultの設定を削除するか、上記のように410を返すように変更してください。

developブランチをデプロイしたい

通常はデプロイされるのはmasterブランチなので、git pushでmasterに上書きする方法もありますが、app毎に以下のコマンドでブランチを変更できます。

dokku git:set myapp deploy-branch develop

ホストの領域をコンテナにマウントしたい

ログ領域やイメージなど、ホスト側領域をコンテナにマウントしたい場合は以下になります。

dokku storage:mount myapp host-dir:container-dir

dockerイメージサイズを小さくしたい

標準ではBuildPackになっており、何も考えずにデプロイできますが、1.5GBくらいのイメージになります。サイトが多くなるとディスクを圧迫します。

Dockerfileを作れば、alpineやslim系イメージを使う事ができます。

この時、Port Mappingを手動でする必要がある場合があります。

CIで自動デプロイしたい

GitLabの場合は以下のエントリーを参照ください。

GitLab CIでDokkuに自動deployする

plug-ins

使うと便利なプラグインの紹介です。

BASIC認証をかけたい

テストサイトなど、簡単に認証をかけたい場合に便利です。

dokku-http-auth
https://github.com/dokku/dokku-http-auth

sudo dokku plugin:install https://github.com/dokku/dokku-http-auth.git

SSL化したい

Let's Encrypt
https://github.com/dokku/dokku-letsencrypt

さくっとSSLを使う場合はこれですね。自動的にSSL化 & auto-renewもしてくれます。

sudo dokku plugin:install https://github.com/dokku/dokku-letsencrypt.git

hostnameをコンテナIDでなく、ホスト名にしたい

デフォルトではhostname=コンテナIDになってしまいます。インストールすると、特に設定不要でホストのホスト名がコンテナに渡されます。

dokku-hostname
https://github.com/michaelshobbs/dokku-hostname

sudo dokku plugin:install https://github.com/michaelshobbs/dokku-hostname.git dokku-hostname

6
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
3