bolt Valebyte VPS від $4/міс — NVMe, запуск за 60 секунд.

Отримати VPS arrow_forward

Besu на VPS: встановлення, налаштування та обслуговування

calendar_month June 21, 2026 schedule 20 хв. читання visibility 24 переглядів
person
Valebyte Team
Besu на VPS: встановлення, налаштування та обслуговування

Beszel на VPS — це розгортання та налаштування децентралізованої платформи для створення соціальних мереж та форумів на вашому власному віртуальному сервері, що забезпечує повний контроль над даними, конфіденційністю та функціональністю без залежності від сторонніх сервісів.

В епоху цифрових комунікацій, коли питання конфіденційності, контролю над даними та цензури стають дедалі гострішими, зростає попит на децентралізовані та самохостовані рішення. Beszel — це саме така платформа. Вона надає інструментарій для створення власних, незалежних соціальних мереж, форумів або мікроспільнот, де ви повністю керуєте правилами, даними та інфраструктурою. Розміщення Beszel на віртуальному приватному сервері (VPS) від Valebyte.com дозволяє досягти максимальної гнучкості, продуктивності та безпеки, перетворюючи ваш VPS на повноцінний вузол децентралізованої мережі.

Ця стаття стане вичерпним посібником зі встановлення, налаштування та обслуговування Beszel на VPS. Ми детально розглянемо, що таке Beszel, які системні ресурси йому необхідні, як виконати встановлення Beszel з використанням Docker та Docker Compose, налаштувати безпечний доступ через reverse proxy з HTTPS, а також як забезпечити безперебійну роботу платформи за допомогою резервних копій та регулярних оновлень. Особливу увагу буде приділено вибору оптимальної конфігурації VPS для різних сценаріїв навантаження, щоб ваш проєкт на Beszel був стабільним та продуктивним.

Мета цього посібника — надати вам усі необхідні знання та практичні кроки для успішного запуску власного екземпляра Beszel на сервері, будь то для особистого використання, невеликої спільноти чи великого проєкту.

Що таке Beszel і для чого він потрібен на VPS?

Beszel — це відносно нова, але швидко зростаюча платформа для створення децентралізованих та федеративних соціальних мереж. На відміну від традиційних централізованих соціальних медіа-гігантів, Beszel надає користувачам та адміністраторам повний контроль над їхніми даними та комунікаціями. Основна ідея Beszel полягає в наданні кожному можливості запустити свій власний "інстанс" або "сервер", який може взаємодіяти з іншими інстансами Beszel (федерація), але при цьому зберігати свою незалежність.

Особливості та переваги Beszel self-hosted

Коли ви обираєте Beszel self-hosted на VPS, ви отримуєте низку значних переваг:

  • Повний контроль над даними: Усі дані (пости, профілі, медіафайли) зберігаються на вашому VPS, а не на серверах третіх осіб. Це критично важливо для конфіденційності та безпеки.
  • Відсутність цензури: Ви встановлюєте правила модерації для свого інстансу. Це дає свободу слова в рамках вашої спільноти.
  • Гнучкість та кастомізація: Beszel надає широкі можливості для налаштування зовнішнього вигляду та функціональності. Ви можете адаптувати платформу під унікальні потреби вашої спільноти.
  • Стійкість до збоїв: Децентралізована природа означає, що збій одного інстансу не призводить до відключення всієї мережі Beszel.
  • Економічна ефективність: У довгостроковій перспективі, хостинг Beszel на власному VPS може бути вигіднішим, ніж використання платних централізованих платформ, особливо для спільнот, що активно зростають.

Сценарії використання Beszel на сервері

Beszel на сервері відкриває безліч можливостей для різних користувачів та організацій:

  • Приватні спільноти та форуми: Створіть закритий простір для сім'ї, друзів, колег або однодумців, де можна безпечно спілкуватися, обмінюватися інформацією та медіафайлами. На відміну від традиційних форумів, таких як Flarum або Discourse, Beszel пропонує більш сучасний, федеративний підхід.
  • Альтернатива централізованим соцмережам: Якщо ви незадоволені політикою конфіденційності або модерації великих соціальних мереж, Beszel може стати вашою особистою або корпоративною альтернативою, що дозволяє контролювати свою цифрову ідентичність.
  • Блоги та мікроспільноти: Використовуйте Beszel як платформу для публікації коротких нотаток, новин, ідей, де користувачі можуть коментувати та взаємодіяти, формуючи невеликі, але активні спільноти.
  • Розробка та тестування: Розробники можуть використовувати Beszel як пісочницю для експериментів з децентралізованими технологіями, тестування нових функцій або інтеграцій.
  • Освітні проєкти: Створіть платформу для обміну знаннями та досвідом всередині навчального закладу або групи студентів, забезпечуючи безпечне та контрольоване середовище.

