Инсталиране на Opengist на bg с Docker и Docker Compose.
Научете как да инсталирате и конфигурирате свой собствен спретнат self-hosted Pastebin алтернатив - Opengist, с пълен български превод.
Предварителни изисквания
- Основни познания по Linux терминал
- Инсталиран Docker и Docker Compose
Споделянето на фрагменти от код (code snippets) е важна част от ежедневието на всеки софтуерен инженер, системен администратор или DevOps специалист. Въпреки че публични платформи като GitHub Gists или Pastebin вършат отлична работа, често се появява нуждата от собствено (self-hosted) решение. Причините за това варират от изисквания за поверителност и корпоративна сигурност до възможност за пълна персонализация и интеграция с вътрешни мрежи.
В това ръководство ще разгледаме Opengist — една от най-модерните отворени платформи за съхранение и споделяне на код, базирана на Git. Специалното в това упътване е, че ще използваме българския форк (fedya-dev/opengist), който предоставя пълен превод на български език за целия потребителски интерфейс и административен панел.
Какво представлява Opengist?
За разлика от традиционните Pastebin платформи, които съхраняват текста просто като обикновени низове в база данни, Opengist третира всеки създаден снипет като истинско Git хранилище. Това отключва редица ключови предимства:
- Пълна история на версиите: Всяка промяна в даден снипет се записва като отделен commit, което ви позволява да проследявате историята на промените във времето.
- Интеграция с Git протоколи: Можете да клонирате, редактирате и качвате промени във вашите снипети директно през терминала с помощта на
git pushиgit pullпрез HTTP или SSH. - Гъвкави нива на видимост: Поддръжка на публични (Public), скрити (Unlisted — достъпни само с директна връзка) и напълно частни (Private) снипети.
- Синтактично подчертаване и вграждане: Поддръжка на десетки езици за програмиране и възможност за лесно вграждане (embed) на код фрагменти в уебсайтове или документация.
Използването на модифицираното Docker изображение или изходен код от fedya-dev/opengist гарантира, че вие и вашият екип ще разполагате с платформа, изцяло локализирана на български език.
Структура на проектните файлове
За да работи правилно приложението и да не губите информация при рестартиране на контейнерите, е важно да разберете как Opengist организира данните си. Според официалната спецификация, всички конфигурации, бази данни и самите Git хранилища се съхраняват в скритата директория .opengist.
Примерната файлова структура в работната директория изглежда по следния начин:
~/opengist/
├── .opengist/ # Директория за бази данни (SQLite), Git хранилища и конфигурация
├── source-code/ # (Опционално) Изходен код на проекта при локално построяване
└── docker-compose.yml # Конфигурационен файл за управление на Docker услугата
Какво се съдържа в .opengist?
opengist.db— SQLite базата данни, съдържаща потребителите, метаданните за снипетите и настройките.repositories/— Директорията, в която се намират самите bare Git хранилища за всеки създаден снипет.config.yml— Основният конфигурационен файл с настройки на задвижващия процес, портовете и ограниченията.
Предварителни изисквания
Преди да преминете към самата инсталация, се уверете, че вашата среда покрива следните минимални изисквания:
- Операционна система: Linux базирана дистрибуция (Ubuntu, Debian или аналогична) или WSL2 с Ubuntu.
- Контейнеризация: Инсталиран Docker Engine (версия 20.10+) и Docker Compose Plugin (версия 2.0+).
- Мрежов достъп: Отворени портове
6157(за HTTP уеб интерфейса) и опционално2222(за SSH достъп до Git).
Стъпка 1: Подготовка на директорията
Първата стъпка е да създадем работна директория на сървъра, в която ще се съхраняват конфигурационните файлове и данните.
Изпълнете следните команди в Linux терминала:
# Създаване на основната папка за проекта
mkdir -p ~/opengist
# Преминаване в новосъздадената директория
cd ~/opengist
Папката .opengist ще бъде автоматично създадена от Docker контейнера с правилните права за четене и писане при първоначалния му старт, така че не е нужно да я създавате ръчно.
Стъпка 2: Конфигуриране на docker-compose.yml
Създайте конфигурационния файл за Docker Compose в текущата директория:
nano docker-compose.yml
Поставете следната тествана конфигурация:
version: '3.8'
services:
opengist:
image: ghcr.io/fedya-dev/opengist:latest
container_name: opengist
restart: unless-stopped
ports:
- "6157:6157" # HTTP уеб интерфейс
- "2222:2222" # SSH порт за Git операции
volumes:
- "./.opengist:/opengist"
environment:
- OG_LOG_LEVEL=info
Разяснение на основните параметри:
image: ghcr.io/fedya-dev/opengist:latest— Указва Docker изображението с български превод от GitHub Container Registry.restart: unless-stopped— Автоматично рестартира контейнера при срив или рестарт на сървъра.ports— Мапва порт6157за уеб интерфейса и порт2222за SSH достъп.volumes— Редът./.opengist:/opengistсвързва скритата папка.opengistот сървъра с вътрешната папка/opengistв контейнера. Това гарантира, че данните ви остават защитени при обновяване.
Стъпка 3: Стартиране на услугата
Ако използвате готовия Docker image от GHCR, стартирайте контейнера с командата:
docker compose up -d
Ако сте клонирали изходния код в папката source-code и искате да компилирате изображението локално на сървъра, използвайте:
docker compose up -d --build
Проверка на състоянието
За да се уверите, че контейнерът работи изправно, проверете статуса му:
docker compose ps
Можете да проследите и системните логове в реално време:
docker compose logs -f opengist
Стъпка 4: Първоначална настройка
След като контейнерът е стартиран успешно:
- Отворете вашия уеб браузър и отидете на
http://YOUR_SERVER_IP:6157(илиhttp://localhost:6157). - Щракнете върху бутона Регистрация в горния десен ъгъл.
- Създайте първия потребителски профил. Забележка: Първият регистриран потребител автоматично придобива права на Администратор.
- Влезте в профила си и разгледайте контролния панел, който вече е напълно преведен на български език.
Правилно обновяване на Opengist
За да обновите инсталацията с най-новите промени от българския форк, без да засягате базата си данни в .opengist:
Вариант А: Ако използвате готово Docker изображение (GHCR)
cd ~/opengist
docker compose pull
docker compose up -d
Вариант Б: Ако правите локален build от изходния код (source-code)
Ако сте клонирали кода локално на сървъра и компилирате през Docker, изпълнете следните стъпки:
# 1. Влезте в директорията с изходния код
cd ~/opengist/source-code
# 2. Обновете кода от master клона на вашия форк
git fetch origin
git reset --hard origin/master
# 3. Върнете се в основната папка и препостройте контейнера
cd ~/opengist
docker compose up -d --build
# 4. (По желание) Почистете старите неактивни Docker изображения
docker image prune -f
Заключение
Инсталирането на Opengist с Docker е бърз и надежден начин да разполагате със собствен личен или екипен Pastebin сървър. Благодарение на локализацията в форка fedya-dev/opengist, получавате пълен български интерфейс, а съхранението на данните в .opengist гарантира лесна поддръжка и безопасно обновяване.