DevOps Beginner 20 мин • 13.10.2026 г.

Инсталиране на Opengist на bg с Docker и Docker Compose.

Научете как да инсталирате и конфигурирате свой собствен спретнат self-hosted Pastebin алтернатив - Opengist, с пълен български превод.

Инсталиране на Opengist на bg с Docker и Docker Compose.

Предварителни изисквания

  • Основни познания по 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?

  1. opengist.db — SQLite базата данни, съдържаща потребителите, метаданните за снипетите и настройките.
  2. repositories/ — Директорията, в която се намират самите bare Git хранилища за всеки създаден снипет.
  3. 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: Първоначална настройка

След като контейнерът е стартиран успешно:

  1. Отворете вашия уеб браузър и отидете на http://YOUR_SERVER_IP:6157 (или http://localhost:6157).
  2. Щракнете върху бутона Регистрация в горния десен ъгъл.
  3. Създайте първия потребителски профил. Забележка: Първият регистриран потребител автоматично придобива права на Администратор.
  4. Влезте в профила си и разгледайте контролния панел, който вече е напълно преведен на български език.

Правилно обновяване на 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 гарантира лесна поддръжка и безопасно обновяване.