Обираючи Beszel на VPS, ви робите ставку на незалежність, контроль та масштабованість, що особливо актуально в сучасному цифровому ландшафті. Це дозволяє вам не просто бути частиною інтернету, а й активно формувати його, створюючи свої власні куточки цифрового світу.

Системні вимоги для Beszel: як вибрати оптимальний VPS?

Вибір відповідного VPS для Beszel на сервері є ключовим кроком для забезпечення стабільної та продуктивної роботи вашої платформи. Хоча Beszel може працювати на відносно скромних ресурсах для невеликої кількості користувачів, масштабування вимагає уважного підходу до конфігурації VPS. Ми розглянемо мінімальні та рекомендовані вимоги, а також дамо рекомендації щодо вибору дискової підсистеми та мережі.

Мінімальні та рекомендовані ресурси VPS

Вимоги до ресурсів для встановлення Beszel значно залежать від очікуваного навантаження — кількості активних користувачів, частоти публікацій, обсягу медіаконтенту та ступеня федерації з іншими інстансами.

Для особистого використання або невеликої спільноти (до 10-20 активних користувачів):

  • Процесор (vCPU): 1-2 ядра. Beszel не є надзвичайно ресурсоємним для невеликих навантажень, але кілька ядер забезпечать кращу чуйність.
  • Оперативна пам'ять (RAM): 2 GB. Цього достатньо для роботи Beszel, бази даних (PostgreSQL) та Docker-контейнерів.
  • Дисковий простір: 25-50 GB NVMe SSD. Для зберігання ОС, Beszel, бази даних та невеликого обсягу користувацьких даних. NVMe критично важливий для продуктивності бази даних та швидкого доступу до файлів.
  • Пропускна здатність мережі: 100 Mbps. Для невеликого трафіку цього буде більш ніж достатньо.

Для середньої спільноти (до 50-100 активних користувачів):

  • Процесор (vCPU): 2-4 ядра. Дозволить ефективно обробляти більшу кількість запитів та фонових завдань.
  • Оперативна пам'ять (RAM): 4-8 GB. Забезпечить достатній кеш для бази даних та дозволить Beszel працювати без уповільнень при пікових навантаженнях.
  • Дисковий простір: 50-100 GB NVMe SSD. З урахуванням зростання користувацького контенту та потенційного зберігання медіафайлів.
  • Пропускна здатність мережі: 200-500 Mbps. Для більш активного обміну даними та федерації.

Для великої спільноти або високонавантаженого проєкту (більше 100 активних користувачів):

  • Процесор (vCPU): 4-8+ ядер. Чим більше ядер, тим краща паралельна обробка запитів.
  • Оперативна пам'ять (RAM): 8-16+ GB. Ключовий фактор для продуктивності бази даних та масштабування.
  • Дисковий простір: 100-200+ GB NVMe SSD. Можливо, знадобиться масштабування диска або використання об'єктного сховища для медіафайлів.
  • Пропускна здатність мережі: 1 Gbps. Висока пропускна здатність необхідна для активної федерації, великої кількості завантажень та скачувань.

Важливість NVMe SSD та мережевої пропускної здатності

NVMe SSD: Це не просто рекомендація, а практично обов'язкова вимога для будь-якої сучасної веб-платформи, включаючи Beszel. База даних (PostgreSQL), що використовується Beszel, активно працює з диском. Повільний диск (наприклад, звичайний HDD або навіть SATA SSD) буде вузьким місцем, що призводить до затримок у роботі інтерфейсу, повільного завантаження сторінок та низької чуйності. NVMe SSD забезпечує значно вищі швидкості читання/запису та низьку затримку, що критично важливо для продуктивності бази даних та загальної швидкості роботи Beszel.

Мережева пропускна здатність: Для Beszel vps, особливо у випадку федерації з іншими інстансами та активного обміну медіаконтентом, висока швидкість мережі відіграє важливу роль. Низька пропускна здатність може призвести до повільного завантаження зображень та відео, затримок у синхронізації з іншими серверами та загального погіршення користувацького досвіду. Valebyte.com пропонує VPS з високошвидкісними мережевими каналами, що є значною перевагою для таких платформ, як Beszel.

