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_databookstack_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_dbcontainerMYSQL_PASSWORD: password associated toMYSQL_USERMYSQL_ROOT_PASSWORD: password for the mySQLbookstack_dbcontainerMYSQL_DATABASE: the db name to which yourbookstackcontainer 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_DATABASEDB_HOST: put herebookstack_db:3306DB_USERNAME: put the same value as inMYSQL_USERDB_PASSWORD: put the same value as inMYSQL_PASSWORDAPP_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...