59 lines
1.7 KiB
Markdown
59 lines
1.7 KiB
Markdown
---
|
||
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).
|