dimtiis

На Пикабу
109 рейтинг 0 подписчиков 1 подписка 2 поста 0 в горячем
Награды:
5 лет на Пикабу
4

CapRover

Может быть вы всегда хотели своё собственное "облако", легко ставить на нём разное ПО и использовать Open и не очень Open Source?

Что, если оно ближе к вам чем вы думаете. Хотя и некоторые хостинг-провайдеры предоставляют возможность установить Minecraft или Valheim сервер, а так-же ряд других инструментов, чтобы весело проводить время, но откровенно говоря - этого будет мало:

А ещё эти предустановленные образы не будут работать на одном сервере одновременно - им будут нужны отдельные VPS для каждой программы.

Знакомство с Docker

Для того, чтобы ставить разное ПО на один сервер - нужен либо Docker, либо делать это всё вручную на своей Linux и уметь настраивать всё самим, погружаясь во все нюансы работы веб-сервера, языков программирования и нюансов конфигурации той или иной программы. При этом вы даже можете ещё не знать хотите ли вы эту программу или какую-нибудь другую.

Если вы уже использовали Docker, то возможно слышали о Kubernetes - серьезное ПО для серьезных дядь, умеющих его настраивать. Но нам нужны программы, а не настройка сложной архаичной корпоративной инфраструктуры.

Не Куб, а Swarm

А если вы слышали о "кубах", то вероятно и краем уха видели что-то про Docker Swarm. Это концептуально немного другая технология, не совместимая с docker-compose и kubernetes и о том, как работать с контейнерам под docker-swarm (включать, выключать, выводить список, смотреть логи) можно глянуть на этой странице: https://caprover.com/docs/troubleshooting.html

Работа docker swarm, да и самого CapRover подразумевает некоторое distributed-решение, при котором возможно запускать несколько инстансов выбранного ПО, работающих одновременно на одном или на разных caprover-серверах. Я этого никогда ещё не пробовал, потому что не понял как это мне поможет, к примеру в работе базы данных, ведь ей нужен исключительный доступ к файлам и своя настройка репликации. Но, а у CapRover и Docker Swarm, по крайне мере, это всё есть - cap его установить на разных машинах и связать их как главную и подчиненную.

С чего начать?

Основной вопрос - насколько это сложно? Будет ли это дорого? Что надо знать и уметь уже, перед тем как это попробовать всё сделать?
- Сложно по шкале от 1 до 3: 2.
- Будет дорого да: от 300 рублей в месяц за VPS (почти как оплата за интернет).
- Надо уметь подключаться по SSH к Linux и пользоваться хостингом и DNS и купить домен.

А что если я видел Linux только на экране своей Windows, когда запускал её через WSL2 с кнопки "установить Ubuntu"?

А если хостинг и домен для меня одинаковые вещи и я не вижу между ними разницы?

Спокойно, всё придет. Вы можете не верить в себя или свои способности сейчас, но поверьте в то будущее, в котором вы оглядываясь назад сможете вспомнить это и сказать "Аха, нуда, теперь я чувствую разницу между DNS и роутером, и могу подключаться к Linux по SSH по ключам и настраивать фаервол".

Во всяком случае, вы не обязан понимать полностью как работает настройка фаерволов. Я тоже этого не знаю. Достаточно обычной логики и подумать. Как это делать? Расскажу вкратце на примере правил фаервола, которые вы встретите в руководстве "С чего начать" на официальном сайте CapRover - сперва вы должны понять, а включен ли на вашем Linux фаервол, если да и при выводе статуса фаервола там есть ряд правил, которые могут лимитировать сетевые соединения - то значит вам нужно применить дополнительные правила из руководства CapRover; Если фаервол на Linux не включен, правил в выводе статуса нет - значит применять правила фаервола из руководства CapRover - не нужно. Это всё. Вот как надо думать. Это просто - применяйте этот навык везде, где только можно 😉.

Так с чего же начать

Начните с инструкции "с чего начать" - https://caprover.com/docs/get-started.html

Пару комментариев о том что такое root-домен, cli, https и пароль, потому что Шаг 1 он более менее понятен, а вот Шаг 2 может вызвать вопросы.

Перед этим конечно купите себе VPS на 1 ядро и желательно с 2 Гб RAM. Этого будет достаточно, чтобы запустить CapRover и начать устанавливать приложения (на данный момент их 678) - вот полный список https://github.com/caprover/one-click-apps/tree/master/publi...

Что такое Шаг 2, root-домен и где надо менять пароль и что потом будет.

CapRover - это такой-же docker контейнер, как и ПО, которое будет работать в docker-контейнерах, которое вы установите потом в самом caprover. И сам caprover и его вспомогательные сервисы будут тоже работать в docker-контейнерах.
Поэтому, первое что вы должны сделать - установить этот CapRover. После установки он сразу запуститься. Однако при первом запуске нужно сделать следующее:
- прописать root-домен;
- установить пароль.

Есть два варианта того, как это сделать - 1️⃣ через cli и nodejs там-же в linux-терминале. Или через браузер.

К тому моменту, когда вы начнете устанавливать CapRover - у вас уже должен быть домен или поддомен, который вы полностью зарезервируете под вашу cap-инсталляцию. Концепция доменных имен в CapRover следующая: есть один главный домен (root-домен) для caprover. Например, возьмем ситуацию где вас уже есть домен и какие-то поддомены на нем, и вы не хотите резервировать этот домен полностью под caprover. Вы создаете поддомен: cap.yourdomain.ru и направляете его на IP-адрес вашего VPS. Таким образом, вам нужно назначить этот поддомен как главный (root-domain). Рабочий же интерфейс caprover, после завершения настройки, будет доступен по другому субдомену: captain.cap.yourdomain.ru. Таким образом cap.yourdomain.ru даже не будет использоваться напрямую. Всё устанавливаемое ПО, если для него подразумевается доступ из веб - будет так-же на субдоменах: *.cap.yourdomain.ru. Чтобы это работало, нужно так-же в DNS-записях прописать вот такой плейсхолдер *.cap.yourdaomain.ru и направить на IP-адрес вашего VPS или выделенного сервера.

