Развертываем IT-Tools на VPS: 80+ утилит для разработчика в одном Docker-контейнере

Что умеет IT-Tools? Полный список возможностей

Это не просто «еще один набор утилит». Это полноценный швейцарский нож, который закрывает 90% ежедневных задач разработчика и админа. Вот лишь основные категории:

Криптография и токены

  • JWT Decoder — разбор токена на Header, Payload и Signature
  • Hash Generator — MD5, SHA-1, SHA-256, SHA-512 для текста и файлов
  • UUID Generator — генерация пачки уникальных идентификаторов
  • Password Generator — надежные пароли с настройкой длины и символов
  • Bcrypt / Argon2 — хеширование паролей для баз данных
  • Encrypt / Decrypt — AES, RSA шифрование текста

Парсеры и конвертеры

  • JSON / YAML / XML / TOML Formatter — форматирование и валидация
  • SQL Formatter — превращает «кашу» в читаемый SQL
  • Base64 Encode/Decode — декодинг странных строк из логов
  • URL Parser / Encoder — разбор URL на компоненты
  • Cron Expression Generator — генератор cron-выражений на человеческом языке
  • Date Converter — конвертация timestamp, ISO, Unix time
  • Color Converter — HEX, RGB, HSL, CSS-переменные

Сравнение и анализ

  • Text Diff — сравнение двух текстов с подсветкой различий
  • Lorem Ipsum Generator — генератор «рыбного» текста
  • String Case Converter — camelCase, snake_case, kebab-case, PascalCase
  • Markdown Preview — предпросмотр Markdown в реальном времени

Генераторы

  • QR Code Generator — создание QR-кодов для URL, Wi-Fi, vCard
  • SVG Placeholder Generator — заглушки для картинок
  • Open Graph Meta Generator — мета-теги для соцсетей
  • User Agent Parser — разбор строки User-Agent

Docker и DevOps

  • Docker run to Docker compose converter — конвертация команд в YAML
  • YAML to JSON / JSON to YAML — взаимная конвертация
  • .env Parser — разбор и форматирование env-файлов
  • Regex Tester — тестирование регулярных выражений с подсветкой

Математика и данные

  • Math Evaluator — вычисление математических выражений
  • Percentage Calculator — калькулятор процентов
  • IPv4 / IPv6 Subnet Calculator — расчет подсетей
  • MAC Address Generator — генерация MAC-адресов

И это только верхушка айсберга! Полный список насчитывает 80+ инструментов, и каждый из них реально полезен в ежедневной работе.


Шаг 1. Подготовка VPS и Docker

Подключаемся к серверу по SSH. Если Docker у вас еще не установлен, выполняем базовые команды для Ubuntu/Debian:

sudo apt update && sudo apt upgrade -y
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh

Проверяем, что Docker встал:

docker -v

Шаг 2. Создаем docker-compose.yml

Создадим аккуратную директорию и файл конфигурации:

mkdir it-tools && cd it-tools
nano docker-compose.yml

Вставляем следующий код:

version: '3.8'
services:
  it-tools:
    image: corentinth/it-tools:latest
    container_name: it-tools
    restart: unless-stopped
    ports:
      - "8081:80"

Что здесь происходит? Мы берем официальный образ corentinth/it-tools, заставляем его автоматически перезапускаться при падении и пробрасываем внутренний порт 80 на внешний 8081 нашего VPS.

Сохраняем файл (Ctrl+O, Enter) и выходим (Ctrl+X).

Шаг 3. Запускаем

Поднимаем наш набор инструментов одной командой:

docker compose up -d

Docker скачает образ (он весит всего около 30-40 МБ) и запустит контейнер. Проверяем, что всё встало:

docker ps

Если видите it-tools со статусом Up — поздравляю, ваш личный арсенал разработчика готов к бою!

Шаг 4. Открываем и пользуемся

Открываем браузер и переходим по адресу: http://IP_ВАШЕГО_VPS:8081

(Не забудьте открыть порт 8081 в фаерволе: sudo ufw allow 8081/tcp или в панели управления VPS).


Реальные примеры использования

Вот 3 конкретных сценария для примера.

Пример 1: Text Diff спасает после «я ничего не менял»

Ситуация: Ты админ сайта. В понедельник всё работало. В среду тебе пишут: «Сайт отдает 502 Bad Gateway». Ты лезешь в конфиг Nginx и понимаешь — ты или кто-то из команды что-то менял, но не помнит что именно. У тебя есть старый рабочий конфиг (из бэкапа или git) и новый, который сейчас на сервере.