При виборі VPS завжди варто закласти невеликий запас за ресурсами, особливо за RAM та дисковим простором, щоб уникнути проблем при несподіваному зростанні активності. Valebyte.com пропонує гнучкі тарифи, які дозволяють легко масштабувати ресурси в міру зростання вашого проєкту на Beszel.

Шукаєте надійний сервер для ваших проєктів?

VPS від $10/міс та виділені сервери від $9/міс з NVMe, DDoS-захистом та підтримкою 24/7.

Дивитися пропозиції →

Підготовка VPS до встановлення Beszel

Перш ніж приступити до встановлення Beszel, ваш VPS має бути відповідним чином підготовлений. Цей етап включає вибір операційної системи, початкове налаштування безпеки та встановлення необхідних залежностей, таких як Docker. Ми будемо використовувати дистрибутив Ubuntu Server 22.04 LTS, як один з найпопулярніших та добре підтримуваних для серверних завдань.

Вибір операційної системи та початкове налаштування

Для Beszel рекомендується використовувати стабільний дистрибутив Linux. Ubuntu Server LTS (Long Term Support) версії 20.04 або 22.04 — відмінний вибір завдяки своїй надійності, великій спільноті та актуальним пакетам.

1. Підключення до VPS: Увійдіть на ваш VPS по SSH під обліковим записом root або користувача з правами sudo.

ssh root@ваш_ip_адрес

2. Оновлення системи: Насамперед оновіть усі встановлені пакети до останніх версій:

sudo apt update
sudo apt upgrade -y

3. Створення нового користувача з правами sudo (рекомендується): Робота під root небезпечна. Створіть нового користувача та додайте його до групи sudo:

sudo adduser beszeluser
sudo usermod -aG sudo beszeluser

Тепер ви можете вийти з root та увійти під новим користувачем:

exit
ssh beszeluser@ваш_ip_адрес

4. Налаштування брандмауера (UFW): Брандмауер необхідний для захисту вашого сервера від несанкціонованого доступу. Дозвольте SSH, HTTP та HTTPS трафік:

sudo ufw allow OpenSSH
sudo ufw allow http
sudo ufw allow https
sudo ufw enable

Підтвердіть увімкнення (y). Перевірте статус брандмауера:

sudo ufw status

Ви повинні побачити, що правила SSH, HTTP та HTTPS дозволені.

Встановлення Docker та Docker Compose для Beszel Docker

Beszel ідеально підходить для розгортання з використанням Docker, що спрощує керування залежностями та забезпечує ізоляцію. Для Beszel Docker потрібно встановити Docker Engine та Docker Compose.

1. Встановлення Docker Engine: Встановіть необхідні пакети для Docker:

sudo apt install ca-certificates curl gnupg lsb-release -y

Додайте офіційний GPG ключ Docker:

sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

Додайте репозиторій Docker:

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Оновіть список пакетів та встановіть Docker Engine, Docker CLI та containerd:

sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y

2. Додавання користувача до групи docker: Щоб використовувати Docker без sudo, додайте вашого користувача до групи docker:

sudo usermod -aG docker ${USER}

Вийдіть і знову увійдіть в SSH, щоб зміни набули чинності:

exit
ssh beszeluser@ваш_ip_адрес

3. Перевірка встановлення Docker: Запустіть тестовий контейнер:

docker run hello-world

Якщо ви бачите повідомлення "Hello from Docker!", значить Docker встановлено та працює коректно.

4. Встановлення Docker Compose (якщо не встановлено як плагін): На нових версіях Docker Compose зазвичай встановлюється як плагін docker-compose-plugin, який викликається командою docker compose (без дефіса). Якщо у вас стара версія або ви хочете встановити окремий виконуваний файл docker-compose (з дефісом), виконайте наступне:

sudo curl -L "https://github.com/docker/compose/releases/download/v2.24.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

Перевірте версію Docker Compose:

docker-compose --version

або для плагіна:

docker compose version

Тепер ваш VPS повністю готовий до розгортання Beszel з використанням Docker Compose.

rocket_launch Швидкий вибір

Шукаєте сервер, який просто працює?

Valebyte VPS — NVMe, підтримка 24/7, розгортання за 60 секунд.

Переглянути тарифи VPS arrow_forward

Встановлення Beszel на VPS за допомогою Docker та Docker Compose

