first commit

This commit is contained in:
ascet-tomsk
2026-01-11 00:49:37 +07:00
commit f62d6e7fc0
23 changed files with 337 additions and 0 deletions

6
1.1-setup.sh Normal file
View File

@@ -0,0 +1,6 @@
#!/bin/bash
# 1.1 Обновление системы
sudo apt update && sudo apt upgrade -y
sudo apt install -y curl wget git nano htop ufw

9
1.2-setup.sh Normal file
View File

@@ -0,0 +1,9 @@
#!/bin/bash
# 1.2 Настройка firewall
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
sudo ufw allow 3000/tcp # порт Gitea
sudo ufw --force enable

11
1.3-setup.sh Normal file
View File

@@ -0,0 +1,11 @@
#!/bin/bash
# 1.3 Создание пользователей
# Пользователь для Gitea
sudo adduser --system --group --disabled-password \
--shell /bin/bash --home /home/git \
--gecos 'Git Version Control' git
# Пользователь для runner
sudo useradd -r -s /bin/bash -d /var/lib/act_runner -m act_runner

20
1.4-setup.sh Normal file
View File

@@ -0,0 +1,20 @@
#!/bin/bash
# 1.4 Создание директорий
# Директории Gitea
sudo mkdir -p /var/lib/gitea/{custom,data,log}
sudo mkdir -p /etc/gitea
# Директории runner
sudo mkdir -p /var/lib/act_runner/{workspace,cache}
sudo mkdir -p /etc/act_runner
# Права доступа
sudo chown -R git:git /var/lib/gitea
sudo chmod -R 750 /var/lib/gitea
sudo chown -R act_runner:act_runner /var/lib/act_runner
sudo chmod -R 755 /var/lib/act_runner
sudo chown root:git /etc/gitea
sudo chmod 770 /etc/gitea
sudo chown -R act_runner:act_runner /etc/act_runner

14
2.1-setup.sh Normal file
View File

