Files
gitserver/02/02-k-git-server-deploy.04.sh
2026-02-19 20:05:04 +03:00

68 lines
2.1 KiB
Bash
Executable File

#!/bin/bash
#===============================================================================
# ШАГ 4: СОЗДАНИЕ SYSTEMD UNIT
#===============================================================================
# Запуск: sudo bash 02-k-git-server-deploy.04.sh
#===============================================================================
SCRIPT_DIR=$(cd "$(dirname "$0")" && pwd)
source "$SCRIPT_DIR/02-k-git-server-deploy.00.sh"
init_log
check_root
print_header "ШАГ 4: СОЗДАНИЕ SYSTEMD UNIT"
#-------------------------------------------------------------------------------
# 4.1 Создание unit-файла
#-------------------------------------------------------------------------------
print_subheader "Создание systemd unit"
cat > /etc/systemd/system/gitea.service << EOF
[Unit]
Description=Gitea (Git with a cup of tea)
After=network.target
Wants=network.target
[Service]
User=git
Group=git
WorkingDirectory=$GITEA_DATA
Environment=USER=git HOME=$GIT_HOME GITEA_WORK_DIR=$GITEA_DATA
ExecStart=$GITEA_BIN web --config $GITEA_CONFIG
Restart=always
RestartSec=3
# Безопасность
CapabilityBoundingSet=CAP_NET_BIND_SERVICE
AmbientCapabilities=CAP_NET_BIND_SERVICE
NoNewPrivileges=true
ProtectSystem=strict
ProtectHome=read-only
ReadWritePaths=$GITEA_DATA /etc/gitea $GIT_HOME
PrivateTmp=true
[Install]
WantedBy=multi-user.target
EOF
print_success "Systemd unit создан"
#-------------------------------------------------------------------------------
# 4.2 Перезагрузка systemd
#-------------------------------------------------------------------------------
print_subheader "Перезагрузка systemd"
systemctl daemon-reload
print_success "Systemd перезагружен"
#-------------------------------------------------------------------------------
# 4.3 Включение автозапуска
#-------------------------------------------------------------------------------
print_subheader "Включение автозапуска"
systemctl enable gitea
print_success "Автозапуск Gitea включён"
print_success "Шаг 4 завершён: Systemd unit создан"