Все системы работают в штатном режиме 21 принимаемые криптовалюты · Monero приветствуется Политика без KYC
ChainVPS

Публикации · без KYC

Хостинг Ghost на офшорном VPS

Ghost — быстрая современная платформа для публикаций, которую можно развернуть самостоятельно за считанные минуты на офшорном VPS, сохраняя свои тексты, подписчиков и платежи вне сторонних облачных сервисов.

Что это такое

Ghost — это CMS с открытым исходным кодом на Node.js, созданная для блогов, рассылок и сайтов с платными подписками, с встроенными email-подписками, платными тарифами и удобным редактором Markdown. Поставляется в виде официального Docker-образа на базе MySQL 8 и обслуживает ваш сайт через собственный порт за обратным прокси.

Почему размещать это оффшорно

Запуск Ghost на VPS без KYC с оплатой криптовалютой означает, что ваша публикация не привязана к аккаунту, который можно связать с личностью, заблокировать на платформе или выдать по запросу. Благодаря офшорным локациям privacy-уровня и безлимитному трафику вы сохраняете полный контроль над контентом, списком подписчиков и выплатами Stripe — без хостинг-провайдера, контролирующего ваши слова.

Развёртывание

Рабочая эталонная конфигурация

Скопируйте это на новый инстанс ChainVPS. Замените плейсхолдеры и запустите.

docker-compose.yml
services:
  ghost:
    image: ghost:5-alpine
    restart: always
    ports:
      # Привязывайте только к localhost; TLS терминируйте на обратном прокси (nginx/Caddy)
      - "127.0.0.1:2368:2368"
    environment:
      url: https://blog.example.com
      NODE_ENV: production
      database__client: mysql
      database__connection__host: db
      database__connection__port: 3306
      database__connection__user: ghost
      database__connection__password: CHANGE_ME_DB_PASSWORD
      database__connection__database: ghostdb
      # Необязательно: исходящий SMTP для email подписчиков/рассылок:
      # mail__transport: SMTP
      # mail__options__host: smtp.example.com
      # mail__options__port: 587
      # mail__options__auth__user: [email protected]
      # mail__options__auth__pass: CHANGE_ME_SMTP
    volumes:
      - ghost-content:/var/lib/ghost/content
    depends_on:
      - db

  db:
    image: mysql:8.0
    restart: always
    command: --default-authentication-plugin=caching_sha2_password
    environment:
      MYSQL_ROOT_PASSWORD: CHANGE_ME_ROOT_PASSWORD
      MYSQL_DATABASE: ghostdb
      MYSQL_USER: ghost
      MYSQL_PASSWORD: CHANGE_ME_DB_PASSWORD
    volumes:
      - ghost-db:/var/lib/mysql

volumes:
  ghost-content:
  ghost-db:

# Развёртывание:
#   apt-get update && apt-get install -y docker.io docker-compose-v2
#   docker compose up -d
# Затем настройте обратный прокси (Caddy/nginx) на 127.0.0.1:2368 для добавления HTTPS,
# и укажите в `url:` ваш настоящий https:// домен перед первым запуском.

Файрвол

Порты для открытия

ПортПротоколНазначение
2368TCPHTTP-порт приложения Ghost — держите привязанным к 127.0.0.1 и обслуживайте через обратный прокси, никогда не открывайте публично
443TCPHTTPS для внешнего доступа через ваш обратный прокси (Caddy/nginx)
80TCPHTTP для выпуска сертификатов ACME/Let's Encrypt и редиректа на 443
3306TCPMySQL — только внутренняя сеть Docker, никогда не публикуйте на хост

Подбор оптимального размера

Какой план вам нужен

Лёгкий

VPS Nano/Small (1-2 vCPU, 2 GB RAM)

Личный блог или небольшая рассылка. Ghost + MySQL прекрасно помещаются; добавьте 1 ГБ swap для подстраховки.

Средний

VPS Pro (2-4 vCPU, 4-8 GB RAM)

Активное издание с платными подписками, постами с большим количеством изображений и регулярными email-рассылками. Запас мощности для кэша MySQL и всплесков трафика.

Тяжёлый

Dedicated (dedicated cores, 16 GB+ RAM, NVMe)

Сайт с высокой посещаемостью или мультиблог-конфигурация с большими медиатеками; изолируйте MySQL и раздавайте медиа через кэш для стабильной задержки.

