Портфолио нужно ровно для одного — чтобы его можно было кому-то показать. Ссылка идёт в резюме, в отклик на вакансию, в сообщение клиенту, в био профиля, и от неё зависит, увидят ваши работы вообще. Между папкой с сайтом на ноутбуке и живым адресом обычно лежит аренда сервера, веб-сервер, сертификат и вечер на разбор белого экрана — и именно на этом шаге портфолио чаще всего останавливается. Ниже — как уложить путь от файлов до одной постоянной HTTPS-ссылки за несколько минут.
Почему портфолио чаще всего остаётся без ссылки
Привычный путь к собственному сайту — длинный чек-лист, и каждый пункт в нём по отдельности прост.
Сервер. Виртуальный сервер нужно арендовать, выбрать ОС, открыть порты и держать его обновлённым. Портфолио от этого не становится лучше, а платить за железо приходится каждый месяц.
Веб-сервер. Статике нужен nginx или его аналог с правильно выставленным корнем. Ошибка в конфиге — и браузер отдаёт 404 или белый экран вместо ваших работ.
Сертификат HTTPS. Без замка в адресной строке ссылку в резюме лучше не отправлять. Сертификат нужно выпустить, прикрутить к серверу и не забыть продлить через три месяца.
Домен и DNS. Покупка домена — отдельный шаг, а записи A и CNAME в панели регистратора — отдельная головная боль, если вы делаете это впервые.
Плюс сервер стоит денег все тридцать дней, даже когда портфолио никто не открывает. На Dockbox эту часть берёт на себя платформа: вы загружаете файлы, она собирает их в Docker-контейнер и выдаёт публичную HTTPS-ссылку.
Что значит «одна ссылка» и почему она важнее дизайна
Ссылка живёт годами. Адрес не должен меняться после каждого обновления: иначе резюме, профили и старые переписки придётся править.
Одна точка входа. Работы на Behance, Dribbble, GitHub и YouTube остаются на своих площадках, а портфолио собирает их в одном месте вместе с вашим описанием.
Замок и открытие с телефона. HR и заказчик откроют ссылку с телефона, в мобильном интернете. Если сайт не открывается или ругается на сертификат, он не откроется вовсе.
Индексация. Обычный публичный адрес могут найти поисковики — при условии, что у страницы осмысленный заголовок и подписи к работам.
Три пути: готовая статика, генератор, конструктор
Готовая статика. Папка с index.html, стилями, шрифтами и картинками. Деплой такого сайта самый быстрый: платформа видит HTML и сразу отдаёт его наружу.
Генератор. Astro, Next, Vue или Svelte собирают статику из компонентов и разметки. Загружайте исходники вместе с package.json и lock-файлом — сборку платформа выполнит сама. Папку node_modules и готовый dist везти не нужно.
Конструктор. Tilda, Webflow или Figma отдают готовые страницы, если в тарифе есть выгрузка в HTML. Если конструктор публикует только на своём хостинге и файлов не отдаёт — переносить пока нечего.
Соберите портфолио в одну папку
Разложите файлы так, чтобы точка входа лежала в корне:
portfolio/
index.html
css/style.css
images/
resume.pdf
Имена файлов — строчными буквами и без пробелов. На вашем компьютере Photo.JPG и photo.jpg — один файл, на сервере это два разных. Это самая частая причина, по которой сайт открывается, а картинок нет.
Проверьте сборку локально. Перед загрузкой прогоните проект на своей машине:
npm install
npm run build
npx serve dist
Порт — из переменной окружения. Если портфолио отвечает не статикой, а кодом на Node.js или PHP, читайте порт через process.env.PORT — тогда платформа подставит своё значение, и проект не упадёт из-за занятого порта.
Сожмите картинки и вынесите видео
Сжимайте фото до реального размера. Портфолио — это прежде всего картинки, и именно они делают страницу тяжёлой. Скриншот работы не должен весить пять мегабайт, если показывается в блоке шириной 800 пикселей.
Видео — на YouTube или Vimeo, на странице — плеер. Собственного медиахранилища у платформы нет, а видеофайл рядом с сайтом заметно замедлит загрузку.
Форму связи либо подключайте снаружи, либо делайте сайт приложением. Обычный HTML соберёт то, что ввёл посетитель, но отправить письмо не сможет. Вариант первый — внешний сервис форм. Вариант второй — небольшое приложение, которое принимает сообщение само. Если не хочется ни того ни другого, поставьте на страницу почту и ссылку на мессенджер.
Загрузите папку в Dockbox и получите ссылку
Это и есть ответ на вопрос, где разместить портфолио: отправьте папку архивом или импортируйте репозиторий из GitHub, приватный тоже подходит. Dockbox определяет, что перед ним сайт, собирает его в Docker-контейнер и выдаёт адрес с HTTPS, который можно открыть на телефоне, отправить в чат и вставить в резюме.
Если хочется зафиксировать окружение руками, добавьте минимальный Dockerfile:
FROM nginx:alpine
COPY . /usr/share/nginx/html
Прогресс и логи видны в панели в реальном времени. Ошибка в пути к картинке или в сборке проявляется сразу и с понятной причиной, а не пустой страницей через сутки.
Свой домен, если ссылка идёт в резюме
Адрес вида имя-фамилия.com в резюме читается лучше служебной ссылки. Домен покупается отдельно у регистратора, а подключается в разделе «Домены» на тарифе Pro (2 490 ₽/мес): введите домен, добавьте у регистратора запись DNS из подсказки и нажмите «Проверить». Сертификат HTTPS выпустится автоматически, а вторая запись даст открытие сайта и с www.
Адрес при этом не меняется. Когда в портфолио добавится новая работа, загрузите новую версию или подтяните код из GitHub — ссылка останется прежней, и резюме править не придётся.
Сколько это стоит и как работают контейнеры
Starter — 990 ₽/мес, первый месяц бесплатно: 1 vCPU, 2 ГБ RAM и 20 ГБ SSD. Этого с запасом хватает сайту-портфолио.
Pro — 2 490 ₽/мес — 5 проектов и подключение своего домена; Team — 4 990 ₽/мес — запас ресурсов и SLA для команды.
Контейнер работает постоянно. Никакого засыпания и лимита по времени у тарифа нет: ссылка отвечает в момент открытия, без «прогрева» первой загрузки. Тариф нужен не для того, чтобы сайт не отключался, а под ресурсы и число проектов. Сборки и трафик в отдельный счёт не выносятся, цены — в рублях.
Частые вопросы
Можно ли положить рядом с портфолио PDF-резюме?
Да. Файл в корне папки откроется по адресу вида ваш-адрес/resume.pdf, и эту ссылку можно отправить отдельно от сайта. Название берите простое, без пробелов и кириллицы, иначе адрес превратится в нечитаемую строку.
Что загружать, если портфолио собрано на Astro или Next?
Исходники вместе с package.json и lock-файлом — сборку платформа выполнит сама. Готовый dist и папку node_modules везти не нужно, они только увеличат архив: на выходе получится та же публичная HTTPS-ссылка.
Как добавить на портфолио форму обратной связи?
Чистый HTML письма не отправляет. Подключите внешний сервис форм, который принимает заявку и пересылает её вам на почту, либо сделайте портфолио небольшим приложением на Node.js или PHP, которое обрабатывает сообщение само.
Почему сайт открылся, а картинки не показываются?
Почти всегда дело в регистре букв в именах файлов. Приведите названия к нижнему регистру и проверьте, что картинки действительно попали в архив, а не остались в папке, которую сборщик игнорирует.
Как подключить свой домен?
Купите домен у регистратора, откройте раздел «Домены» в проекте и добавьте запись DNS из подсказки. HTTPS-сертификат выпустится автоматически, а ссылка на Dockbox останется запасной. Подключение домена доступно на тарифе Pro.