@@ -0,0 +1,14 @@
#!/bin/bash
# 2.1 Скачивание Gitea
# Получаем последнюю версию
GITEA_VERSION=$(curl -s https://api.github.com/repos/go-gitea/gitea/releases/latest | grep -oP '"tag_name": "\K(.*)(?=")')
echo "Устанавливаем Gitea версии: $GITEA_VERSION"
# Скачиваем
sudo wget -O /usr/local/bin/gitea \
"https://github.com/go-gitea/gitea/releases/download/${GITEA_VERSION}/gitea-${GITEA_VERSION:1}-linux-amd64"
# Права на выполнение
sudo chmod +x /usr/local/bin/gitea

47
2.2-app.ini Normal file
View File

@@ -0,0 +1,47 @@
# 2.2 Конфигурационный файл Gitea
# /etc/gitea/app.ini
APP_NAME = Gitea
RUN_USER = git
RUN_MODE = prod
[server]
APP_DATA_PATH = /var/lib/gitea/data
HTTP_PORT = 3000
ROOT_URL = https://git.ahtamov.ru/
DOMAIN = localhost
SSH_DOMAIN = localhost
SSH_PORT = 22
DISABLE_SSH = false
OFFLINE_MODE = false
[database]
DB_TYPE = sqlite3
PATH = /var/lib/gitea/data/gitea.db
[repository]
ROOT = /var/lib/gitea/data/gitea-repositories
[session]
PROVIDER = file
PROVIDER_CONFIG = /var/lib/gitea/data/sessions
[picture]
AVATAR_UPLOAD_PATH = /var/lib/gitea/data/avatars
[attachment]
PATH = /var/lib/gitea/data/attachments
[log]
ROOT_PATH = /var/lib/gitea/log
MODE = file
LEVEL = Info
[security]
INSTALL_LOCK = true
SECRET_KEY = ваш_секретный_ключ_сюда
[actions]
ENABLED = true
STORAGE_TYPE = local
MINIO_BASE_PATH = /var/lib/gitea/actions

20
2.3-gitea.service Normal file
View File

@@ -0,0 +1,20 @@
# 2.3 Systemd служба для Gitea
# /etc/systemd/system/gitea.service
[Unit]
Description=Gitea (Git with a cup of tea)
After=network.target
Requires=network.target
[Service]
Type=simple
User=git
Group=git
WorkingDirectory=/var/lib/gitea
ExecStart=/usr/local/bin/gitea web --config /etc/gitea/app.ini
Restart=always
RestartSec=2s
Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/var/lib/gitea
[Install]
WantedBy=multi-user.target

8
2.4-setup.sh Normal file
View File

@@ -0,0 +1,8 @@
#!/bin/bash
# 2.4 Запуск Gitea
sudo systemctl daemon-reload
sudo systemctl enable gitea
sudo systemctl start gitea
sudo systemctl status gitea

7
3.1-setup.sh Normal file
View File

@@ -0,0 +1,7 @@
#!/bin/bash
# 3.1 Создание директории для артефактов
sudo mkdir -p /var/lib/gitea/actions
sudo chown -R git:git /var/lib/gitea/actions
sudo chmod 750 /var/lib/gitea/actions

5
3.2-setup.sh Normal file
View File

@@ -0,0 +1,5 @@
#!/bin/bash
# 3.2 Перезапуск Gitea
sudo systemctl restart gitea

10
4.1-setup.sh Normal file
View File

@@ -0,0 +1,10 @@
#!/bin/bash
# 4.1 Скачивание act_runner
# Важно: правильное имя файла - act_runner (с подчеркиванием)
sudo wget -O /usr/local/bin/act_runner \
https://gitea.com/gitea/act_runner/releases/download/v0.2.13/act_runner-0.2.13-linux-amd64
sudo chmod +x /usr/local/bin/act_runner

6
4.2-setup.sh Normal file
View File

@@ -0,0 +1,6 @@
#!/bin/bash
# 4.2 Проверка установки
act_runner --version

27
4.3-config.yaml Normal file
View File

@@ -0,0 +1,27 @@
runner:
capacity: 2
labels:
- "ubuntu-24.04:host"
- "linux:host"
- "self-hosted"
- "linux-amd64"
fetch_timeout: 5s
fetch_interval: 2s
container:
network_mode: "host"
workdir_parent: /var/lib/act_runner/workspace
host:
workdir_parent: /var/lib/act_runner/workspace
cache:
enabled: true
dir: /var/lib/act_runner/cache
cleanup_interval: 24h
# 4.3 Конфигурационный файл act_runner
# /etc/act_runner/config.yaml

7
5.1-setup.sh Normal file
View File

@@ -0,0 +1,7 @@
#!/bin/bash
# 5.1 Установка Node.js
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs
node --version

10
5.2-setup.sh Normal file
View File

@@ -0,0 +1,10 @@
#!/bin/bash
# 5.2 Установка Python и инструментов
sudo apt install -y \
python3 python3-pip python3-venv \
build-essential \
git curl wget \
jq yq \
unzip zip

7
5.3-setup.sh Normal file
View File

@@ -0,0 +1,7 @@
#!/bin/bash
# 5.3 Настройка PATH для пользователя act_runner
sudo -u act_runner bash -c 'cat > ~/.bashrc << EOF
export PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:\$PATH
EOF'

22
6.1-act_runner.service Normal file
View File

@@ -0,0 +1,22 @@
# 6.1 Создание службы для act_runner
# /etc/systemd/system/act_runner.service
[Unit]
Description=Gitea Actions Runner
After=network.target gitea.service
Requires=gitea.service
[Service]
Type=simple
User=act_runner
Group=act_runner
WorkingDirectory=/var/lib/act_runner
ExecStart=/usr/local/bin/act_runner daemon --config /etc/act_runner/config.yaml
Restart=always
RestartSec=10
Environment="PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
Environment="HOME=/var/lib/act_runner"
Environment="USER=act_runner"
[Install]
WantedBy=multi-user.target

6
6.2-setup.sh Normal file
View File

@@ -0,0 +1,6 @@
#!/bin/bash
# 6.2 Запуск службы
sudo systemctl daemon-reload
sudo systemctl enable act_runner

15
7.1-setup.sh Normal file
View File

@@ -0,0 +1,15 @@
#!/bin/bash
# 7.1 Регистрация act_runner
# Остановите службу перед регистрацией
sudo systemctl stop act_runner
# Выполните регистрацию (замените ВАШ_ТОКЕН на реальный токен)
sudo -u act_runner /usr/local/bin/act_runner register \
--config /etc/act_runner/config.yaml \
--instance http://localhost:3000 \
--token ВАШ_ТОКЕН \
--name "Ubuntu 24.04 Runner" \
--labels "ubuntu-24.04:host,linux:host,self-hosted,linux-amd64" \
--no-interactive

6
7.2-setup.sh Normal file
View File

@@ -0,0 +1,6 @@
#!/bin/bash
# 7.2 Запуск runner после регистрации
sudo systemctl start act_runner
sudo systemctl status act_runner

21
8.2-test.yml Normal file
View File

@@ -0,0 +1,21 @@
name: Test Runner
on: [push]
jobs:
test:
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Show info
run: |
echo "🎉 Runner работает!"
echo "OS: $(lsb_release -ds)"
echo "Runner: $(whoami)"
echo "Node: $(node --version)"
- name: Create file
run: |
echo "Hello from Gitea Actions!" > test.txt
ls -la

View File

@@ -0,0 +1,45 @@
#!/bin/bash
# Полный сброс act_runner
echo "=== Полный сброс и переустановка ==="
# 1. Останавливаем службы
sudo systemctl stop act_runner
sudo systemctl disable act_runner
# 2. Удаляем все файлы runner
sudo rm -f /usr/local/bin/act_runner
sudo rm -rf /etc/act_runner
sudo rm -rf /var/lib/act_runner/{.*,*} 2>/dev/null
# 3. Создаем заново структуру
sudo mkdir -p /etc/act_runner
sudo mkdir -p /var/lib/act_runner/{workspace,cache}
sudo chown -R act_runner:act_runner /etc/act_runner /var/lib/act_runner
# 4. Устанавливаем act_runner
sudo wget -O /usr/local/bin/act_runner \
https://gitea.com/gitea/act_runner/releases/download/v0.2.13/act_runner-0.2.13-linux-amd64
sudo chmod +x /usr/local/bin/act_runner
# 5. Регистрируем (работаем из домашней директории пользователя)
cd /var/lib/act_runner
sudo -u act_runner /usr/local/bin/act_runner register \
--instance http://localhost:3000 \
--token ВАШ_ТОКЕН \
--no-interactive
# 6. Создаем конфиг
sudo cat > /etc/act_runner/config.yaml << 'EOF'
runner:
capacity: 2
labels: ["self-hosted", "ubuntu-24.04:host"]
EOF
# 7. Запускаем
sudo systemctl daemon-reload
sudo systemctl enable act_runner
sudo systemctl start act_runner
echo "Готово!"

View File

@@ -0,0 +1,8 @@
{
"folders": [
{
"path": "."
}
],
"settings": {}
}