Лучшие локации: Для издания, которое должно оставаться в сети независимо от давления с требованием удаления контента, выбирайте локацию ChainVPS privacy-уровня: Исландия (IS), Швейцария (CH), Румыния (RO), Молдова (MD), Нидерланды (NL) или Люксембург (LU). CH и IS отличаются сильной защитой прессы/свободы слова и законодательством о приватности; NL и LU обеспечивают низкую задержку для европейской аудитории с безлимитным трафиком для сайтов с большим количеством изображений и рассылок.

Обеспечьте полную защиту

Чек-лист по усилению защиты

  • Никогда не публикуйте порт 2368 или 3306 на 0.0.0.0. Держите Ghost привязанным к 127.0.0.1, а MySQL — только во внутренней сети Docker; открывайте сайт исключительно через TLS-обратный прокси (Caddy автоматически выпускает сертификаты Let's Encrypt, либо используйте nginx + certbot).
  • Укажите переменную окружения `url` с вашим реальным https:// доменом ещё до самого первого запуска. Ghost встраивает этот URL в ссылки на ресурсы, и изменить его позже можно только через обновление базы данных и сброс кэша.
  • Защитите панель администратора: при первой настройке задайте длинный уникальный пароль и ограничьте доступ к /ghost/ по белому списку IP или basic-auth на прокси, если публикуете материалы из фиксированных локаций. Включите встроенную 2FA для сотрудников Ghost.
  • Регулярно делайте резервные копии обоих томов: выгружайте MySQL (`docker compose exec db mysqldump -u ghost -p ghostdb`) и архивируйте том content (`/var/lib/ghost/content`, где хранятся изображения и темы). Отправляйте зашифрованные резервные копии в хранилище ChainVPS или за пределы сервера.
  • Фиксируйте теги образов (ghost:5-alpine, mysql:8.0) и обновляйтесь осознанно через `docker compose pull && docker compose up -d`; перед переходом на новую мажорную версию Ghost проверяйте совместимость тем и интеграций, а также держите включённой защиту от DDoS, которая входит в тарифный план, на границе сети.

Вопросы

Хостинг Ghost — FAQ

Обязательно ли Ghost нужен MySQL, или можно использовать SQLite?

Ghost 5 официально требует MySQL 8 для продакшена. Файл compose выше автоматически настраивает MySQL 8. SQLite поддерживается только для локальной разработки и не рекомендуется для боевого офшорного развёртывания.

Как добавить HTTPS?

Сам Ghost отдаёт обычный HTTP на порту 2368. Поставьте перед ним обратный прокси — проще всего Caddy (он автоматически выпускает и продлевает сертификаты Let's Encrypt), либо используйте nginx с certbot. Настройте его на 127.0.0.1:2368 и укажите в `url` Ghost ваш https:// домен.

Можно ли отправлять рассылки без привязки к сторонней идентификации?

Ghost отправляет письма подписчикам через любой SMTP-провайдер или Mailgun. Для конфигурации, ориентированной на приватность, используйте SMTP-релей, принимающий оплату криптовалютой или требующий минимальной регистрации, и настройте его через переменные окружения mail__. Для транзакционных писем всё равно нужен домен отправки с корректными SPF/DKIM для доставляемости.

Сколько места на диске потребуется?

Ядро Ghost вместе с MySQL занимает немного места (несколько сотен МБ). Реальный рост происходит за счёт загруженных изображений и видео в томе content. Для лёгкого блога достаточно 20-40 ГБ; для сайтов с большим количеством изображений или платными подписками стоит закладывать NVMe-хранилище и регулярные резервные копии тома content.

Выдержит ли мой сайт всплески трафика или DDoS-атаки?

Тарифы ChainVPS включают защиту от DDoS на границе сети, а трафик безлимитный, поэтому вирусный пост не приведёт к дополнительным платежам за превышение. При резких всплесках запросов включите кэширование просмотров страниц на уровне прокси и переходите на VPS Pro или выделенный сервер, если стабильно наблюдаете высокую конкурентность запросов.

Больше для самостоятельного хостинга

Другие стеки в один клик

Разверните Ghost
в течение следующих 60 секунд.

Безлимитный трафик · DDoS-защита включена · 21 криптовалюта · без KYC.