Awesome
β-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 ofhttp://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]
gemini://betahowto.ygg
- Alfis / Yggdrasil aliasgemini://betahowto.duckdns.org
- Clearnet alias
Install
wget https://repo.manticoresearch.com/manticore-repo.noarch.deb
dpkg -i manticore-repo.noarch.deb
apt update
apt install git composer memcached manticore manticore-extra php-fpm php-memcached php-mysql php-mbstring
git clone https://github.com/YGGverse/bdoku.git
cd bdoku
composer update
Setup
cd bdoku
mkdir host/127.0.0.1
cp example/config.json host/127.0.0.1/config.json
cd host/127.0.0.1
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
cd bdoku
git pull
- get latest codebase from this repositorycomposer update
- update vendor libraries