Проект: Клубный Docker-shared-хостинг (Альфа)  Публичный пост
12 июня 2025  1035
Клубный Docker-shared-хостинг (Альфа)
https://vcloud.devspond.pro

Расскажите о себе и сути проекта?

В одном из клубных чатиков я как-то поинтересовался, с помощью какого селф-хостед решения я смогу реализовать хостинг Docker-контейнеров с рядом условий:

  1. RBAC - пользователь видел только свои контейнеры, образы, базы
  2. Ограничение по ресурсам на каждого пользователя - чтобы сосед не смог использовать все ресурсы хоста

Мне сразу же предложили несколько вариантов:

  1. Coolify
  2. Dokploy
  3. Portainer BE (до 3 год бесплатная лицензия на 1 год, каждый год можно перезапрашивать(

В первых двух нет RBAC, которое требуется мне. Например, в Coolify 1 уникальный хост для каждой команды. То есть, если представить, что 1 команда - это 1 пользователь, то выходит очень дорого. Разграничения по ресурсам, выделяемые на контейнеры во всех трех случаях можно переназначить через композ.

Как появилась идея? Что вдохновило?

Видел, что в разных клубных чатах люди спрашивают про наилучшие vps, где они могут захостить свой пет-проект, например телеграм бота или простой веб-сервис.
Обычно люди рекомендуют Hetzner, но там ввели KYC и теперь зарегистрироваться там может не каждый, да и оплачивать нужно зарубежной (не российской) картой.
Потому я решил сделать клубный Docker-хостинг.
Среди перечисленных выше требований также были:

  1. Managed Postgres - для каждого пользователя создается учетная запись и возможность создавать свои базы данных.
  2. Возможность деплоить как через docker run, так и через compose - но всё через веб-формы или загрузку файла compose.yaml
  3. Container registry - хранение пользовательских образов
  4. Авторизация в DockerHub - позволять пользователям использовать свои приватные образы

Что вошло в прототип и сколько времени на него было потрачено?

На данный момент прототип и имеется. Ушло около 2 недель разработки в свободное от двух работ и других пет-проектов времени.
Что прототип уже умеет:

  1. Авторизация/регистрация, но по инвайт-кодам - ещё нужно добавить назначение групп новым пользователям, пока что всё вручную
  2. Запускать контейнеры через команду run - на деле это веб-форма, где нужно указать название образа, контейнера, порты, переменные окружения
  3. Запускать контейнеры через compose - тоже веб-форма, состоящая из text-field, куда можно скопипастить содержимое вашего docker-compose.yaml файла, а также есть возможность загрузить сразу yaml файл.
  4. Авторизация в Dockerhub
  5. Стеки (что запущено через compose, например несколько контейнеров вместе) и обычные контейнеры можно останавливать, запускать, удалять
  6. Образы можно просматривать, удалять, проверять, используются ли они в рамках текущего акаунта
  7. Просмотр логов контейнеров, аптайм

Что не сделано:

  1. Container registry - нужно заниматься, искать время или руки. Репа в GitHub открыта, готов ожидать ваши PR или любые предложения помощи в разработке.


Запуск контейнера через docker run


Запуск стека (docker compose)


Контейнеры и стеки


Доступ к базам

Какой технологический стек вы использовали? Почему?

FastAPI - веб сервис, авторизация; под капотом Python, который обращается к Docker API. PostgreSQL - для системной и пользовательских баз, PGAdmin - для доступа пользователей к базам.

Как вы запускались и искали первых пользователей?

Я создал приватный чатик в Telegram, но пока что получил недостаточно обратной связи, потому решил написать этот пост, может желающих будет больше: https://t.me/+DtQHp5sKh883ZmQy

Сколько потратили и заработали? Есть идеи как это можно монетизировать?

Заработал 0. Потратил: аренда сервера в Hetzner (но вижу, что спроса пока что нет): 6 евро/мес за VPS в Hetzner 4 ядра, 8 гб, 80 Гб SSD, 20 Тб трафика/мес.

Какие планы на будущее?

Найти время, силы и желающих помочь доделать клубный сервис.
Сменить доменное имя для сервиса, сейчас используется временный вариант.

Нужны ли какие-то советы или помощь Клуба?

Если среди вас, читающих есть желающие поработать над open-source проектом, где вы скорее всего не заработаете ни цента, а также, ваш стек: python, fastapi, docker, psql - пишите в ЛС.

Какой совет вы бы сами могли дать идущим по вашим стопам?

Из сотни неудачных пет-проектов может быть какой-то выстрелит.

На данный момент регистрация доступна только по инвайт-кодам:

WtrLm531

Страница регистрации: https://vcloud.devspond.pro/register

После регистрации напишите мне в ЛС в Telegram: https://t.me/pycarrot2 или в чатик https://t.me/+DtQHp5sKh883ZmQy с указанием вашего никнейма, который вы указали при регистрации, а также, ссылкой на ваш клубный профиль, я вручную назначу вам нужную группу и сервис станет доступным для вас.

Оставлю тут полезные ссылки:
Открытая Github репа: https://github.com/endlessnights/Dokyard
Сам сервис: https://vcloud.devspond.pro
PGAdmin: https://vdb.devspond.pro/login
Образ в DockerHub: https://hub.docker.com/r/pycarrot2/dokyard

Связанные посты
12 комментариев 👇

Интересно, а как там с прайваси? Это ж не полноценные VM всё таки, а контейнеры.
Если я допустим задеплою Immich с моими нюдсами, есть шанс, что админ платформы сможет их увидеть? 🌚

  Развернуть 1 комментарий

@MrModest, Разумеется

  Развернуть 1 комментарий

@MrModest, Но ему понравится

  Развернуть 1 комментарий

@MrModest, volumes не поддерживается

  Развернуть 1 комментарий
🕵️ Юзер скрыл свои комментарии от публичного просмотра...

Экономически: 6 евро в месяц - это самая маленькая VPS'ка, правильно? На ней не сказать чтоб много контейнеров можно было поднять, быстро упрешься в память.

  Развернуть 1 комментарий

@AndreyBondarenko,


Это Hetzner, не самый дешевый тиер.

  Развернуть 1 комментарий

@legeminus, ничоси подешевело, в моей вселенной там все еще 512 мегабайт или гиг было по этой цене!

  Развернуть 1 комментарий

@AndreyBondarenko, зато за 60-80 евро в месяц на том же хецнере можно взять дедик с 32-64гб рам :)

  Развернуть 1 комментарий

@Frey, с такими ценами моя лаба никогда не окупится!

  Развернуть 1 комментарий

@Frey, неееет зачем ты напомнил.
Я уже месяц думаю брать или нет, видимо это знак 😂

  Развернуть 1 комментарий
Bakhti Baymukhamedov Network Engineer, Python Developer, Junior DevOps автор 1 августа в 10:59

Буду отключать vcloud.devspond.pro сервер в течении 2 недель, вижу, что там работает только louislam/uptime-kuma из полезного.
Если это ваш контейнер, пожалуйста, сделайте бэкапы.

  Развернуть 1 комментарий

😎

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

Что вообще здесь происходит?


Войти  или  Вступить в Клуб