Back to README · Configuration →
Этот документ описывает текущий рабочий путь установки для mtproxy-installer. На сегодня first-class сценарий только
один: Telemt-based deployment через providers/telemt.
Перед установкой подготовь:
- Linux-сервер с root-доступом или
sudo - внешний IP-адрес, который будет использоваться как
public_hostиannounce - домен для FakeTLS, если не хочешь оставлять дефолт
www.google.com - Docker и Docker Compose, если хочешь запускать проект из локального клона вручную
Installer умеет ставить Docker и Docker Compose сам, если их еще нет в системе.
Самый короткий путь:
curl -fsSL https://raw.githubusercontent.com/ichinya/mtproxy-installer/main/install.sh | sudo bashПо умолчанию installer:
- создает каталог
/opt/mtproxy-installer - готовит
providers/telemt - генерирует secret
- пишет рабочий
telemt.tomlв FakeTLS-режиме - запускает контейнер через корневой
docker-compose.yml - пытается получить готовую
tg://proxyссылку из локального Control API
Если нужен другой порт или домен, переменные можно передать сразу:
curl -fsSL https://raw.githubusercontent.com/ichinya/mtproxy-installer/main/install.sh | \
sudo env PORT=8443 TLS_DOMAIN=habr.com PROXY_USER=public bashЧаще всего переопределяют:
PORTAPI_PORTTLS_DOMAINPROXY_USERRUST_LOG
Полный список и смысл переменных собран в Configuration.
После успешной установки структура выглядит так:
/opt/mtproxy-installer/
.env
docker-compose.yml
providers/
telemt/
.env
docker-compose.yml
telemt.toml
data/
Если работаешь не через installer, а из локального репозитория, подготовь файлы вручную:
cp .env.example .env
cp providers/telemt/.env.example providers/telemt/.env
cp providers/telemt/telemt.toml.example providers/telemt/telemt.toml
mkdir -p providers/telemt/data/cache providers/telemt/data/tlsfront
sudo chown -R 65532:65532 providers/telemt/data
docker compose up -dТот же локальный путь теперь можно запускать через Makefile:
make setup
make dev
make testПеред запуском обязательно проверь в providers/telemt/telemt.toml:
middle_proxy_nat_ippublic_hostannouncetls_domain
| Command | Description |
|---|---|
make setup |
подготовить локальные env/config файлы и data-директории |
make dev |
поднять локальный Docker Compose stack |
make build |
провалидировать root и provider compose-конфиги |
make test |
выполнить shell syntax check и базовые smoke-checks |
make lint |
прогнать shellcheck для install.sh |
make docker-dev-down |
остановить локальный stack |
Для полного списка используй make help.
Минимальная проверка после старта:
# Проверка здоровья API
curl http://127.0.0.1:9091/v1/health
# Получение proxy links
curl http://127.0.0.1:9091/v1/users
# Просмотр логов
docker compose -f /opt/mtproxy-installer/docker-compose.yml \
--project-directory /opt/mtproxy-installer \
--env-file /opt/mtproxy-installer/.env logs -f telemtКонтрольный список:
- контейнер запущен:
docker compose ps - API отвечает только на
127.0.0.1:9091 - получена
tg://proxyссылка - через прокси открываются сообщения / каналы / media
- порт доступен снаружи
Что не использовать как acceptance-критерий:
- голосовые звонки Telegram; для текущего MTProto/Telemt path они не считаются гарантированно поддерживаемым сценарием.
Если трафик идет через reverse proxy, сразу переходи к Reverse Proxy. Если есть проблемы с медиа,
SNI или proxy_protocol, смотри Troubleshooting.
curl -fsSL https://raw.githubusercontent.com/ichinya/mtproxy-installer/main/update.sh | sudo bashСкрипт сохраняет конфиг и секрет, подтягивает свежий образ и перезапускает контейнер.
# Полное удаление
curl -fsSL https://raw.githubusercontent.com/ichinya/mtproxy-installer/main/uninstall.sh | sudo bash
# С сохранением данных
curl -fsSL https://raw.githubusercontent.com/ichinya/mtproxy-installer/main/uninstall.sh | sudo env KEEP_DATA=true bash- настрой переменные окружения и
telemt.tomlпод свой сервер - реши, нужен ли тебе own-domain fallback вместо дефолтного
tls_domain - определи, будет ли deployment работать напрямую или за
nginx/ Traefik
- Configuration - все ключевые env vars и настройки Telemt
- Reverse Proxy - схемы с L4-routing и fallback backend
- Troubleshooting - частые проблемы после первого запуска