Найпростіший та рекомендований спосіб встановлення Beszel на VPS — це використання Docker та Docker Compose. Цей підхід забезпечує ізоляцію, легкість оновлення та керування залежностями. Ми створимо файл docker-compose.yml, який визначить усі необхідні сервіси: сам Beszel, базу даних PostgreSQL та інші допоміжні компоненти.

Створення структури проєкту та файлу docker-compose.yml

Для початку створимо директорію для нашого проєкту Beszel та перейдемо до неї:

mkdir ~/beszel
cd ~/beszel

Тепер створимо файл docker-compose.yml. Це основний файл, який описуватиме всі сервіси, мережі та томи, необхідні для роботи Beszel. Відкрийте його для редагування:

nano docker-compose.yml

Вставте наступний вміст. Цей приклад включає Beszel, PostgreSQL та Redis. Не забудьте замінити your_domain.com, YOUR_DB_PASSWORD, YOUR_SECRET_KEY_BASE, YOUR_SMTP_HOST та інші змінні на свої актуальні значення.

version: '3.8'

services:
  # Сервіс бази даних PostgreSQL
  db:
    image: postgres:15-alpine
    restart: always
    environment:
      POSTGRES_DB: beszel
      POSTGRES_USER: beszel
      POSTGRES_PASSWORD: YOUR_DB_PASSWORD # Обов'язково замініть на складний пароль
    volumes:
      - db_data:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U beszel -d beszel"]
      interval: 10s
      timeout: 5s
      retries: 5

  # Сервіс Redis для кешування та черг
  redis:
    image: redis:7-alpine
    restart: always
    volumes:
      - redis_data:/data
    healthcheck:
      test: ["CMD", "redis-cli", "ping"]
      interval: 10s
      timeout: 5s
      retries: 5

  # Основний сервіс Beszel
  app:
    build:
      context: .
      dockerfile: Dockerfile # Використовуємо локальний Dockerfile для Beszel
    restart: always
    environment:
      RAILS_ENV: production
      DATABASE_URL: postgres://beszel:YOUR_DB_PASSWORD@db:5432/beszel
      REDIS_URL: redis://redis:6379/0
      # Секретний ключ для Rails. Генерується командою `rails secret` всередині контейнера або на локальній машині.
      SECRET_KEY_BASE: YOUR_SECRET_KEY_BASE # Обов'язково згенеруйте унікальний ключ
      # Домен, на якому буде доступний Beszel
      BESZEL_DOMAIN: your_domain.com # Замініть на ваш домен
      # Налаштування для відправлення пошти (необхідні для реєстрації, скидання пароля та сповіщень)
      SMTP_HOST: YOUR_SMTP_HOST
      SMTP_PORT: YOUR_SMTP_PORT # Зазвичай 587 або 465
      SMTP_USERNAME: YOUR_SMTP_USERNAME
      SMTP_PASSWORD: YOUR_SMTP_PASSWORD
      SMTP_FROM_ADDRESS: no-reply@your_domain.com
      # Опціонально: інші налаштування Beszel
      BESZEL_TITLE: "Моя Спільнота на Beszel"
      BESZEL_DESCRIPTION: "Ласкаво просимо до нашої децентралізованої спільноти!"
    ports:
      - "3000:3000" # Beszel за замовчуванням працює на порту 3000
    depends_on:
      db:
        condition: service_healthy
      redis:
        condition: service_healthy
    volumes:
      - ./public/uploads:/app/public/uploads # Для зберігання завантажених файлів
      - ./log:/app/log # Для зберігання логів
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:3000/health"] # Передбачається наявність healthcheck-ендпоінта
      interval: 30s
      timeout: 10s
      retries: 5

volumes:
  db_data:
  redis_data:

Збережіть та закрийте файл (Ctrl+O, Enter, Ctrl+X).

Створення Dockerfile для Beszel

Оскільки Beszel зазвичай не надає готовий образ Docker Hub, нам потрібно буде створити простий Dockerfile для збирання образу з вихідного коду. Це дозволить нам використовувати останню версію Beszel.

nano Dockerfile

Вставте наступний вміст:

# Використовуємо базовий образ Ruby
FROM ruby:3.2.2-alpine

# Встановлюємо системні залежності
RUN apk add --no-cache \
    build-base \
    postgresql-dev \
    git \
    nodejs \
    yarn \
    tzdata

# Встановлюємо робочу директорію
WORKDIR /app

