LoginSignup
1
0

nextcloudの公式dockerイメージをtls化してみた

Last updated at Posted at 2023-12-17

作成物

github: https://github.com/tdzz1102/nextcloud-tls-docker

dockerhub: https://hub.docker.com/r/tdzz1102/nextcloud-tls

証明書をコンテナにマウントするだけでhttpsが有効化されます。使い方は上記リンクのいずれかに参考してください。

このイメージを使う(作る)理由

nextcloud公式イメージは、nextcloud本体とapache2から構成するものです。apache自体はtlsに対応できるが、公式イメージに活用されなかったです。httpsの対応策としてall-in-oneイメージもありますが、オレオレ証明書が使えません。しかも私的には使わない機能が多すぎて、煩わしい感じがします。

このイメージは、公式イメージに基づいて、組み込みapacheをsslモジュールを有効化して、与えられた証明書を使ってhttpsサービスを提供させるものです。

使い方

PATH_TO_CERT=/your/certificate.crt
PATH_TO_KEY=/your/private.key

証明書ファイルの場所を環境変数として指定し、

docker run -p 443:443 \
           -d --name nextcloud-tls \
           -v $PATH_TO_CERT:/cert/cert.pem \
           -v $PATH_TO_KEY:/cert/key.pem \
           -v nextcloud-data:/var/www/html \
           tdzz1102/nextcloud-tls:20231217

でコンテナを起動します。

これで、nextcloud☁️へのhttps接続ができるようになりました!

作り方

FROM nextcloud
COPY ./default-ssl.conf /etc/apache2/sites-enabled/default-ssl.conf
RUN a2enmod ssl

提供したdefault-ssh.confが公式イメージからdocker cpしたもので、変更は以下の二行のみ:

SSLCertificateFile      /cert/cert.pem
SSLCertificateKeyFile   /cert/key.pem

余談

半年間も無事に使ってきたので、安心に使ってください。

sedを使えば、コピペをせずdockerfileをより綺麗に書くべきです。また時間あれば改善します😃。

1
0
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
1
0