{"id":13771473,"url":"https://github.com/YGGverse/bdoku","last_synced_at":"2025-05-11T04:30:44.436Z","repository":{"id":220841329,"uuid":"750260133","full_name":"YGGverse/bdoku","owner":"YGGverse","description":"DokuWiki Satellite for Gemini Protocol","archived":false,"fork":false,"pushed_at":"2024-03-07T11:20:52.000Z","size":44,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-04-08T21:36:45.436Z","etag":null,"topics":["bdoku","beta-doku","betadoku","betahowto","composer","dokuwiki","gemini","gemini-bridge","gemini-dokuwiki","gemini-protocol","gemini-rotocol-server","gemini-server","manticore","wiki"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/YGGverse.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-01-30T09:52:54.000Z","updated_at":"2024-08-03T17:04:41.770Z","dependencies_parsed_at":"2024-02-11T03:40:57.447Z","dependency_job_id":"2b74d906-b960-409c-ab01-39920ca98c22","html_url":"https://github.com/YGGverse/bdoku","commit_stats":null,"previous_names":["yggverse/betahowto","yggverse/betadoku","yggverse/bdoku"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YGGverse%2Fbdoku","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YGGverse%2Fbdoku/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YGGverse%2Fbdoku/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YGGverse%2Fbdoku/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/YGGverse","download_url":"https://codeload.github.com/YGGverse/bdoku/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253518941,"owners_count":21921074,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bdoku","beta-doku","betadoku","betahowto","composer","dokuwiki","gemini","gemini-bridge","gemini-dokuwiki","gemini-protocol","gemini-rotocol-server","gemini-server","manticore","wiki"],"created_at":"2024-08-03T17:00:51.891Z","updated_at":"2025-05-11T04:30:44.174Z","avatar_url":"https://github.com/YGGverse.png","language":"PHP","funding_links":[],"categories":["Services"],"sub_categories":["Graphical"],"readme":"# β-Doku is DokuWiki Satellite for Gemini Protocol\n\nAllows to launch read-only DokuWiki instance using [Gemini Protocol](https://geminiprotocol.net/)\n\nIt based on [titan-II](https://github.com/YGGverse/titan-II) server, [gemini-php](https://github.com/YGGverse/gemini-php) to parse DokuWiki data folder, [cache-php](https://github.com/YGGverse/cache-php) to save compiled pages in memory and [manticore](https://github.com/manticoresoftware) for full-text search.\n\nProject under development, please join to work by sending PR or bug report!\n\n## Examples\n\n* `gemini://[301:23b4:991a:634d::b]` - Mirror of `http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]`\n  * `gemini://betahowto.ygg` - Alfis / Yggdrasil alias\n  * `gemini://betahowto.duckdns.org` - Clearnet alias\n\n## Install\n\n1. `wget https://repo.manticoresearch.com/manticore-repo.noarch.deb`\n2. `dpkg -i manticore-repo.noarch.deb`\n3. `apt update`\n4. `apt install git composer memcached manticore manticore-extra php-fpm php-memcached php-mysql php-mbstring`\n5. `git clone https://github.com/YGGverse/bdoku.git`\n6. `cd bdoku`\n7. `composer update`\n\n## Setup\n\n1. `cd bdoku`\n2. `mkdir host/127.0.0.1`\n3. `cp example/config.json host/127.0.0.1/config.json`\n4. `cd host/127.0.0.1`\n5. `openssl req -x509 -newkey rsa:4096 -keyout key.rsa -out cert.pem -days 365 -nodes -subj \"/CN=127.0.0.1\"`\n\n## Start\n\nBefore launch the server, copy or create alias of `path/to/dokuwiki/data` folder to `bdoku/host/127.0.0.1` on example above.\n\nOn every start, previous memory cache will be cleaned and new search index created.\nAfter `data` folder update, you need just to restart your server with systemd or another process manager.\n\nWhen launching with systemd, just make sure that manticore server already running:\n\n```\n[Unit]\nWants=manticore.service\nAfter=manticore.service\n...\n```\n\n`php src/server.php 127.0.0.1`\n\nOpen `gemini://127.0.0.1` in your favorite [Gemini browser](https://github.com/kr1sp1n/awesome-gemini)!\n\n## Update\n\n1. `cd bdoku`\n2. `git pull` - get latest codebase from this repository\n3. `composer update` - update vendor libraries","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FYGGverse%2Fbdoku","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FYGGverse%2Fbdoku","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FYGGverse%2Fbdoku/lists"}