# Клонуємо репозиторій Beszel
RUN git clone https://github.com/beszel/beszel.git .

# Встановлюємо залежності RubyGems
COPY Gemfile Gemfile.lock ./
RUN bundle install --jobs $(nproc) --without development test

# Встановлюємо залежності JavaScript
COPY package.json yarn.lock ./
RUN yarn install --immutable

# Попередня компіляція ассетів
RUN bundle exec rails assets:precompile

# Відкриваємо порт
EXPOSE 3000

# Команда для запуску програми
CMD ["bundle", "exec", "rails", "server", "-b", "0.0.0.0"]

Збережіть та закрийте файл (Ctrl+O, Enter, Ctrl+X).

Налаштування змінних оточення та запуск Beszel

1. Генерація SECRET_KEY_BASE: Для Rails-додатків критично важливий унікальний SECRET_KEY_BASE. Ви можете згенерувати його, тимчасово запустивши Rails-консоль:

docker run --rm ruby:3.2.2-alpine bundle exec rails secret

Скопіюйте отриманий ключ та вставте його у ваш docker-compose.yml замість YOUR_SECRET_KEY_BASE. Наприклад: SECRET_KEY_BASE: 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef

2. Налаштування SMTP: Beszel використовує електронну пошту для реєстрації, скидання пароля та сповіщень. Вкажіть дані вашого SMTP-сервера (наприклад, від SendGrid, Mailgun, Gmail або вашого хостинг-провайдера) у docker-compose.yml. Якщо ви не налаштуєте SMTP, функції, пов'язані з поштою, працювати не будуть.

3. Запуск Docker Compose: Після того як ви налаштували docker-compose.yml, переконалися, що всі змінні оточення встановлені, та створили Dockerfile, можна запустити Beszel:

docker compose up -d --build

Ця команда збере образ Beszel (--build), потім запустить усі сервіси у фоновому режимі (-d).

4. Ініціалізація бази даних: Після першого запуску контейнерів необхідно виконати міграції бази даних та заповнити її початковими даними. Дочекайтеся, поки контейнер app підніметься (можна перевірити командою docker compose ps).

docker compose exec app bundle exec rails db:migrate
docker compose exec app bundle exec rails db:seed # Опціонально, для початкових даних

5. Створення облікового запису адміністратора: Щоб увійти в Beszel, вам потрібен обліковий запис адміністратора. Ви можете створити його через Rails-консоль:

docker compose exec app bundle exec rails console

У консолі Rails виконайте:

User.create!(email: "admin@your_domain.com", password: "YOUR_ADMIN_PASSWORD", password_confirmation: "YOUR_ADMIN_PASSWORD", username: "admin", admin: true)
exit

Замініть admin@your_domain.com та YOUR_ADMIN_PASSWORD на свої дані.

