docker-composeでGitea + Gitea Actionsのセットアップ
この記事はZennにも投稿しています#結論から
こんな感じのdocker-compose.ymlで良い
version: "3"
services:
server:
image: gitea/gitea:latest
container_name: gitea
environment:
- USER_UID=1026
- USER_GID=100
- GITEA__database__DB_TYPE=postgres
- GITEA__database__HOST=db:5432
- GITEA__database__NAME={{name}}
- GITEA__database__USER={{user}}
- GITEA__database__PASSWD={{pass}}
restart: always
volumes:
- ./gitea:/data
ports:
- "3300:3000"
- "222:22"
depends_on:
- db
networks:
- default
db:
image: postgres:14
restart: always
environment:
- POSTGRES_USER={{user}}
- POSTGRES_PASSWORD={{pass}}
- POSTGRES_DB={{name}}
volumes:
- ./postgres:/var/lib/postgresql/data
networks:
- default
runner:
image: gitea/act_runner
restart: always
volumes:
- ./runner_data:/data
- /var/run/docker.sock:/var/run/docker.sock
- ./config.yaml:/config.yaml
environment:
- GITEA_INSTANCE_URL={{gitea_url}}
- GITEA_RUNNER_REGISTRATION_TOKEN={{token}} # 下の注意点を参照
- CONFIG_FILE=/config.yaml
- DOCKER_HOST=unix:///var/run/docker.sock
network_mode: host
これで
docker-compose up -d
すればよい。
#注意点
act_runnerのconfig.yamlはGitea Actions(act_runner)の設定を参照{{}}で囲まれた値は適宜変更すること。- 特に、
GITEA_RUNNER_REGISTRATION_TOKENについては、Giteaの管理者画面より「新しいランナーを作成」してその値を入れること。
- Gitea Actionsがいつの間にか動かなくなってた
#Giteaの設定
上のコンテナを作成した際にできる./gitea/gitea/conf/app.iniを弄る。
以下が弄るべきだと思われる値
[server]
ROOT_URL={{giteaのurl}}
[packages]
ENABLED=true # お好みで
[actions]
ENABLED=true # Actionsに必要#Gitea Actions(act_runner)の設定
ドキュメントらしいドキュメントが見つからなかったが一応Giteaのact_runnerのリポジトリにそれらしいことが書いてある。
まず、設定を生成する。act_runnerコンテナの中で
./act_runner generate-config > config.yamlを実行。このconfig.yamlをdocker-composeに指定する。
この設定はそんなに弄る必要は無いが、自分はVPNを繋いだときだけDockerの中から特定のサイトにアクセスできない!の影響で
container:
network: "host"これだけ指定した。