Opengist — это легкий автономный сервер Github Gist для Linux. В отличие от других решений, оно использует преимущества Git для быстрой загрузки, просмотра и редактирования текстовых файлов. Здесь мы покажем вам, как установить и разместить собственный сервер Opengist в Ubuntu Linux.
Зачем размещать собственный сервер Gist с помощью Opengist
Одним из самых больших преимуществ Contents
Зачем размещать собственный сервер Gist с помощью Opengist
ps://saintist.ru/2023/08/17/zapustite-svoy-sobstvennyy-pastebin-s-pomoshchyu-sticked/" title="Pastebin-подобный сервис">Pastebin-подобный сервис , в котором в качестве серверной части используется Git. Это позволяет легко подобрать и разместить Opengist в Linux для всех, кто уже знаком с Git-подобными сервисами с поддержкой Gist, такими как Github и Гитлаб .Еще одна сильная сторона Opengist заключается в том, что он может отслеживать вставку, специфичную для пользователя, и предоставляет элементы управления для управления видимостью вставки. В результате Opengist может стать автономным центром обмена текстом между вашей небольшой группой коллег.
Наконец, для работы Opengist не требуются накладные расходы. Его конфигурация по умолчанию опирается только на один контейнер Docker и хранилище данных, которые вы можете установить как внутренний том или как привязку к вашей файловой системе. Это означает, что вы можете запускать Opengist даже на слабых системах без большого количества свободных ресурсов.
Полезно знать. Изучите основы управления исходным кодом, прочитав нашу подробную статью руководство для начинающих по Git .
Подготовка системы для Opengist
Предположение: Это руководство выполнено на Ubuntu 24.04 VPS с минимум 2 ГБ ОЗУ и 25 ГБ дискового пространства. Также предполагается, что в настоящее время у вас есть доменное имя и вы можете добавить к нему DNS-запись «А».
Примечание. В этом разделе основное внимание уделяется установке Docker в системах на базе Ubuntu. Чтобы установить его в другом дистрибутиве, ознакомьтесь с нашим общим руководством по установка Docker в Linux .
Первым шагом при развертывании Opengist на вашем компьютере является получение и установка Docker, Nginx и Certbot. Для этого сначала получите ключ подписи для проекта Docker:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg
Создайте новый файл репозитория в папке «/etc/apt/sources.list.d/»:
Подготовка системы для Opengistspan>etc/apt/sources.list.d/docker.list
Вставьте следующую строку кода в новый файл репозитория:
deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu noble stable
Сохраните файл репозитория, затем обновите все существующие пакеты в вашей системе:
sudo apt update && sudo apt upgrade
Извлеките двоичный файл Docker вместе с его плагином Compose и зависимостями:
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin nginx
Убедитесь, что в вашей системе присутствует «основной» пакет Snap:
sudo snap install core
Установите пакет оснастки Certbot от Electronic Frontier Foundation (EFF):
sudo snap install certbot --classic
Установка и запуск Opengist
Создайте новую папку для Opengist в домашнем каталоге текущего пользователя и зайдите в нее:
mkdir -p ~/opengist/data && cd ~/opengist
Используйте свой любимый текстовый редактор, чтобы создать новый файл «docker-compose.yml» в папке Opengist:
nano ./docker-compose.yml
Вставьте следующий блок кода в новый файл компоновки:
services: opengist: image: ghcr.io/thomiceli/opengist:1.7 container_name: opengist restart: unless-stopped ports: - "6157:6157" - "2222:2222" volumes: - ./data:/opengist"
Сохраните файл «docker-compose.yml», затем выполните следующую команду, чтобы собрать и установить Opengist в вашу систему:
docker compose up -d
Убедитесь, что Opengist запущен и работает, перечислив все активные контейнеры Docker на вашем компьютере:
docker ps
Кстати, научитесь переместите контейнеры Docker на новый хост .
Создание обратного SSL-прокси для Opengist
Теперь у вас есть частично работающий экземпляр Opengist, работающий на порту 6157. Чтобы безопасно использовать его через Интернет, вам необходимо передать его через обратный прокси-сервер SSL с помощью Nginx.
Для этого создайте новую DNS-запись «A» для вашего доменного имени, указывающую н
Установка и запуск Opengist
ist.Вернитесь к терминалу вашего сервера, затем создайте новый файл конфигурации сайта для Opengist:
sudo nano /etc/nginx/sites-available/opengist
Вставьте следующий блок кода в новый файл конфигурации:
server { server_name SUBDOMAIN.YOUR-ROOT.DOMAIN; location / { proxy_pass http://127.0.0.1:6157; proxy_http_version 1.1; proxy_redirect off; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header X-Forwarded-Proto https; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $host; } }
Сохраните файл конфигурации вашего сайта, затем создайте символическую ссылку из «/etc/nginx/sites-available/» на «/etc/nginx/sites-enabled/»:
sudo ln -s /etc/nginx/sites-available/opengist /etc/nginx/sites-enabled/
Убедитесь, что ваша конфигурация Nginx работает правильно, затем запустите веб-сервер с помощью systemctl:
nginx -t sudo systemctl enable --now nginx.service
Зарегистрируйте свою систему Opengist, используя свой адрес электронной почты, в EFF:
sudo certbot register --agree-tos -m YOUR@EMAIL.ADDRESS
Создайте новый сертификат SSL для вашего доменного имени с помощью Certbot:
sudo certbot --nginx -d SUBDOMAIN.YOUR-ROOT.DOMAIN
Подтвердите, что ваш веб-сайт доступен через Интернет, открыв веб-браузер и перейдя к своему доменному имени.
Совет. узнайте, как работает шифрование в Интернете, к создание собственных сертификатов SSL с помощью OpenSSL .
Создание первой сущности с помощью Opengist
По умолчанию Opengist не предоставляет учетную запись администратора для вашего личного экземпляра. Чтобы создать его, вам необходимо сначала зарегистрировать его через веб-интерфейс вашего экземпляра.
Начните с перехода к субдомену Opengist, затем нажмите кнопку Зарегистрироваться в правом верхнем углу страницы.
Укажите имя пользователя и пароль для своей учетной записи администратора, затем нажмите Зарегистрироваться, чтобы создать ее.
При этом вы автоматически войдете в интерфейс Opengist и предложите перейти на первую страницу с сутью. Введите или вставьте фрагмент текста в поле ввода, затем нажмите Создать общедоступный список, чтобы создать первый текст.
Примечание. Вы можете настроить параметры конфиденциальности своей основной статьи, нажав Стрелку вниз рядом с кнопкой Создать общедоступную суть.
Теперь вы можете поделиться своим новым файлом Gist с кем угодно, скопировав ссылку на него из адресной строки браузера и отправив его получателю.
Создание и обновление Gist с помощью SSH
Помимо веб-интерфейса, Opengist также поддерживает отправку и редактирование содержимого непосредственно из клиента Git CLI. Это полезно, если вы работаете в сеансе только с терминалом и у вас нет доступа к графическому интерфейсу.
Создайте новую папку для своей основной страницы в домашнем каталоге пользователя:
mkdir ~/my-gist && cd ~/my-gist
Либо скопируйте, либо создайте новый текстовый файл, содержащий ваши основные данные, а затем инициализируйте новый репозиторий Git внутри новой папки:
cp ~/my-text-file.txt ~/my-gist/ git init
Добавьте файлы вашей папки в новый репозиторий Git, а затем создайте первый коммит:
git add . git commit -m "My first Opengist commit."
Установите удаленную конечную точку для вашего локального репозитория Git на вашем сервере Opengist:
git remote add origin https://SUBDOMAIN.YOUR-ROOT.DOMAIN/init
Отправьте новый репозиторий на сервер Opengist:
git push -u origin master
Укажите свои учетные данные Opengist, затем нажмите Enter, чтобы подтвердить команду push.