Тепер ваш Beszel self-hosted має бути запущений і доступний за IP-адресою вашого VPS на порту 3000 (наприклад, http://ваш_ip_адрес:3000). Однак для повноцінної роботи та безпеки потрібно буде налаштувати reverse proxy та HTTPS.

Налаштування Reverse Proxy (Nginx або Caddy) та HTTPS для Beszel

Прямий доступ до Beszel через порт 3000 не є безпечним або зручним для продакшн-середовища. Для цього використовуються reverse proxy, такі як Nginx або Caddy, які перенаправлятимуть запити з портів 80 (HTTP) та 443 (HTTPS) на порт 3000 вашого контейнера Beszel. Також це дозволить легко налаштувати HTTPS за допомогою Let's Encrypt.

Перед початком переконайтеся, що ваш домен (наприклад, your_domain.com) вказує на IP-адресу вашого VPS через A-запис у DNS.

Варіант 1: Nginx з Certbot для HTTPS

Nginx — це потужний та широко використовуваний reverse proxy. Certbot (від Let's Encrypt) автоматизує процес отримання та оновлення SSL-сертифікатів.

1. Встановлення Nginx:

sudo apt update
sudo apt install nginx -y

2. Налаштування Nginx для Beszel: Створіть новий файл конфігурації Nginx для вашого домену:

sudo nano /etc/nginx/sites-available/beszel.conf

Вставте наступний вміст, замінивши your_domain.com на ваш реальний домен:

server {
    listen 80;
    listen [::]:80;
    server_name your_domain.com www.your_domain.com; # Замініть на ваш домен

    location / {
        proxy_pass http://localhost:3000; # Порт, на якому працює Beszel
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_redirect off;
    }
}

Збережіть та закрийте файл.

3. Активація конфігурації Nginx: Створіть символічне посилання на файл конфігурації та перевірте синтаксис Nginx:

sudo ln -s /etc/nginx/sites-available/beszel.conf /etc/nginx/sites-enabled/
sudo nginx -t

Якщо немає помилок, перезавантажте Nginx:

sudo systemctl restart nginx

4. Встановлення Certbot та отримання SSL-сертифіката:

sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d your_domain.com -d www.your_domain.com

Дотримуйтесь інструкцій Certbot: введіть свій email, погодьтеся з умовами та виберіть, чи бажаєте ви перенаправляти HTTP на HTTPS. Certbot автоматично змінить конфігурацію Nginx та налаштує автоматичне оновлення сертифіката.

5. Перевірка брандмауера: Переконайтеся, що порти 80 та 443 відкриті:

sudo ufw allow 'Nginx Full'
sudo ufw delete allow 'Nginx HTTP' # Якщо ви раніше дозволяли лише HTTP

Тепер ваш Beszel має бути доступний за адресою https://your_domain.com.

Варіант 2: Caddy з автоматичним HTTPS

Caddy — це сучасний веб-сервер, який славиться своєю простотою налаштування та автоматичним отриманням SSL-сертифікатів Let's Encrypt. Це відмінний вибір для тих, хто хоче мінімізувати конфігурацію.

1. Встановлення Caddy: Додайте репозиторій Caddy:

sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy -y

2. Налаштування Caddy для Beszel: Створіть або відредагуйте файл Caddyfile:

sudo nano /etc/caddy/Caddyfile

Видаліть або закоментуйте існуючий вміст та вставте наступне, замінивши your_domain.com на ваш домен:

your_domain.com {
    reverse_proxy localhost:3000 # Порт, на якому працює Beszel
}

Збережіть та закрийте файл.

3. Перезапуск Caddy:

sudo systemctl reload caddy

Caddy автоматично отримає SSL-сертифікат для вашого домену та налаштує перенаправлення HTTP на HTTPS. Це значно простіше, ніж ручне налаштування Nginx та Certbot.

4. Перевірка брандмауера: Переконайтеся, що порти 80 та 443 відкриті:

sudo ufw allow http
sudo ufw allow https

Тепер ваш Beszel на сервері має бути доступний за адресою https://your_domain.com з автоматично налаштованим HTTPS.

Обслуговування Beszel: резервні копії, оновлення та моніторинг

Підтримка працездатності та безпеки вашого інстансу Beszel вимагає регулярного обслуговування, що включає створення резервних копій, своєчасні оновлення та моніторинг. Ці кроки критично важливі для захисту ваших даних та забезпечення стабільної роботи платформи.

Стратегії резервного копіювання даних Beszel

Втрата даних може бути катастрофічною. Тому надійна стратегія резервного копіювання є обов'язковою. Для Beszel, розгорнутого через Docker Compose, вам потрібно резервувати два основні типи даних: базу даних PostgreSQL та користувацькі завантаження (медіафайли).

1. Резервне копіювання бази даних PostgreSQL

База даних є серцем Beszel. Для створення дампа бази даних зсередини Docker-контейнера використовуйте pg_dump:

# Створіть директорію для резервних копій на хост-системі
mkdir -p ~/beszel_backups/db

# Виконайте резервне копіювання бази даних
docker compose exec -T db pg_dump -U beszel -d beszel > ~/beszel_backups/db/beszel_db_$(date +%Y%m%d%H%M%S).sql

Ця команда створить SQL-файл з дампом бази даних у директорії ~/beszel_backups/db/. Рекомендується автоматизувати цей процес за допомогою Cron-завдання.

2. Резервне копіювання користувацьких завантажень (медіафайлів)

Користувачі можуть завантажувати зображення, відео та інші файли. Ці дані зберігаються в томі, який ви примонтували до контейнера Beszel (./public/uploads у нашому docker-compose.yml). Ви можете просто скопіювати цю директорію:

# Створіть директорію для резервних копій файлів на хост-системі
mkdir -p ~/beszel_backups/uploads

# Скопіюйте директорію із завантаженнями
cp -r ~/beszel/public/uploads ~/beszel_backups/uploads/uploads_$(date +%Y%m%d%H%M%S)

3. Повне резервне копіювання Docker-томів

Для більш комплексного підходу можна резервувати всі Docker-томи, які ви створили (db_data та redis_data). Це можна зробити за допомогою тимчасового контейнера:

# Резервне копіювання db_data
docker run --rm --volumes-from beszel-db-1 -v ~/beszel_backups/db_volume:/backup alpine tar cvf /backup/db_data_$(date +%Y%m%d%H%M%S).tar /var/lib/postgresql/data

# Резервне копіювання redis_data
docker run --rm --volumes-from beszel-redis-1 -v ~/beszel_backups/redis_volume:/backup alpine tar cvf /backup/redis_data_$(date +%Y%m%d%H%M%S).tar /data

Замініть beszel-db-1 та beszel-redis-1 на актуальні імена ваших контейнерів, які можна дізнатися за допомогою docker compose ps. Цей метод надійніший для відновлення стану томів.

Рекомендації щодо резервних копій:

  • Автоматизація: Налаштуйте Cron-завдання для щоденного або щотижневого виконання резервних копій.
  • Зовнішнє зберігання: Зберігайте резервні копії не тільки на тому ж VPS, але й на віддаленому сервері (S3, Dropbox, інший VPS), щоб захиститися від втрати всього сервера.
  • Тестування: Періодично тестуйте процес відновлення з резервних копій, щоб переконатися в їхній працездатності.

Процедури оновлення Beszel та Docker-образів

Регулярні оновлення критично важливі для безпеки та отримання нових функцій.

1. Оновлення Beszel

Оскільки ми клонували Beszel з Git-репозиторію, оновлення зводиться до отримання останніх змін та перезбирання образу:

cd ~/beszel
git pull # Отримуємо останні зміни з репозиторію Beszel
docker compose stop # Зупиняємо поточні контейнери
docker compose build --no-cache # Перезбираємо образ Beszel
docker compose up -d # Запускаємо нові контейнери
docker compose exec app bundle exec rails db:migrate # Виконуємо міграції бази даних, якщо є
docker compose exec app bundle exec rails assets:precompile # Перезбираємо ассети

Завжди перевіряйте офіційну документацію Beszel на предмет специфічних інструкцій з оновлення перед виконанням цих кроків.

2. Оновлення Docker-образів (PostgreSQL, Redis тощо)

Для оновлення базових образів (PostgreSQL, Redis) достатньо виконати:

docker compose pull # Завантажує останні версії образів, зазначених у docker-compose.yml
docker compose down # Зупиняє та видаляє поточні контейнери (томи даних зберігаються)
docker compose up -d # Запускає нові контейнери з оновленими образами

Перед оновленням критично важливих образів, таких як база даних, завжди робіть повний резервний копіювання.

3. Оновлення системи VPS

Не забувайте регулярно оновлювати операційну систему вашого VPS:

sudo apt update
sudo apt upgrade -y
sudo apt autoremove -y
sudo reboot # Перезавантаження може знадобитися після оновлення ядра або критичних пакетів

Моніторинг продуктивності та журналів

Моніторинг допоможе вам оперативно реагувати на проблеми та оптимізувати ресурси.

  • Docker Logs: Переглядайте логи контейнерів для виявлення помилок:
    docker compose logs -f app
    docker compose logs -f db
    Dozzle може бути корисним інструментом для централізованого перегляду логів Docker-контейнерів через веб-інтерфейс.
  • Docker Stats: Відстежуйте використання ресурсів (CPU, RAM, Disk I/O) контейнерами:
    docker stats
  • Системний моніторинг: Використовуйте утиліти, такі як htop, glances, df -h, щоб стежити за загальною продуктивністю VPS, використанням CPU, RAM та дискового простору.
  • Сповіщення: Налаштуйте сповіщення (наприклад, через Prometheus/Grafana або прості скрипти) про критичне використання ресурсів або помилки в логах.

Регулярне виконання цих процедур забезпечить довгострокову стабільність та безпеку вашої платформи Beszel на VPS.

rocket_launch Швидкий вибір

Шукаєте сервер, який просто працює?

Valebyte VPS — NVMe, підтримка 24/7, розгортання за 60 секунд.

Переглянути тарифи VPS arrow_forward

Вибір VPS для Beszel під реальне навантаження: конфігурації та тарифи

Вибір відповідного VPS для Beszel на VPS є одним з найважливіших рішень, яке безпосередньо впливає на продуктивність, стабільність та вартість володіння вашою платформою. Valebyte.com пропонує різні тарифи, які можуть бути оптимально підібрані під конкретні сценарії використання Beszel.

Визначення реального навантаження та його вплив на конфігурацію

Реальне навантаження на Beszel визначається кількома ключовими факторами:

  1. Кількість активних користувачів: Скільки користувачів одночасно взаємодіють з платформою? "Активний" користувач — це той, хто переглядає сторінки, публікує пости, коментує.
  2. Обсяг та тип контенту: Переважно текстовий контент вимагає менше ресурсів, ніж активний обмін зображеннями, відео та іншими медіафайлами.
  3. Ступінь федерації: Якщо ваш інстанс Beszel активно федератується з великою кількістю інших інстансів (як, наприклад, у випадку з Lemmy), це збільшує мережевий трафік та навантаження на базу даних.
  4. Частота операцій: Як часто користувачі публікують, читають, шукають контент? Висока частота операцій вимагає більш потужного CPU та швидкої дискової підсистеми.

На основі цих факторів можна виділити кілька типових конфігурацій VPS.

Таблиця: Рекомендовані конфігурації VPS для Beszel від Valebyte.com

Ця таблиця допоможе вам вибрати відповідний тариф VPS від Valebyte.com залежно від передбачуваного навантаження на ваш інстанс Beszel. Усі тарифи Valebyte.com включають NVMe SSD та високошвидкісний мережевий канал, що є критично важливим для продуктивності Beszel.

Сценарій використання Кількість активних користувачів vCPU RAM NVMe SSD Приблизна вартість/міс. (Valebyte.com) Рекомендації
Особистий/Тестовий 1-10 1-2 ядра 2 GB 50 GB Від 5-7$ Для вивчення Beszel, особистого блогу або дуже маленької групи.
Мала спільнота 10-50 2 ядра 4 GB 80-100 GB Від 10-15$ Для невеликих робочих груп, сімейних спільнот, хобі-проєктів.
Середня спільнота 50-200 4 ядра 8 GB 100-160 GB Від 20-30$ Для активних тематичних форумів, невеликих компаній, освітніх платформ.
Велика спільнота/Продакшн 200-500+ 6-8+ ядер 16-32+ GB 200-400+ GB Від 40-70$+ Для великих публічних спільнот, інстансів, що активно федератуються, проєктів з великим обсягом медіа.

Примітка: Ціни є орієнтовними та можуть змінюватися залежно від актуальних акцій та тарифних планів Valebyte.com.

Додаткові рекомендації щодо вибору VPS

  1. Починайте з малого, масштабуйте в міру зростання: Завжди можна почати з більш скромного тарифу і потім легко оновити VPS до більш потужної конфігурації без перевстановлення, якщо ваш проєкт почне активно зростати. Valebyte.com надає таку можливість.
  2. Пріоритет NVMe SSD: Незалежно від розміру спільноти, завжди обирайте VPS з NVMe SSD. Це найзначніший фактор для продуктивності бази даних та загальної чуйності Beszel.
  3. Оцініть споживання трафіку: Якщо ви очікуєте активний обмін медіафайлами або широку федерацію, переконайтеся, що ваш тарифний план включає достатній обсяг щомісячного трафіку або пропонує безлімітний трафік.
  4. Розташування сервера: Виберіть дата-центр, який географічно розташований ближче до вашої основної аудиторії, щоб мінімізувати затримки (latency).
  5. Підтримка: Зверніть увагу на якість технічної підтримки провайдера. Valebyte.com пропонує цілодобову підтримку, що може бути критично важливо при виникненні проблем.

Ретельний підхід до вибору VPS для Beszel на сервері дозволить вам створити швидку, надійну та масштабовану платформу, здатну задовольнити потреби вашої спільноти.

Висновки

Розгортання Beszel на власному VPS від Valebyte.com надає повний контроль над вашою децентралізованою соціальною платформою, забезпечуючи конфіденційність, гнучкість та масштабованість. Використовуючи Docker Compose, ви зможете легко встановити та підтримувати Beszel, а також забезпечити безпеку за допомогою Nginx або Caddy з автоматичним HTTPS. Для оптимальної роботи Beszel під навантаженням, рекомендується вибирати VPS з NVMe SSD та достатнім обсягом RAM, що дозволить вашій платформі функціонувати швидко та стабільно для будь-якої кількості користувачів.

Готові вибрати сервер?

VPS та виділені сервери в 72+ країнах з миттєвою активацією та повним root-доступом.

Почати зараз →
support_agent
Valebyte Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.