Five fixes for rootless Docker setup on Arch Linux runners: 1. Write daemon.json (with containerd-snapshotter: false) BEFORE running dockerd-rootless-setuptool.sh, so Docker 29 starts with overlay2 from the very first boot instead of containerd snapshots. 2. Add DBUS_SESSION_BUS_ADDRESS to all systemctl --user tasks. Without it, systemctl --user fails with "Connection refused" on Arch Linux where the D-Bus session bus isn't auto-discovered. 3. Fix pre-configure override port driver: use 'builtin' for slirp4netns and 'implicit' only for pasta. The previous unconditional 'implicit' caused dockerd to exit immediately on slirp4netns hosts. 4. Fix prune timer schedule from '*-* * */6:00:00' (invalid) to '*-*-* 00/6:00:00' (every 6 hours, valid systemd calendar spec). 5. Add explicit Docker 29→28 downgrade task for Debian/Ubuntu using version-pinned apt install with allow_downgrades. Closes GRM-158 Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
16 lines
579 B
YAML
16 lines
579 B
YAML
---
|
|
- name: Include gitea_runner download
|
|
ansible.builtin.include_tasks: download_gitea_runner.yml
|
|
|
|
- name: Restart gitea-runner user service
|
|
ansible.builtin.command: systemctl --user restart gitea-runner
|
|
become: true
|
|
become_user: "{{ gitea_runner_service_user }}"
|
|
environment:
|
|
XDG_RUNTIME_DIR: "/run/user/{{ gitea_runner_uid }}"
|
|
DBUS_SESSION_BUS_ADDRESS: "unix:path=/run/user/{{ gitea_runner_uid | default(0) }}/bus"
|
|
when:
|
|
- gitea_runner_systemd_available.stat.exists | default(false) | bool
|
|
- gitea_runner_docker_rootless_setup
|
|
changed_when: true
|