>_ DevTrendspl

Język

Strona główna

Języki

Sekcje

Frontend Backend Mobilne DevOps AI / ML GameDev Blockchain Systemy wbudowane Bezpieczeństwo
Vue

Alexandrie — baza wiedzy na własnym serwerze z trybem offline i czytelnym Markdown

Podgląd Alexandrie

Wieczny dylemat z bazami wiedzy zwykle sprowadza się do wyboru między chmurą a plikami lokalnymi. Z jednej strony mamy Notion lub Confluence, gdzie wygodnie konfiguruje się dostęp zespołowy, ale nasze dane znajdują się na serwerach kogoś innego. Z drugiej strony mamy Obsidian, gdzie wszystko jest przechowywane w czystym Markdownu, ale synchronizacja i współpraca szybko zamieniają się w konfigurację wtyczek i obejścia.

Ostatnio natknąłem się na projekt Alexandrie. Autor próbował połączyć znajomy interfejs webowy wiki zespołowych, niezależność rozwiązań self-hosted oraz dostęp offline. Wyszło interesujące narzędzie, które można wdrożyć na własnym serwerze jednym poleceniem.

Co kryje się w projekcie

Alexandrie jest napisane przy użyciu Vue / Nuxt na frontendzie i Go na backendzie. To pełnowartościowa aplikacja webowa stylizowana jako PWA (Progressive Web App). Możesz zainstalować ją na komputerze lub telefonie i nadal otwierać notatki bez połączenia z internetem.

W jej rdzeniu znajduje się CodeMirror 6, wzbogacony do pisania technicznego.

Podgląd edytora Markdown

Edytor ma kilka miłych dodatków, których często brakuje w standardowych wiki:

  • Obsługa formuł LaTeX i wbudowany kreator diagramów bezpośrednio w tekście.
  • Zsynchronizowane przewijanie między źródłem a panelem podglądu.
  • Wprowadzanie głosowe przez Web Speech API do szybkiego dyktowania myśli.
  • Menedżer snippetów do szybkiego wstawiania powtarzalnych szablonów opisów API lub raportów błędów.

Struktura przestrzeni i prawa dostępu

Do współpracy zespołowej przewidziano jasną hierarchię. Przestrzeń jest podzielona na zespoły, workspaces, kategorie i zagnieżdżone dokumenty.

Podgląd przestrzeni zespołowych

Model uprawnień obejmuje pięć poziomów: Brak, Odczyt, Zapis, Admin i Właściciel. Możesz przyznać komuś dostęp tylko do odczytu konkretnej gałęzi dokumentu lub udostępnić stronę przez unikalny publiczny link zewnętrznie.

W środowiskach korporacyjnych dostępna jest integracja SSO przez OIDC. Tak więc powiązanie uwierzytelniania z Keycloak lub Authentik nie stanowi problemu.

Wyszukiwanie i organizacja pracy

Wyszukiwanie w bazach wiedzy zwykle albo działa ospale, albo wymaga osobnego klastra Elasticsearch. Alexandrie ma wbudowany pełnotekstowy indeks z podświetlonymi wynikami wyszukiwania i rankingiem relewancji.

Podgląd centrum poleceń

Naciśnięcie Ctrl + K otwiera paletę poleceń. Stamtąd możesz przeskakiwać między stronami, wyzwalać szybkie akcje i przełączać konteksty bez dotykania myszy.

Podgląd nawigacji

Tablice Kanban są również wbudowane w każdą przestrzeń roboczą. To przydaje się, gdy potrzebujesz małego trackera zadań tuż obok specyfikacji i dokumentacji technicznej, bez przełączania się do zewnętrznych trackerów.

Przechowywanie plików i kopie zapasowe

Obrazy, filmy i załączniki nie rozdymać bazy danych. Aplikacja może współpracować z pamięcią masową kompatybilną z S3, czy to MinIO, Garage, RustFS, czy dostawcami chmury.

Podgląd magazynu

Interfejs zawiera wbudowaną przeglądarkę trzydziestu formatów plików multimedialnych, w tym osadzony renderer PDF.

Eksport jest również prosty: w dowolnym momencie możesz pobrać archiwum ze wszystkimi dokumentami i metadanymi jako ZIP lub przywrócić stan systemu z takiego archiwum. Nie ma tu blokady na własnościowy format — otrzymujesz normalne pliki jako wynik.

Jak uruchomić

Cały stack jest wdrażany przez Docker Compose dosłownie w ciągu kilku minut.

# 1. Скачиваем конфиги
curl https://raw.githubusercontent.com/Smaug6739/Alexandrie/main/.env.example -O .env.example
curl https://raw.githubusercontent.com/Smaug6739/Alexandrie/main/docker-compose.yml -O docker-compose.yml

# 2. Создаем файл переменных окружения
cp .env.example .env

# 3. Запускаем контейнеры
docker compose up -d

Po uruchomieniu interfejs jest dostępny pod adresem http://localhost:8200, gdzie kreator konfiguracji początkowej poprosi o utworzenie konta właściciela.

Dla kogo jest ten projekt

Jeśli potrzebujesz wewnętrznej bazy wiedzy dla zespołu deweloperskiego lub osobistego archiwum notatek na domowym serwerze, Alexandrie wygląda na solidnego kandydata. Nie ma tu nadęcia Confluence ani zależności od chmury jak w Notion.

Oczywiście projekt jest młodszy niż ugruntowani giganci, a jego społeczność jest wciąż skromna. Ale połączenie gotowego obrazu Docker, PWA z dostępem offline i obsługą S3 czyni z niego wygodne narzędzie dla tych, którzy cenią kontrolę nad swoimi danymi.

Powiązane projekty