Gitea v1.10(コンテナ)をHTTPS接続で使う - Qiita
の通りでした。(圧倒的感謝)
docker-compose.yml
version: '3'
services:
gitea-server:
image: gitea/gitea:1.10.3
volumes:
- ./gitea-data:/data
- ./ssl-data:/ssl
ports:
- 3000:3000
- 10022:10022
environment:
- SSH_DOMAIN=${MY_DOMAIN}
- SSH_PORT=10022
- USER_UID=1000
- USER_GID=1000
- ROOT_URL=http://${MY_DOMAIN}:3000
restart: always
サーバーのIP or ドメインを.envに入れる。
$ echo MY_DOMAIN=www.example.com > .env
letsencryptで作成されたファイルをコピーしておく。
# mkdir ssl-data
# cp /etc/letsencrypt/live/www.example.com/fullchain.pem ssl-data/
# cp /etc/letsencrypt/live/www.example.com/privkey.pem ssl-data/
一度起動して落とす
# docker-compose up
# docker-compose down
ROOT_URL
をhttpsから始まるよう変更してPROTOCOL
、CERT_FILE
、KEY_FILE
の行を追加する。
$ vi gitea-data/gitea/conf/app.ini
# ROOT_URL = http://www.example.com:3000
ROOT_URL = https://www.example.com:3000
PROTOCOL = https
CERT_FILE = /ssl/fullchain.pem
KEY_FILE = /ssl/privkey.pem
起動してhttps://www.example.com
から登録
ボタンから設定を行う。
Gitea環境をdocker-composeで作ってみる - Qiita参照
# docker-compose up
# docker-compose down
Gitea v1.10(コンテナ)をHTTPS接続で使う - Qiita
なお、わざわざapp.iniをここで編集せずとも環境変数で最初から反映できるんじゃないの?
ということは当然いわれそうであるが、やってみて反映できなかったのでこのようにvolumeにあるiniを
編集するような手順としている。
niiku-y氏も書かれているがdocker-compose.ymlの環境変数から入れてくれそうなものだが、giteaの現在の動きでは手動編集が必要なようだ。