Старый конфиг (рабочий) — nginx-old.conf:

server {
    listen 80;
    server_name biggratz.ru;

    location / {
        proxy_pass http://localhost:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }

    location /api {
        proxy_pass http://localhost:5000;
        proxy_set_header Host $host;
    }
}

Новый конфиг (сломанный) — nginx-new.conf:

server {
    listen 80;
    server_name biggratz.ru;

    location / {
        proxy_pass http://localhost:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-Proto $scheme;
    }

    location /api {
        proxy_pass http://localhost:5001;
        proxy_set_header Host $host;
    }
    
    location /static {
        alias /var/www/static;
    }
}

Что делаем в IT-Tools:

  1. Открываем Text Diff
  2. В левое поле вставляем старый конфиг
  3. В правое поле вставляем новый конфиг
  4. Нажимаем Diff

Что показывает IT-Tools:

Инструмент подсвечивает три изменения красным и зеленым:

Находим проблему за 10 секунд: Смотришь на diff и сразу видишь:

  • Порт API изменился с 5000 на 5001 — вот почему 502 ошибка! Бэкенд всё ещё слушает 5000, а Nginx стучится на 5001.
  • Добавился X-Forwarded-Proto — это нормально, не ломает.
  • Добавился location /static — тоже нормально.

Пример 2: Docker run to Docker compose converter

Ситуация: В статье дают команду запуска:

docker run -d \
  --name postgres-backup \
  --restart always \
  -p 5432:5432 \
  -e POSTGRES_USER=admin \
  -e POSTGRES_PASSWORD=SuperSecret123 \
  -e POSTGRES_DB=production \
  -e PGDATA=/var/lib/postgresql/data/pgdata \
  -v postgres_data:/var/lib/postgresql/data \
  -v ./backups:/backups \
  -v ./scripts:/scripts \
  --network mynetwork \
  --health-cmd="pg_isready -U admin" \
  --health-interval=30s \
  --health-timeout=10s \
  --health-retries=3 \
  postgres:15-alpine

Ты копируешь эту команду, запускаешь — всё работает. Но через неделю тебе нужно:

  • Изменить пароль
  • Добавить новую переменную окружения
  • Поменять версию PostgreSQL

Проблема: команда docker run на 20 строк — это ад. Ты не помнишь, какие флаги использовал, где лежат volumes, какие health-check настроены. Каждый раз гуглишь синтаксис.

Что делаем в IT-Tools:

  1. Открываем Docker run to Docker compose converter
  2. Вставляем всю «простыню» команды docker run
  3. Нажимаем Convert

Что получаем на выходе:

Что это дает:

Структурированный файл — всё видно как на ладони
Легко редактировать — хочешь сменить пароль? Меняешь одну строку
Версионируется в Git — видишь историю изменений
Понятный синтаксис — не нужно помнить флаги docker run
Можно добавить другие сервисы — Redis, Nginx, твое приложение

Копируем в свой docker-compose.yml, запускаем docker compose up -d — и наслаждаемся порядком в инфраструктуре.


Пример 3: QR Code generator


Делаем красиво и безопасно

Работать по http://IP:8081 не всегда удобно, особенно если вы хотите добавить эти инструменты в закладки браузера или расшарить для своей команды.

Идеальный сценарий:

  1. Заведите поддомен, например, tools.biggratz.ru.
  2. Настройте Nginx Proxy Manager (или классический Nginx + Certbot) в соседнем Docker-контейнере.
  3. Пробросьте трафик с 443 порта (HTTPS) на порт 8081 нашего it-tools.

Так вы получите красивый адрес с зеленым замочком SSL, а доступ к инструментам можно будет закрыть базовой авторизацией (Basic Auth) на уровне Nginx, чтобы чужаки не нашли вашу «песочницу».


Заключение

IT-Tools — это тот самый инструмент, который вы установите один раз, а пользоваться будете каждый день. Это не просто «еще один набор утилит» — это полноценная замена десяткам разрозненных сайтов, которые вы открываете по привычке.

Главные преимущества:

  • Безопасность — все данные остаются на вашем сервере
  • Скорость — работает мгновенно, без рекламы и трекеров
  • Красота — современный UI с темной и светлой темой
  • Бесплатно — полностью open-source
  • Легкость — один Docker-контейнер, который весит 30 МБ