]> BookStack Code Mirror - website/blob - content/blog/2025/bookstack-filesystem.md
Added bsfs post
[website] / content / blog / 2025 / bookstack-filesystem.md
1 +++
2 categories = ["News"]
3 tags = ["News"]
4 title = "Using BookStack as a Linux File System"
5 image = "/images/blog-cover-images/cc-by-sa-4/penguins-dietmar-rabich.jpg"
6 author = "Dan Brown"
7 slug = "bookstack-filesystem"
8 draft = false
9 date = 2025-04-20T10:46:00Z
10 +++
11
12 For a while I've been playing with the idea of being able to mount a BookStack instance as a Linux file system.
13 I attempted this a while ago, but recently dedicated a day to finishing up a proof on concept for this.
14 The resulting project, with usage details, can be found here on Codeberg:
15
16 https://codeberg.org/bookstack/filesystem
17
18 This little application mounts a [FUSE](https://docs.kernel.org/filesystems/fuse.html)-based linux file system
19 which in the background reads books, chapters and pages from BookStack over the API, to present the content
20 as a read-only series of folders and files. Files are essentially the page content provided via the export API 
21 endpoints. By default they are plain text export files, but there's an option to alternatively use PDF, HTML or Markdown exports
22 for page files.
23
24 This is only a simple proof of concept application written in Go, and is not really meant for production use
25 since there will be limitations and bugs, but it's a fun idea which may be useful to others.
26 The code (linked above) is all open source and open to further hackery where desired.
27
28 For a full visual demo I've put together a quick video of this in use:
29
30 {{<pt qYZLU2U12RQNfFNfe1xSpb>}}
31
32 ---
33   
34 <span style="font-size: 0.8em;opacity:0.8;">Header Image Credits: &nbsp;<span>Photo by <a href="https://commons.wikimedia.org/wiki/File:Simon%E2%80%99s_Town_(ZA),_Boulders_Beach,_Penguin_Colony_--_2024_--_3420.jpg">Dietmar Rabich (CC-BY-SA-4)</a> - Image Modified</span></span>