outwire.podman_systemd
Ansible Role Podman Systemd
Podmanのポッドとコンテナのsystemdユニットを設定します。
ロール変数
podman_systemd_service_path: /etc/systemd/system
podman_systemd_container_service_prefix: "container"
podman_systemd_pod_service_prefix: "pod"
systemdサービスファイルの保存場所です。サービス名の接頭辞も設定できます。
podman_systemd_default_wants: network.target
podman_systemd_default_after: network-online.target
podman_systemd_default_restart: on-failure
podman_systemd_default_wantedby: multi-user.target default.target
systemdサービスのデフォルト値です。これらの値は、ポッドやコンテナごとに変更できます(詳細は下記参照)。
podman_systemd_default_container_detached: false
コンテナはデフォルトでアタッチされた状態で開始され、syslogに出力をキャッチできます。デタッチしたい場合は、true
に変更してください。これはポッドやコンテナごとに変更可能です(詳細は下記参照)。
その他の変数は defaults/main.yml で確認できます。
注意事項
このロールは理論的には、"非メインユーザーグループ"(例:ユーザー "test" とグループ "asdf")でのルートレスコンテナやポッドを実行することをサポートしていますが、そのような構成ではsubuids/gidsに関していくつかの注意点があります。
コンテナの例変数
podman_containers:
- name: nginx
run_as_user: root
run_args:
-p 80:80
image: nginx:latest
- name: node-exporter
run_as_user: prometheus
run_args:
-p 9100:9100
image: quay.io/prometheus/node-exporter:v1.0.1
ポッドの例変数
podman_pods:
- name: nextcloud
run_as_user: nextcloud
run_user_subid: 500000:100000
run_args:
-p 8080:80
restart: always
containers:
- name: db
image: mariadb
detached: true
run_args:
-v nextcloud-db:/var/lib/mysql
-e MYSQL_ROOT_PASSWORD=rootpw
-e MYSQL_PASSWORD=123
-e MYSQL_DATABASE=nextcloud
-e MYSQL_USER=nextcloud
cmd_args:
--transaction-isolation=READ-COMMITTED
--binlog-format=ROW
- name: app
image: nextcloud
run_args:
-v nextcloud-app:/var/www/html
-e MYSQL_ROOT_PASSWORD=rootpw
-e MYSQL_PASSWORD=123
-e MYSQL_DATABASE=nextcloud
-e MYSQL_USER=nextcloud
ライセンス
MIT