Куда выложить пет-проект, чтобы дать ссылку

Pet-проект обычно умирает не из-за плохого кода, а потому что его некому показать. Он крутится у вас на ноутбуке, но чтобы отправить его другу, положить в портфолио или приложить к резюме, нужна живая ссылка — а это значит аренда сервера, настройка, возня с сертификатами. Именно этот барьер и держит проекты в папке «Загрузки». Хорошая новость: чтобы поделиться pet-проектом, поднимать сервер не обязательно. Ниже — какие проекты вообще имеет смысл выкладывать и как уложить путь от кода до ссылки в пару минут.

Решите, что именно вы показываете

Pet-проектом может быть почти всё: лендинг-портфолио, небольшая браузерная игра, Telegram-бот, калькулятор, парсер, дашборд или крошечный сервис.

Для публикации годится любой проект, который стартует по команде и отвечает наружу. Либо открывается в браузере, либо реагирует на сообщения в мессенджере. Если это про вас — проект можно выкладывать, дальше вопрос только в удобстве.

Приведите проект в запускаемое состояние

Прежде чем заливать код, убедитесь, что он запускается без ручных ритуалов и не требует вашего личного участия.

Одна команда на старте. Плохой сценарий — «сначала открой два терминала, потом запусти вот это». Хороший — одна точка входа: python main.py, npm start, ./app.

Соберите зависимости в файл. Платформа должна понимать, что доустановить. Для Python это requirements.txt, для Node.js — package.json:

aiogram==3.15.0
uvicorn==0.34.0
httpx==0.28.1

Порт читайте из переменной окружения, а не из кода. Тогда среда сама подставит нужное значение, и проект не упадёт из-за занятого порта:

import os
PORT = int(os.environ.get("PORT", 8000))
app.run(host="0.0.0.0", port=PORT)

Dockerfile — если хотите зафиксировать окружение. Dockbox работает с Docker-контейнерами, так что минимальный Dockerfile снимает вопросы с версией языка и системными библиотеками:

FROM python:3.12-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
ENV PORT=8000
EXPOSE 8000
CMD ["python", "main.py"]

Вынесите ключи и пароли из кода

Токен бота, ключ API, пароль от базы не должны лежать прямо в исходниках — и уж точно не должны уехать в публичный репозиторий. Так делать нельзя:

TOKEN = "7123456789:AAH..."

Правильно — читать значения из переменных окружения:

import os
TOKEN = os.environ["BOT_TOKEN"]

При заведении проекта в Dockbox вы укажете эти значения в панели, и они придут в контейнер снаружи. Секретов не будет ни в архиве, ни в Git, ни в истории коммитов.

Загрузите проект в Dockbox

Код можно отправить ZIP-архивом или импортировать из GitHub — приватный репозиторий тоже подходит. Dockbox сам определяет язык и тип проекта (сайт, бот или скрипт) и готовит его к запуску по адресу платформы. Выбирать сервер, тариф и версию языка руками не нужно: сборка идёт в Docker-контейнере на стороне платформы.

Дождитесь сборки и посмотрите логи

Прогресс сборки и логи видны в панели в реальном времени. Если что-то пошло не так, вы сразу видите, на каком шаге, и получаете внятную причину вместо простыни из stack trace. Для pet-проекта это главный режим работы: поправили код, перезалили, через минуту смотрите результат.

Поделитесь ссылкой

Готовый сайт открывается по HTTPS-адресу, бот начинает отвечать в мессенджере. Ссылку можно вставить в резюме, в био профиля или просто скинуть другу.

Сколько живёт проект. Сайт доступен постоянно: платформа держит контейнер запущенным, а при сбое перезапускает его. Лимита по времени нет — ни у сайтов, ни у ботов. Если нагрузка вырастет, можно перейти на тариф выше, с большим запасом ресурсов. Адрес при этом не меняется.

Боты и фоновые скрипты работают так же. Публичного адреса у них нет, но это не мешает им работать: контейнер запущен постоянно, а платформа следит за процессом и перезапускает его при сбое. Код, настройки и секреты остаются на месте. Если процессу нужно больше запаса, можно взять тариф с большими ресурсами.

Планы и цены

Первый месяц на тарифе Starter (990 ₽/мес, 1 vCPU, 2 ГБ RAM) бесплатный — этого достаточно, чтобы держать сайт в интернете и не думать о сроке. Тарифы Pro (2 490 ₽/мес) и Team (4 990 ₽/мес) нужны, когда проектов становится больше или им требуется больше ресурсов. Если проектов больше одного, дополнительное место можно докупить на любом тарифе. Актуальные цены смотрите в панели на dockbox.host.

Pet-проекту нужна не идеальная архитектура, а живая ссылка, которую не стыдно отправить. Загрузите код в Dockbox — и через несколько минут у проекта будет адрес, который можно показать кому угодно, без сервера и настройки. А если хочется заранее узнать, заведётся ли проект, на платформе есть бесплатная проверка без регистрации. Смежные материалы: бесплатный хостинг для сайта, статический сайт, Telegram-бот без VPS — всё это тоже разобрано на dockbox.host.

Частые вопросы

Сколько стоит выложить pet-проект в интернет?

Сайт можно держать на Dockbox сколько угодно — первый месяц Starter бесплатный. Боты и фоновые скрипты работают так же: контейнер запущен постоянно, платформа следит за процессом и перезапускает его при сбое. Тариф с большим запасом ресурсов выручает, если сайту нужно больше CPU и памяти, чтобы отвечать мгновенно. А если проектов несколько, можно доплатить за место под ещё один — на любом тарифе. Актуальные цены всегда видны на странице тарифов в панели.

Какие проекты можно задеплоить?

Сайт, браузерную игру, Telegram- или Discord-бота, калькулятор, парсер, дашборд, небольшой сервис или API. Проекты на Python, Node.js, Go, PHP, Rust и других языках работают так же, как статические сайты из HTML, CSS и JS. Ограничение одно: проект должен стартовать по команде и отвечать наружу.

Нужно ли разбираться в серверах и Docker?

Нет. Dockbox сам определяет язык, собирает проект, запускает его и выдаёт HTTPS-ссылку. Знать про серверы, nginx, SSL и Docker не требуется — вся инфраструктура остаётся на стороне платформы, вы работаете только со своим кодом и переменными окружения.

Можно ли задеплоить проект прямо из GitHub?

Да. Можно импортировать публичный или приватный репозиторий — Dockbox заберёт код и соберёт проект сам. Вручную выгружать архив для этого не обязательно, хотя ZIP тоже поддерживается.

Ссылка будет работать долго?

Ссылка не временная: проект открывается по одному и тому же адресу, пока он есть в вашей панели. Проект отвечает постоянно, пока запущен его контейнер, а адрес при этом не меняется.