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
