This commit is contained in:
2026-07-13 12:30:05 +08:00
parent 7d61aadc5d
commit f25e128299
2023 changed files with 9042 additions and 922 deletions
+71
View File
@@ -0,0 +1,71 @@
---
icon: material/application-brackets-outline
tags: ["iptvc", "разработка"]
---
# :material-application-brackets-outline: Среда разработки
## Быстрый старт
Для локальной разработки `iptvc` достаточно установить [Go 1.23.6+][1] и клонировать репозиторий:
```bash
git clone https://git.axenov.dev/IPTV/iptvc.git
cd iptvc
go run . serve -i playlists.ini -p 8080 --check
```
Веб-интерфейс будет доступен по адресу <http://localhost:8080>.
## Требования
| ПО | Версия | Назначение |
| ----------- | --------------------- | ------------------------------------- |
| [Go][1] | 1.23.6+ | Компиляция и запуск |
| [Make][2] | любая | Сборка через `Makefile` (опционально) |
| [Docker][3] | с `docker compose` v2 | Полное окружение (опционально) |
[1]: https://go.dev/dl/
[2]: https://www.gnu.org/software/make
[3]: https://docs.docker.com/engine/install
## Команды для разработки
```bash
# Запуск веб-сервера с фоновой проверкой
go run . serve -i playlists.ini -p 8080 --check
# Запуск проверки без веб-сервера
go run . check -i playlists.ini --repeat 1
# Сборка бинарника
go build -o iptvc .
# Проверка кода
go vet ./...
# Сборка под все платформы
make release
```
## Файлы конфигурации
Для работы `iptvc` нужны два файла рядом с бинарником:
- `playlists.ini` — список плейлистов. Формат описан в [справочнике форматов](../../common/formats/playlists.md).
- `channels.json` — правила тегов каналов. Формат описан в [справочнике форматов](../../common/formats/channels.md).
- `config.yml` — конфигурация программы. Описание — в [разделе config.yml](../../common/config/config.md).
## Полное Docker-окружение
Полная инфраструктура проекта (nginx, KeyDB, checker, docs) развёртывается через Docker.
Подробнее — в разделе [Развёртывание](../site/deploy.md).
## Дополнительные материалы
- [Компиляция из исходного кода](compile.md)
- [Построение Docker-образа](docker.md)
- [Архитектура iptvc](arch.md)
- [Развёртывание и доставка обновлений](../site/deploy.md)