/bdoku

DokuWiki Satellite for Gemini Protocol

Primary LanguagePHPMIT LicenseMIT

β-Doku is DokuWiki Satellite for Gemini Protocol

Allows to launch read-only DokuWiki instance using Gemini Protocol

It based on titan-II server, gemini-php to parse DokuWiki data folder, cache-php to save compiled pages in memory and manticore for full-text search.

Project under development, please join to work by sending PR or bug report!

Examples

  • gemini://[301:23b4:991a:634d::b] - Mirror of http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]
    • gemini://betahowto.ygg - Alfis / Yggdrasil alias
    • gemini://betahowto.duckdns.org - Clearnet alias

Install

  1. wget https://repo.manticoresearch.com/manticore-repo.noarch.deb
  2. dpkg -i manticore-repo.noarch.deb
  3. apt update
  4. apt install git composer memcached manticore manticore-extra php-fpm php-memcached php-mysql php-mbstring
  5. git clone https://github.com/YGGverse/bdoku.git
  6. cd bdoku
  7. composer update

Setup

  1. cd bdoku
  2. mkdir host/127.0.0.1
  3. cp example/config.json host/127.0.0.1/config.json
  4. cd host/127.0.0.1
  5. openssl req -x509 -newkey rsa:4096 -keyout key.rsa -out cert.pem -days 365 -nodes -subj "/CN=127.0.0.1"

Start

Before launch the server, copy or create alias of path/to/dokuwiki/data folder to bdoku/host/127.0.0.1 on example above.

On every start, previous memory cache will be cleaned and new search index created. After data folder update, you need just to restart your server with systemd or another process manager.

When launching with systemd, just make sure that manticore server already running:

[Unit]
Wants=manticore.service
After=manticore.service
...

php src/server.php 127.0.0.1

Open gemini://127.0.0.1 in your favorite Gemini browser!

Update

  1. cd bdoku
  2. git pull - get latest codebase from this repository
  3. composer update - update vendor libraries