Bookstack¶
Bookstack is a self-hosted open source solution to create documentation.
As Devs, we do prefer the tool that we use to write this very documentation 😅. But it turns out that non technical profiles do not share our enthousiasm on writing markdown and deploying via github/docker compose 😋.
Bookstack thus comes handy as once deployed anybody (with the right authorization) can write and update content.
Setting up the bookstack stack¶
There is no sense in setting up locally Bookstack, we thus just present the production setup.
All relevant information can be found in the docker-compose.bookstack.yml
file (here ).
You will need to create two folders in the folder containing docker-compose.bookstack.yml
bookstack_app_data
bookstack_storage_data
Warning
Be sure to give write access to the external world (chmod 755 presumably) for these folders. Otherwise you won't be able to upload documents. We lost some time on that 😅
you will need to create a .bookstack.env
file and setting
MYSQL_USER
: username for the mySQLbookstack_db
containerMYSQL_PASSWORD
: password associated toMYSQL_USER
MYSQL_ROOT_PASSWORD
: password for the mySQLbookstack_db
containerMYSQL_DATABASE
: the db name to which yourbookstack
container will connect toAPP_URL
: entry to the DNS address you created in order to reach the bookstack interface.DB_DATABASE
: put the same value as inMYSQL_DATABASE
DB_HOST
: put herebookstack_db:3306
DB_USERNAME
: put the same value as inMYSQL_USER
DB_PASSWORD
: put the same value as inMYSQL_PASSWORD
APP_KEY
: As explained herebookstack_url
: put the same value as inAPP_URL
Warning
APP_KEY
must be some random string with exactly 32 characters (we lost some time on that 😅).
To start the stack in production, you can make use of the Makefile
provided in the repo (make help
to list available commands). Launch
make bookstack-launch
pgAdmin will be accessible at bookstack_url
. Please refer to the official documentation to create new users, contents...