ГлавнаяОперационные системыLinuxКак создать свой собственный GitHub Gist с помощью Opengist

Как создать свой собственный GitHub Gist с помощью Opengist

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.

Наконец, для работы 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
Терминал, показывающий процесс установки зависимостей для Opengist.

Убедитесь, что в вашей системе присутствует «основной» пакет 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
Терминал, показывающий работающий контейнер Opengist Docker.

Кстати, научитесь переместите контейнеры Docker на новый хост .

Создание обратного SSL-прокси для Opengist

Теперь у вас есть частично работающий экземпляр Opengist, работающий на порту 6157. Чтобы безопасно использовать его через Интернет, вам необходимо передать его через обратный прокси-сервер SSL с помощью Nginx.

Для этого создайте новую DNS-запись «A» для вашего доменного имени, указывающую н

Установка и запуск Opengist

ist.

Скриншот, показывающий записи DNS для Opengist VPS.

Вернитесь к терминалу вашего сервера, затем создайте новый файл конфигурации сайта для 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
Создание обратного SSL-прокси для Opengistи-сервер Nginx, работающий на сервере.">

Зарегистрируйте свою систему Opengist, используя свой адрес электронной почты, в EFF:

sudo certbot register --agree-tos -m YOUR@EMAIL.ADDRESS

Создайте новый сертификат SSL для вашего доменного имени с помощью Certbot:

sudo certbot --nginx -d SUBDOMAIN.YOUR-ROOT.DOMAIN

Подтвердите, что ваш веб-сайт доступен через Интернет, открыв веб-браузер и перейдя к своему доменному имени.

Снимок экрана, показывающий Opengist, работающий через HTTPS.

Совет. узнайте, как работает шифрование в Интернете, к создание собственных сертификатов SSL с помощью OpenSSL .

Создание первой сущности с помощью Opengist

По умолчанию Opengist не предоставляет учетную запись администратора для вашего личного экземпляра. Чтобы создать его, вам необходимо сначала зарегистрировать его через веб-интерфейс вашего экземпляра.

Начните с перехода к субдомену Opengist, затем нажмите кнопку Зарегистрироваться в правом верхнем углу страницы.

Снимок экрана, на котором выделена кнопка «Зарегистрироваться» в правом верхнем углу 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 для страницы gist.

Добавьте файлы вашей папки в новый репозиторий 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.

Создание первой сущности с помощью Opengist

/wp-content/uploads/2024/07/install-opengist-linux-11-highlight-opengist-login-credentials.jpg" alt="Терминал, выделяющий запрос учетных данных для сервера Opengist.">

Скопируйте команду Git, которую Opengist возвращает в сеансе вашего терминала, а затем запустите ее, чтобы установить новый удаленный источник для вашего репозитория.

Терминал, выделяющий новый удаленный URL-адрес страницы Opengist.

Убедитесь, что вы правильно сохранили суть, просмотрев веб-интерфейс вашего сервера.

Снимок экрана, показывающий новую страницу содержания в веб-интерфейсе Opengist.

Размещение собственного сервера Opengist в Linux и создание основных страниц в стиле Github — это лишь некоторые из вещей, которые вы можете сделать с помощью самостоятельно размещаемого программного обеспечения. Узнайте больше о самостоятельном хостинге, просмотрев некоторые из лучшие самостоятельные альтернативы Github на сегодняшний день .

Изображение предоставлено: Джоан Гамелл через Unsplash . Все изменения и скриншоты Рамсеса Реда.

Создание и обновление Gist с помощью SSH

ПОХОЖИЕ СТАТЬИ

Популярные записи