- Зачем: - основной сайт не должен зависеть от заблокированной учётной записи GitHub. - Что: - добавлены строгая сборка и атомарная публикация через repository-scoped runner. - добавлены воспроизводимые конфигурации systemd, nginx и эксплуатационный runbook. - проектная документация и ссылки на репозиторий обновлены для Gitea. - Проверка: - выполнены mkdocs build --strict, Bash/YAML-проверки и локальный HTTP smoke-check. - runner зарегистрирован, ограничен средствами systemd и виден в Gitea как online.
48 lines
1.1 KiB
Desktop File
48 lines
1.1 KiB
Desktop File
[Unit]
|
|
Description=Gitea Actions runner for de-roadmap
|
|
Documentation=https://docs.gitea.com/usage/actions
|
|
Wants=network-online.target
|
|
After=network-online.target
|
|
|
|
[Service]
|
|
Type=simple
|
|
User=gitea-runner
|
|
Group=gitea-runner
|
|
WorkingDirectory=/var/lib/gitea-runner
|
|
ExecStart=/usr/local/bin/gitea-runner daemon --config /etc/gitea-runner/config.yaml
|
|
Restart=always
|
|
RestartSec=10s
|
|
TimeoutStopSec=45s
|
|
KillMode=mixed
|
|
|
|
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"
|
|
Environment="UV_CACHE_DIR=/var/lib/gitea-runner/.cache/uv"
|
|
Environment="UV_PYTHON_DOWNLOADS=never"
|
|
|
|
UMask=0022
|
|
NoNewPrivileges=true
|
|
PrivateDevices=true
|
|
PrivateTmp=true
|
|
ProtectClock=true
|
|
ProtectControlGroups=true
|
|
ProtectHome=true
|
|
ProtectHostname=true
|
|
ProtectKernelLogs=true
|
|
ProtectKernelModules=true
|
|
ProtectKernelTunables=true
|
|
ProtectSystem=strict
|
|
ReadWritePaths=/var/lib/gitea-runner /srv/de-roadmap
|
|
RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6
|
|
RestrictRealtime=true
|
|
RestrictSUIDSGID=true
|
|
LockPersonality=true
|
|
CapabilityBoundingSet=
|
|
SystemCallArchitectures=native
|
|
|
|
MemoryMax=1G
|
|
CPUQuota=100%
|
|
TasksMax=128
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|