diff --git a/README.md b/README.md index e663012..d5ee405 100644 --- a/README.md +++ b/README.md @@ -57,10 +57,109 @@ Para cada servidor: No push, o runner com a label correta executa o deploy localmente, sem SSH. +## Adicionando um novo servidor (corp01, corp05, corp06, corp07...) + +### 1. Obter o token do repositório + +No Gitea, acesse o repositório → **Settings** → **Actions** → **Runners** → **Create Runner**. +Copie o token gerado. + +### 2. Copiar o binário do act_runner + +Copie o binário de um servidor que já tem o runner configurado (ex.: corp02): + +```bash +mkdir -p /opt/act_runner +scp -P 60000 sothis@177.73.177.111:/opt/act_runner/act_runner /opt/act_runner/act_runner +chmod +x /opt/act_runner/act_runner +``` + +Ou baixe diretamente na página de releases do seu Gitea, se preferir. + +### 3. Registrar o runner + +```bash +cd /opt/act_runner +./act_runner register \ + --instance http://10.0.120.75:3030 \ + --token SEU_TOKEN \ + --name corp05-runner \ + --labels "corp05,self-hosted,linux" \ + --no-interactive +``` + +Ajuste `--name` e `--labels` com o número do servidor correspondente. + +### 4. Gerar e ajustar o config.yaml + +```bash +./act_runner generate-config > config.yaml +``` + +Edite o `config.yaml` e substitua a seção `labels` para usar executor `host` (sem Docker): + +```yaml +labels: + - "corp05:host" + - "self-hosted:host" + - "linux:host" +``` + +### 5. Criar o serviço systemd + +Crie o arquivo `/etc/systemd/system/act_runner.service`: + +```ini +[Unit] +Description=Gitea Actions Runner +After=network.target + +[Service] +Type=simple +User=root +WorkingDirectory=/opt/act_runner +ExecStart=/opt/act_runner/act_runner daemon --config /opt/act_runner/config.yaml +Restart=always +RestartSec=5 + +[Install] +WantedBy=multi-user.target +``` + +```bash +systemctl daemon-reload +systemctl enable --now act_runner +systemctl status act_runner +``` + +### 6. Instalar o pip (se não estiver instalado) + +Em servidores com Debian Buster (EOL), o pip pode não estar disponível via apt. Instale manualmente: + +```bash +curl https://bootstrap.pypa.io/pip/3.7/get-pip.py -o get-pip.py +python3 get-pip.py +``` + +Verifique a instalação: + +```bash +/usr/bin/python3 -m pip --version +``` + +### 7. Clonar o repositório e configurar o .env + +```bash +git clone http://10.0.120.75:3030/Sothis/fusion-registration-hunter.git /opt/collect-registry +cp /home/sothis/.envs/collect/.env /opt/collect-registry/.env +``` + +O workflow do servidor correspondente cuidará do restante a cada push na branch `main`. + ## Exemplo de crontab (rodar todos os dias às 02h) ```cron 0 2 * * * /usr/bin/python3 /opt/collect-registry/coleta_registro.py >> /var/log/coleta_registro.log 2>&1 ``` -Ajuste o caminho do Python e do projeto conforme o seu servidor. +Ajuste o caminho do Python e do projeto conforme o seu servidor. \ No newline at end of file