[Unit] Description=EasyAI AI Gateway rootless DinD Gitea Actions runner v2 Requires=docker.service After=network-online.target docker.service Wants=network-online.target [Service] Type=simple User=root Group=root Environment=RUNNER_SECURITY_OPTIONS= Environment=RUNNER_IMAGE_REF= EnvironmentFile=-/etc/easyai-gateway-ci-v2/runner.env ExecStartPre=-/usr/bin/docker rm --force easyai-gateway-ci-v2-runner ExecStart=/usr/bin/docker run --rm --pull=never --name easyai-gateway-ci-v2-runner --privileged --cpus 2 --memory 2g --memory-swap 3g --pids-limit 1024 $RUNNER_SECURITY_OPTIONS --volume easyai-gateway-ci-v2-data:/data --volume /etc/easyai-gateway-ci-v2/config.yaml:/config.yaml:ro --volume /etc/easyai-gateway-ci-v2/daemon.json:/home/rootless/.config/docker/daemon.json:ro --volume /opt/easyai-gateway-ci:/opt/easyai-gateway-ci:ro --env CONFIG_FILE=/config.yaml --env DOCKERD_ROOTLESS_ROOTLESSKIT_NET=slirp4netns --env DOCKERD_ROOTLESS_ROOTLESSKIT_MTU=65520 --env DOCKERD_ROOTLESS_ROOTLESSKIT_FLAGS=--pidns $RUNNER_IMAGE_REF ExecStop=-/usr/bin/docker stop --time 360 easyai-gateway-ci-v2-runner Restart=always RestartSec=5s TimeoutStartSec=60s TimeoutStopSec=390s # systemd only launches the host Docker client. Pull-request jobs run inside the # nested rootless daemon and never receive the host or nested Docker socket. NoNewPrivileges=true CapabilityBoundingSet= AmbientCapabilities= PrivateTmp=true PrivateDevices=true ProtectSystem=strict ProtectHome=true ProtectKernelTunables=true ProtectKernelModules=true ProtectKernelLogs=true ProtectControlGroups=true ProtectClock=true ProtectHostname=true LockPersonality=true RestrictRealtime=true RestrictSUIDSGID=true SystemCallArchitectures=native UMask=0077 [Install] WantedBy=multi-user.target