# Установка Woodpecker CI на Ubuntu с Gitea --- ## 🛠️ Системные требования - Ubuntu 20.04+ (работает и на 22.04) - Docker и Docker Compose - Установленный Gitea (можно локально или через Docker) --- ## 📦 Шаг 1: Установка Docker и Docker Compose ```bash sudo apt update sudo apt install -y docker.io docker-compose sudo systemctl enable docker sudo usermod -aG docker $USER ``` > ⚠️ После добавления пользователя в группу `docker` нужно **перелогиниться**, чтобы изменения вступили в силу. --- ## 🧱 Шаг 2: Установка Gitea через Docker Compose Создайте директорию `gitea`, и в ней файл `docker-compose.yml`: ```yaml version: "3" services: gitea: image: gitea/gitea:latest container_name: gitea restart: always environment: - USER_UID=1000 - USER_GID=1000 volumes: - ./gitea:/data ports: - "3000:3000" - "2222:22" ``` ```bash mkdir gitea && cd gitea docker-compose up -d ``` Теперь Gitea будет доступна по адресу: [http://localhost:3000](http://localhost:3000) --- ## 🔐 Шаг 3: Настройка Gitea 1. Перейдите в браузере на `http://localhost:3000` 2. Пройдите установку: - База данных: SQLite или PostgreSQL (по желанию) - URL: `http://gitea:3000/` - Включите регистрацию, если нужно 3. Создайте пользователя (например, `ci-user`) 4. Сгенерируйте **токен доступа** (access token), он будет нужен для Woodpecker --- ## 🚀 Шаг 4: Установка Woodpecker CI Создайте директорию `woodpecker`, и в ней файл `docker-compose.yml`: ```yaml version: "3" services: woodpecker-server: image: woodpeckerci/woodpecker-server:latest container_name: woodpecker-server restart: always environment: - WOODPECKER_OPEN=true - WOODPECKER_HOST=http://localhost:8000 - WOODPECKER_GITEA=true - WOODPECKER_GITEA_URL=http://gitea:3000 - WOODPECKER_GITEA_CLIENT=your_client_id - WOODPECKER_GITEA_SECRET=your_client_secret - WOODPECKER_SECRET=supersecret ports: - "8000:8000" volumes: - ./data:/var/lib/woodpecker/ depends_on: - gitea woodpecker-agent: image: woodpeckerci/woodpecker-agent:latest container_name: woodpecker-agent restart: always environment: - WOODPECKER_SERVER=woodpecker-server:9000 - WOODPECKER_SECRET=supersecret volumes: - /var/run/docker.sock:/var/run/docker.sock ``` --- ## ⚙️ Шаг 5: Создание OAuth App в Gitea 1. Перейдите в Gitea → `Settings` → `Applications` 2. Создайте новое приложение (OAuth2) - Redirect URI: `http://localhost:8000/login` 3. Получите `Client ID` и `Client Secret` 4. Вставьте их в `WOODPECKER_GITEA_CLIENT` и `WOODPECKER_GITEA_SECRET` --- ## ▶️ Шаг 6: Запуск Woodpecker ```bash docker-compose up -d ``` После запуска Woodpecker будет доступен по адресу: [http://localhost:8000](http://localhost:8000) --- ## 📁 Пример `.woodpecker.yml` файла ```yaml pipeline: build: image: node:alpine commands: - npm install - npm test ``` --- ## ✅ Готово! Теперь вы можете подключать репозитории из Gitea и запускать CI-пайплайны в Woodpecker. --- ## 🔗 Полезные ссылки - Woodpecker CI: https://woodpecker-ci.org/ - Gitea: https://gitea.io/ - Документация Woodpecker: https://woodpecker-ci.org/docs/