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
+58
View File
@@ -0,0 +1,58 @@
---
title: Docker-образ
icon: simple/docker
tags: ["iptvc", "docker"]
---
# Построение Docker-образа
## Сборка
Образ собирается из [Dockerfile](https://git.axenov.dev/IPTV/iptvc/src/branch/master/Dockerfile) — multi-stage сборка на базе `golang:1.25-alpine` с финальным образом `alpine:3.22`.
```bash
docker build -t iptvc ./iptvc
```
Можно передать версию через build-arg:
```bash
docker build --build-arg IPTVC_VERSION=1.1.3 -t iptvc:v1.1.3 ./iptvc
```
Целевая платформа и архитектура задаются через `GOOS` и `GOARCH`:
```bash
docker build --build-arg GOOS=linux --build-arg GOARCH=arm64 -t iptvc:linux-arm64 ./iptvc
```
## Запуск
```bash
# Проверка плейлистов
docker run --rm \
-v ./playlists.ini:/app/playlists.ini \
-v ./channels.json:/app/channels.json \
iptvc check -i playlists.ini --repeat 0 --playlists-all-cooldown 60000
# Веб-сервер с фоновой проверкой
docker run --rm -p 8080:8080 \
-v ./playlists.ini:/app/playlists.ini \
-v ./channels.json:/app/channels.json \
iptvc serve -i playlists.ini -p 8080 --check
```
## Использование в compose
В `compose.yml` сервиса `checker` образ собирается автоматически:
```yaml
checker:
image: git.axenov.dev/iptv/iptvc:latest
build:
context: ./iptvc
dockerfile: Dockerfile
command: ["check", "--repeat", "0", "--playlists-all-cooldown", "${CHECK_PLAYLISTS_ALL_COOLDOWN:-60000}"]
```
Подробнее о полном окружении — в разделе [Развёртывание](../site/deploy.md).