---
icon: material/download
tags: ["iptvc"]
---

# Установка и запуск

## Запуск готовой программы

Достаточно скачать и распаковать архив с подходящим исполняемым файлом [со страницы последнего релиза](https://git.axenov.dev/IPTV/iptvc/releases/latest) в любую удобную директорию:

| ОС      | Скачать для `amd64`                                                                               | Скачать для `arm64`                                                                               |
| ------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
| Linux   | [linux_amd64.zip](https://git.axenov.dev/IPTV/iptvc/releases/download/latest/linux_amd64.zip)     | [linux_arm64.zip](https://git.axenov.dev/IPTV/iptvc/releases/download/latest/linux_arm64.zip)     |
| MacOS   | [darwin_amd64.zip](https://git.axenov.dev/IPTV/iptvc/releases/download/latest/darwin_amd64.zip)   | [darwin_arm64.zip](https://git.axenov.dev/IPTV/iptvc/releases/download/latest/darwin_arm64.zip)   |
| Windows | [windows_amd64.zip](https://git.axenov.dev/IPTV/iptvc/releases/download/latest/windows_amd64.zip) | [windows_arm64.zip](https://git.axenov.dev/IPTV/iptvc/releases/download/latest/windows_arm64.zip) |

## Запуск релизного образа

Релизные docker-образы строятся для платформы `linux` и архитектуры `amd64`.

Найти их можно здесь: <https://git.axenov.dev/IPTV/-/packages/container/iptvc>

Тег `latest` всегда соответствует последней версии, он подразумевается по умолчанию:

```shell
docker run --pull always git.axenov.dev/iptv/iptvc КОМАНДА [АРГУМЕНТЫ]
```

Для использования другой версии следует явно указать её:

```shell
docker run --pull always git.axenov.dev/iptv/iptvc:v1.0.6 КОМАНДА [АРГУМЕНТЫ]
```

## Построение собственного образа

```shell
./build-docker-image.sh [<версия>]
```

где `<версия>` — необязательный тег версии в формате `vX.Y.Z`.
Если не указан, то будет взят последний.

Целевая платформа и архитектура меняется с помощью переменных `GOOS` и `GOARCH`:

```shell
GOOS=darwin GOARCH=arm64 ./build-docker-image.sh [<версия>]
```

Запуск:

```
docker run --pull always iptvc:[latest|<версия>] КОМАНДА [АРГУМЕНТЫ]
```

## Использование образа в Docker compose

```yml
services:
  #...
  checker:
    container_name: iptv-checker
    image: git.axenov.dev/iptv/iptvc:latest
    command: [check]
  #...
```

## Компиляция из исходного кода

Для компиляции потребуется golang v1.23.6 и выше.
На версиях ниже не проверялось.

```bash
git clone https://git.axenov.dev/IPTV/iptvc.git
cd iptvc
make linux
# или make help для получения помощи по компиляции
```

Поддерживается передача переменной `GOARCH`:

```shell
make darwin GOARCH=arm64
```

Скомпилированные файлы находятся в директории `bin/`.
