feat: rename project to CertPilot
Синхронизация Wiki / Синхронизация Wiki (push) Successful in 2s

This commit is contained in:
2026-08-31 19:31:51 +03:00
parent 8ab072454a
commit 7f12e0bab5
20 changed files with 76 additions and 70 deletions
+5 -4
View File
@@ -1,3 +1,4 @@
# Defines project automation or runtime configuration.
name: "Deploy scripts to remote server"
on:
@@ -231,7 +232,7 @@ jobs:
shell: bash
run: |
set -euo pipefail
scp .deploy-artifacts/deploy.tar.gz deploy-target:/tmp/configure_nginx_manager_deploy.tar.gz
scp .deploy-artifacts/deploy.tar.gz deploy-target:/tmp/certpilot_deploy.tar.gz
- name: "Deploy and restart remote service"
shell: bash
@@ -246,10 +247,10 @@ jobs:
CONFIG_DEST="${DEPLOY_CONFIG_PATH:-/etc/letsencrypt-regru/config.json}"
ssh deploy-target "set -euo pipefail; \
TMP_DIR=\"/tmp/configure_nginx_manager_deploy\"; \
TMP_DIR=\"/tmp/certpilot_deploy\"; \
sudo rm -rf \"\${TMP_DIR}\"; \
sudo mkdir -p \"\${TMP_DIR}\"; \
sudo tar -xzf /tmp/configure_nginx_manager_deploy.tar.gz -C \"\${TMP_DIR}\"; \
sudo tar -xzf /tmp/certpilot_deploy.tar.gz -C \"\${TMP_DIR}\"; \
sudo mkdir -p \"${DEPLOY_PATH}\"; \
sudo find \"${DEPLOY_PATH}\" -mindepth 1 -maxdepth 1 ! -name 'venv' -exec rm -rf {} + 2>/dev/null || true; \
sudo cp -a \"\${TMP_DIR}/repo/.\" \"${DEPLOY_PATH}/\"; \
@@ -263,7 +264,7 @@ jobs:
sudo cp -f \"\${TMP_DIR}/repo/config.json\" \"${CONFIG_DEST}\"; \
sudo chmod 600 \"${CONFIG_DEST}\"; \
echo \">>> config.json deployed to: ${CONFIG_DEST}\"; \
sudo rm -rf \"\${TMP_DIR}\" /tmp/configure_nginx_manager_deploy.tar.gz; \
sudo rm -rf \"\${TMP_DIR}\" /tmp/certpilot_deploy.tar.gz; \
sudo systemctl daemon-reload; \
sudo systemctl enable \"${DEPLOY_SERVICE}\" || true; \
echo \">>> Starting service...\"; \
+1
View File
@@ -1,3 +1,4 @@
# Defines project automation or runtime configuration.
name: "Релиз: архив исходников"
on:
+1
View File
@@ -1,3 +1,4 @@
# Defines project automation or runtime configuration.
name: "Синхронизация Wiki"
on:
+1 -1
View File
@@ -49,7 +49,7 @@ SPEC_FILE = $(APP_NAME).spec
# Переменные для запуска Gitea Actions workflows
DFGIT_URL ?= https://gitea.example.com
WORKFLOW_DISPATCH_SCRIPT ?= scripts/wiki_sync_dispatch.py
DFGIT_REPO ?= your_username/configure_nginx_manager
DFGIT_REPO ?= your_username/certpilot
GIT_TOKEN ?=
GITEA_TOKEN ?=
GITEA_ACCESS_TOKEN ?=
+10 -10
View File
@@ -1,4 +1,4 @@
# configure_nginx_manager
# certpilot
Автоматизация выпуска и обновления wildcard-сертификатов Let's Encrypt через DNS-01 API REG.RU с установкой в nginx или Nginx Proxy Manager.
@@ -83,18 +83,18 @@ Python скрипт теперь автоматически загружает
```bash
# Метод 1: Через pipe (рекомендуется)
curl -fsSL https://github.com/DFofanov/configure_nginx_manager/raw/refs/heads/master/letsencrypt_regru.sh | sudo bash
curl -fsSL https://github.com/DFofanov/certpilot/raw/refs/heads/master/letsencrypt_regru.sh | sudo bash
# Метод 2: Через bash -c
sudo bash -c "$(curl -fsSL https://github.com/DFofanov/configure_nginx_manager/raw/refs/heads/master/letsencrypt_regru.sh)"
sudo bash -c "$(curl -fsSL https://github.com/DFofanov/certpilot/raw/refs/heads/master/letsencrypt_regru.sh)"
```
**Вариант 2: Клонирование репозитория**
```bash
# 1. Клонируйте репозиторий
git clone https://github.com/DFofanov/configure_nginx_manager.git
cd configure_nginx_manager
git clone https://github.com/DFofanov/certpilot.git
cd certpilot
# 2. Запустите установку
sudo bash letsencrypt_regru.sh
@@ -221,12 +221,12 @@ tail -f /var/log/letsencrypt-regru/letsencrypt_regru.log
```bash
# Способ 1: Из локального репозитория (если клонировали)
cd configure_nginx_manager
cd certpilot
git pull # Получить последние изменения
sudo bash letsencrypt_regru.sh update
# Способ 2: Обновление одной командой с GitHub (рекомендуется)
curl -fsSL https://github.com/DFofanov/configure_nginx_manager/raw/refs/heads/master/letsencrypt_regru.sh | sudo bash -s update
curl -fsSL https://github.com/DFofanov/certpilot/raw/refs/heads/master/letsencrypt_regru.sh | sudo bash -s update
# ❌ НЕ РАБОТАЕТ (неправильный синтаксис):
# sudo bash -c "$(curl -fsSL ...) update" # Аргументы не передаются!
@@ -239,7 +239,7 @@ curl -fsSL https://github.com/DFofanov/configure_nginx_manager/raw/refs/heads/ma
sudo bash letsencrypt_regru.sh uninstall
# Способ 2: Удаление одной командой с GitHub
curl -fsSL https://github.com/DFofanov/configure_nginx_manager/raw/refs/heads/master/letsencrypt_regru.sh | sudo bash -s uninstall
curl -fsSL https://github.com/DFofanov/certpilot/raw/refs/heads/master/letsencrypt_regru.sh | sudo bash -s uninstall
```
**💡 Совет:** При обновлении/удалении через curl скрипт автоматически скачивает необходимые файлы с GitHub.
@@ -427,7 +427,7 @@ sudo make clean
# 1. Клонируем или скачиваем проект
cd /tmp
git clone <repository-url>
cd configure_nginx_manager
cd certpilot
# 2. Устанавливаем через Makefile
sudo make install
@@ -2141,7 +2141,7 @@ Workflow `.github/workflows/deploy-service.yml` выполняет удалён
- `DEPLOY_PORT` (обычно `22`)
- `DEPLOY_USER`
- `DEPLOY_SSH_PRIVATE_KEY` (приватный ключ для SSH)
- `DEPLOY_PATH` (папка выкладки, например `/opt/configure_nginx_manager`)
- `DEPLOY_PATH` (папка выкладки, например `/opt/certpilot`)
- `DEPLOY_SERVICE` (systemd unit, например `letsencrypt-regru.service`)
#### Данные для генерации `config.json`
Binary file not shown.

Before

Width:  |  Height:  |  Size: 118 KiB

After

Width:  |  Height:  |  Size: 1.0 MiB

+8 -8
View File
@@ -12,22 +12,22 @@
```bash
# Обычно это один из путей:
/var/lib/gitea/data/gitea-repositories/username/configure_nginx_manager.git
/var/lib/gitea/data/gitea-repositories/username/certpilot.git
# или
/home/git/gitea-repositories/username/configure_nginx_manager.git
/home/git/gitea-repositories/username/certpilot.git
```
### 2. Скопируйте hook
```bash
# На сервере Gitea
cd /path/to/gitea-repositories/username/configure_nginx_manager.git/hooks/
cd /path/to/gitea-repositories/username/certpilot.git/hooks/
# Скопируйте файл
cp /path/to/this/repo/gitea-hooks/post-receive ./
# Или загрузите напрямую
wget https://raw.githubusercontent.com/username/configure_nginx_manager/main/gitea-hooks/post-receive
wget https://raw.githubusercontent.com/username/certpilot/main/gitea-hooks/post-receive
```
### 3. Настройте hook
@@ -38,7 +38,7 @@ nano post-receive
Измените:
```bash
GITHUB_REPO="git@github.com:YOUR_USERNAME/configure_nginx_manager.git"
GITHUB_REPO="git@github.com:YOUR_USERNAME/certpilot.git"
```
### 4. Сделайте исполняемым
@@ -82,7 +82,7 @@ ssh -T git@github.com
2. Используйте в hook:
```bash
GITHUB_REPO="https://YOUR_TOKEN@github.com/username/configure_nginx_manager.git"
GITHUB_REPO="https://YOUR_TOKEN@github.com/username/certpilot.git"
```
## ✅ Проверка
@@ -90,8 +90,8 @@ GITHUB_REPO="https://YOUR_TOKEN@github.com/username/configure_nginx_manager.git"
```bash
# Тестовый push
cd /tmp
git clone http://gitea.example.com/username/configure_nginx_manager.git
cd configure_nginx_manager
git clone http://gitea.example.com/username/certpilot.git
cd certpilot
echo "test" >> README.md
git add README.md
git commit -m "Test sync"
+8 -8
View File
@@ -12,22 +12,22 @@ Automatic synchronization with GitHub after push to Gitea.
```bash
# Usually one of these paths:
/var/lib/gitea/data/gitea-repositories/username/configure_nginx_manager.git
/var/lib/gitea/data/gitea-repositories/username/certpilot.git
# or
/home/git/gitea-repositories/username/configure_nginx_manager.git
/home/git/gitea-repositories/username/certpilot.git
```
### 2. Copy Hook
```bash
# On Gitea server
cd /path/to/gitea-repositories/username/configure_nginx_manager.git/hooks/
cd /path/to/gitea-repositories/username/certpilot.git/hooks/
# Copy file
cp /path/to/this/repo/gitea-hooks/post-receive ./
# Or download directly
wget https://raw.githubusercontent.com/username/configure_nginx_manager/main/gitea-hooks/post-receive
wget https://raw.githubusercontent.com/username/certpilot/main/gitea-hooks/post-receive
```
### 3. Configure Hook
@@ -38,7 +38,7 @@ nano post-receive
Change:
```bash
GITHUB_REPO="git@github.com:YOUR_USERNAME/configure_nginx_manager.git"
GITHUB_REPO="git@github.com:YOUR_USERNAME/certpilot.git"
```
### 4. Make Executable
@@ -82,7 +82,7 @@ ssh -T git@github.com
2. Use in hook:
```bash
GITHUB_REPO="https://YOUR_TOKEN@github.com/username/configure_nginx_manager.git"
GITHUB_REPO="https://YOUR_TOKEN@github.com/username/certpilot.git"
```
## ✅ Verification
@@ -90,8 +90,8 @@ GITHUB_REPO="https://YOUR_TOKEN@github.com/username/configure_nginx_manager.git"
```bash
# Test push
cd /tmp
git clone http://gitea.example.com/username/configure_nginx_manager.git
cd configure_nginx_manager
git clone http://gitea.example.com/username/certpilot.git
cd certpilot
echo "test" >> README.md
git add README.md
git commit -m "Test sync"
+2 -2
View File
@@ -12,9 +12,9 @@
# ==============================================================================
# Конфигурация
GITHUB_REPO="git@github.com:username/configure_nginx_manager.git"
GITHUB_REPO="git@github.com:username/certpilot.git"
# Или с HTTPS и токеном:
# GITHUB_REPO="https://YOUR_GITHUB_TOKEN@github.com/username/configure_nginx_manager.git"
# GITHUB_REPO="https://YOUR_GITHUB_TOKEN@github.com/username/certpilot.git"
LOG_FILE="/var/log/gitea/github-sync.log"
+3 -3
View File
@@ -186,7 +186,7 @@ install_application() {
header "Установка приложения"
local script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
local github_raw_url="https://raw.githubusercontent.com/DFofanov/configure_nginx_manager/refs/heads/master"
local github_raw_url="https://raw.githubusercontent.com/DFofanov/certpilot/refs/heads/master"
msg_info "Установка основного скрипта..."
@@ -489,7 +489,7 @@ display_summary() {
echo ""
echo "<22>📖 Документация:"
echo " • README: ${APP_DIR}/README.md"
echo " • GitHub: https://github.com/DFofanov/configure_nginx_manager"
echo " • GitHub: https://github.com/DFofanov/certpilot"
echo ""
echo "🔍 Сравнение режимов тестирования:"
@@ -533,7 +533,7 @@ update_application() {
header "Обновление приложения"
local script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" 2>/dev/null && pwd)"
local github_raw_url="https://raw.githubusercontent.com/DFofanov/configure_nginx_manager/refs/heads/master"
local github_raw_url="https://raw.githubusercontent.com/DFofanov/certpilot/refs/heads/master"
msg_info "Остановка сервиса..."
systemctl stop letsencrypt-regru.timer || true
+2 -2
View File
@@ -2406,8 +2406,8 @@ def main():
ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ
================================================================================
Документация: https://github.com/DFofanov/configure_nginx_manager
Поддержка: https://github.com/DFofanov/configure_nginx_manager/issues
Документация: https://github.com/DFofanov/certpilot
Поддержка: https://github.com/DFofanov/certpilot/issues
Лимиты LE: 5 сертификатов/неделю на домен (production only, staging БЕЗ лимитов)
""",
+1
View File
@@ -1,4 +1,5 @@
#!/usr/bin/env python3
"""Implements the file-specific project functionality."""
import argparse
import json
import os
+1
View File
@@ -1,3 +1,4 @@
# Defines the systemd service for certificate automation.
[Unit]
Description=Let's Encrypt Certificate Manager for reg.ru
After=network-online.target
+1
View File
@@ -1,3 +1,4 @@
# Schedules periodic certificate renewal checks.
[Unit]
Description=Let's Encrypt Certificate Auto-Renewal Timer
Requires=letsencrypt-regru.service
+4 -4
View File
@@ -74,8 +74,8 @@ sudo apt-get install -y python3 python3-pip git make
#### 2. Клонируйте репозиторий
```bash
git clone https://github.com/DFofanov/configure_nginx_manager.git
cd configure_nginx_manager
git clone https://github.com/DFofanov/certpilot.git
cd certpilot
```
#### 3. Соберите
@@ -109,8 +109,8 @@ letsencrypt-regru --help
#### 2. Клонируйте репозиторий
```powershell
git clone https://github.com/DFofanov/configure_nginx_manager.git
cd configure_nginx_manager
git clone https://github.com/DFofanov/certpilot.git
cd certpilot
```
#### 3. Соберите
+1 -1
View File
@@ -83,7 +83,7 @@ DFGIT_TOKEN="<token>" make deploy-service REF=master
Примечания:
- Базовый URL задаётся переменной `DFGIT_URL` (по умолчанию `https://gitea.example.com`).
- Репозиторий задаётся `DFGIT_REPO` (по умолчанию `your_username/configure_nginx_manager`).
- Репозиторий задаётся `DFGIT_REPO` (по умолчанию `your_username/certpilot`).
- Для Linux/macOS требуется установленный `curl`.
## Типовой workflow (рекомендуется)
+19 -19
View File
@@ -58,14 +58,14 @@
**1. На сервере Gitea найдите путь к репозиторию:**
```bash
## Обычно это:
/var/lib/gitea/data/gitea-repositories/username/configure_nginx_manager.git
/var/lib/gitea/data/gitea-repositories/username/certpilot.git
## Или
/home/git/gitea-repositories/username/configure_nginx_manager.git
/home/git/gitea-repositories/username/certpilot.git
```
**2. Создайте post-receive hook:**
```bash
cd /path/to/gitea/repos/username/configure_nginx_manager.git/hooks/
cd /path/to/gitea/repos/username/certpilot.git/hooks/
nano post-receive
```
@@ -74,9 +74,9 @@ nano post-receive
**4. Настройте параметры:**
```bash
## В файле post-receive измените:
GITHUB_REPO="git@github.com:YOUR_USERNAME/configure_nginx_manager.git"
GITHUB_REPO="git@github.com:YOUR_USERNAME/certpilot.git"
## Или для HTTPS с токеном:
GITHUB_REPO="https://YOUR_TOKEN@github.com/YOUR_USERNAME/configure_nginx_manager.git"
GITHUB_REPO="https://YOUR_TOKEN@github.com/YOUR_USERNAME/certpilot.git"
```
**5. Сделайте скрипт исполняемым:**
@@ -156,7 +156,7 @@ ssh -T git@github.com
**В hook файле:**
```bash
GITHUB_REPO="https://ghp_YOUR_TOKEN_HERE@github.com/username/configure_nginx_manager.git"
GITHUB_REPO="https://ghp_YOUR_TOKEN_HERE@github.com/username/certpilot.git"
```
#### Тестирование
@@ -164,8 +164,8 @@ GITHUB_REPO="https://ghp_YOUR_TOKEN_HERE@github.com/username/configure_nginx_man
```bash
## Сделайте тестовый commit в Gitea
cd /tmp
git clone http://gitea.example.com/username/configure_nginx_manager.git
cd configure_nginx_manager
git clone http://gitea.example.com/username/certpilot.git
cd certpilot
echo "test" >> README.md
git add README.md
git commit -m "Test sync to GitHub"
@@ -193,7 +193,7 @@ GitHub Repository → Settings → Secrets and variables → Actions → New rep
Добавьте:
- **Name**: `GITEA_URL`
- **Value**: `https://gitea.example.com/username/configure_nginx_manager.git`
- **Value**: `https://gitea.example.com/username/certpilot.git`
- **Name**: `GITEA_TOKEN`
- **Value**: Токен доступа Gitea
@@ -221,7 +221,7 @@ GitHub Repository → Settings → Secrets and variables → Actions → New rep
В Gitea репозитории:
1. Settings → Webhooks → Add Webhook → Gitea
2. Target URL: `https://api.github.com/repos/USERNAME/configure_nginx_manager/dispatches`
2. Target URL: `https://api.github.com/repos/USERNAME/certpilot/dispatches`
3. HTTP Method: `POST`
4. POST Content Type: `application/json`
5. Secret: оставьте пустым или используйте
@@ -244,7 +244,7 @@ GitHub Repository → Settings → Secrets and variables → Actions → New rep
2. Прокрутите до "Mirror Settings"
3. Нажмите "Add Push Mirror"
4. Заполните:
- **Git Remote Repository URL**: `https://github.com/username/configure_nginx_manager.git`
- **Git Remote Repository URL**: `https://github.com/username/certpilot.git`
- **Username**: ваш GitHub username
- **Password**: GitHub Personal Access Token
- **Sync Interval**: `8h` (каждые 8 часов) или `0` (только вручную)
@@ -272,13 +272,13 @@ Settings → Repository → Mirror Settings → Sync Now
**Настройка:**
```bash
## В вашем локальном репозитории
cd configure_nginx_manager
cd certpilot
## Добавьте GitHub как второй remote
git remote add github git@github.com:username/configure_nginx_manager.git
git remote add github git@github.com:username/certpilot.git
## Или настройте push в оба репозитория одновременно
git remote set-url --add --push origin git@github.com:username/configure_nginx_manager.git
git remote set-url --add --push origin git@github.com:username/certpilot.git
## Проверьте
git remote -v
@@ -309,8 +309,8 @@ git pushall
```bash
## Сравнить коммиты
git ls-remote git@gitea.example.com:username/configure_nginx_manager.git
git ls-remote git@github.com:username/configure_nginx_manager.git
git ls-remote git@gitea.example.com:username/certpilot.git
git ls-remote git@github.com:username/certpilot.git
## Должны быть одинаковые SHA
```
@@ -415,7 +415,7 @@ chmod 600 ~/.ssh/id_ed25519
### 🎯 Итоговая рекомендация
Для проекта `configure_nginx_manager`:
Для проекта `certpilot`:
**1. Основной метод: Git Hook**
- Быстро
@@ -442,10 +442,10 @@ git ls-remote github | head -1
```bash
## На сервере Gitea
sudo su - git
cd /path/to/gitea-repositories/username/configure_nginx_manager.git/hooks/
cd /path/to/gitea-repositories/username/certpilot.git/hooks/
## Скачайте hook
wget https://raw.githubusercontent.com/username/configure_nginx_manager/main/gitea-hooks/post-receive
wget https://raw.githubusercontent.com/username/certpilot/main/gitea-hooks/post-receive
## Настройте
nano post-receive
+1 -1
View File
@@ -1,6 +1,6 @@
# SSL Certificate Manager (Let's Encrypt + reg.ru) — Wiki (RU)
Это Wiki проекта **configure_nginx_manager**: автоматическое получение и продление SSL сертификатов Let's Encrypt через **DNS-01** (API **reg.ru**) с опциональной синхронизацией сертификатов в **Nginx Proxy Manager (NPM)**.
Это Wiki проекта **certpilot**: автоматическое получение и продление SSL сертификатов Let's Encrypt через **DNS-01** (API **reg.ru**) с опциональной синхронизацией сертификатов в **Nginx Proxy Manager (NPM)**.
## Что умеет проект
+6 -6
View File
@@ -19,7 +19,7 @@
- Через `curl`:
`sudo bash -c "$(curl -fsSL https://github.com/DFofanov/configure_nginx_manager/raw/refs/heads/master/letsencrypt_regru.sh)"`
`sudo bash -c "$(curl -fsSL https://github.com/DFofanov/certpilot/raw/refs/heads/master/letsencrypt_regru.sh)"`
### Что делает установщик
@@ -96,7 +96,7 @@
Самый быстрый способ - запустить установку напрямую с GitHub:
```bash
sudo bash -c "$(curl -fsSL https://github.com/DFofanov/configure_nginx_manager/raw/refs/heads/master/letsencrypt_regru.sh)"
sudo bash -c "$(curl -fsSL https://github.com/DFofanov/certpilot/raw/refs/heads/master/letsencrypt_regru.sh)"
```
Эта команда:
@@ -110,8 +110,8 @@ sudo bash -c "$(curl -fsSL https://github.com/DFofanov/configure_nginx_manager/r
```bash
## 1. Скачайте репозиторий
git clone https://github.com/DFofanov/configure_nginx_manager.git
cd configure_nginx_manager
git clone https://github.com/DFofanov/certpilot.git
cd certpilot
## 2. Дайте права на выполнение
chmod +x letsencrypt_regru.sh
@@ -301,7 +301,7 @@ sudo systemctl restart letsencrypt-regru.timer
```bash
## Скачайте последнюю версию
cd configure_nginx_manager
cd certpilot
git pull
## Запустите обновление
@@ -470,7 +470,7 @@ sudo systemctl restart letsencrypt-regru.timer
### Поддержка
- GitHub Issues: https://github.com/YOUR_USERNAME/configure_nginx_manager/issues
- GitHub Issues: https://github.com/YOUR_USERNAME/certpilot/issues
- Документация: Wiki/README в этом репозитории
- Email: admin@example.com
+1 -1
View File
@@ -31,7 +31,7 @@
## Appendix (migrated from docs/PROJECT_STRUCTURE.md)
<!-- MIGRATED_FROM_DOCS:PROJECT_STRUCTURE.md -->
## 📁 Структура проекта configure_nginx_manager
## 📁 Структура проекта certpilot
### Основные скрипты