2️⃣ Второй вариант - через браузер, зайти по IP-адресу вашего сервера и 3000-у порту (указан в инструкции get-started) , указать root-домен, включить HTTPS, и указать новый свой пароль, вместо пароля по-умолчанию.

После чего войти на https://captain.cap.yourdomain.ru и пользоваться своим персональным облачным сервисом.

Вы уже там сможете установить Seafile, о котором можно прочитать тут

Свой собственный почтовый сервер poste.io:

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

Экран установки любого приложения выглядит примерно так:

здесь нужно ввести название приложения (оно же будет автоматическим субдоменом, например kb (адрес вашего приложения КБ затем будет такой kb.cap.yourdomain.ru)

PS: CapRover это не золотая котлета. Некоторое ПО в нем может быть устаревшим, так как конфиги (one-click-apps) нужно поддерживать - это делается сообществом. Если вам нужны новые версии программ, на которые вы положили глаз - вероятно нужно будет разбираться самим, как их устанавливать с нуля, без докер на нативном linux-окружении.

Рекомендуемые вычислительные ресурсы для нормальной работы CapRover и нескольких приложений внутри него: 6 Гб RAM, 2 ядра CPU и 50 Гб места на диске.

Для поддержки работы вашего сервера с CapRover вам следует озадачиться как минимум одной или даже двумя вещами: чисткой старых образов (в caprover есть такая функция) и кое-что понимать о downtime и постоянных хранилищах данных. Углубившись в детали вы начнете замечать эти нюансы, хотя с порога какие-то вещи будут совсем не очевидными и не привычными. Так или иначе разрабатывали это ПО для того, чтобы оно работало, оно не обязательно должно бы таким, к которому вы уже привыкли.

Зато, открывается возможность запускать в "один клик" большое количество разных программ, работающих на linux-сервере и вам не надо знать о том, как их устанавливать и настраивать:

За вас это сделают конфиги One Clik Apps. Для работы некоторых приложений - нужны базы данных (Postgres, Redis) - и это прописано в yaml-конфигурациях one-click-apps. Всё что требуется - установиться само. Вы, как пользователь - просто включайте нужное ПО и пользуйтесь им.

Показать полностью 6

Seafile

Для обмена файлами с друзьями, семьей и по работе - посмотри какое есть чудное ПО - Seafile. Этимология слова, как видно, подразумевает бескрайнее, чуть с привкусом, но большое, объемное. В этом есть доля проверенная временем.

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

Каков концепт?

Серверная часть (веб-морда) - подразумевает один или несколько аккаунтов (не путать с устройствами). К одному аккаунту можно подключить N-устройств. Устройства, в основном, это компы или андроид. Можно сделать несколько аккаунтов, например для каждого члена семьи в отдельности и шарить между ними общие папки. На компе работает по принципу гуглояндекс-диска.

Библиотеки? Что?

Если в любом другом личном файлообменнике любую папку верхнего уровня в облачном хранилище привычно было называть просто - папкой. Тут это не так. Папка верхнего уровня - в Seafile это библиотека.

Чем библиотека отличается от папки?

Что за "Моя библиотека"?

Библиотека - это канон. В ней папки и файлы. Её можно расшарить кому-то, её можно синхронизировать на устройство, а можно и не синхронизировать. Но если ты её засинхронизировал - то она будет у тебя, вся, вместе с файлами и папками и даже подпапками.

На первом левеле - тебе дается стартовая Моя библиотека. Это чтобы не было так жутко, а ещё в неё уже можно складывать файлы. Файлы, которые ты поскладывал в "библиотеку" начнут синхронизироваться на главный сервер, а затем на подключенные устройства.

Аккаунты

Можешь создать аккаунт другу, создать библиотеку и назвать её "Мои мысли по Фрейду" и отправить её ему. Он скачает на своё устройство и увидит твои бесценные послания.

Если к вам присоединится третий друг, то у вас будет уже группа. Создай группу и назови её "Ассо" и расшарь свои рукописи группе. Теперь, добавляя новых членов, они автоматически унаследуют библиотеки, которыми ты поделился с этой группой.

Ограничения?

Нет, не видел. Для работы правда нужен собственный "сервер", но об этом я тактично умолчал..

Надежность?

Исключительная надежность. Прямо как Volvo. Местами кринжово (да и не непонятно как пароль пользователю сменить), зато работает.

У "библиотек" есть автоматически включенная по-умолчанию опция - хранение истории. То есть каждое изменение файла - будет сохранено. Встроенный механизм дедупликации, должен сэкономить место на сервере.

Что про сервер?

Будь я в здравом уме, я бы не связывался с этими штуками, а довольствовался бы чем-нибудь другим. Например изучал бы сов в лесу. Повадки диких уток. А не настраивал бы какой-нибудь VPS с 2 Гб RAM, 1 ядром и установленным docker community edition под какой-нибудь Debian 12. Слышал, что стоит такой 7-8 рублей в сутки (что в пересчете на месяц, так, дайте ка, 7 на 31, это же сколько будет - чуть менее 600 рублей). Так, это не бесплатно, расходимся..

Показать полностью 3
Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества