scrapbook
Scrapbook is a website manager, built to deploy and serve statically generated web pages. It is designed to be as easy to use as possible, with a web interface for management and API for programmatic site deployment. It also does not need a database and uses the file system for organisation, to allow easy interoperability if you wish to serve sites using another web server.
It was originally built for me to use in conjunction with my own static site generator in a GitHub workflow.
Installation
This program is designed to work on any Linux machine. There is a provided Makefile
with install, install-config, and install-service targets. To install the
program itself:
make
make install
If this is the first installation, then you may also want to install the default
configuration with the install-config target.
make install-config
If you are on a systemd distribution, then there is also a provided service file which
the install-service target will install. This target will also create a scrapbook
user on the system.
make install-service
Configuration
Scrapbook will look for its configuration in /etc/scrapbook/ by default. You can
run the install-config target to install the provided default configuration.
You must set a hostname and secret for the web management interface and API. (I collectively call these the 'Command' interfaces, as it is the way you issue commands to scrapbook.)
[Command]
Host = ''
Secret = ''
If either values are left blank, then the web management interface and API will be inaccessible.
Practical notes and recommended setup
TLS. Scrapbook currently has no support for TLS. I would recommend running it behind a reverse proxy (I use nginx) and terminating TLS connections there before passing them to scrapbook.
Certificates / DNS. On the topic of certificates, I would recommend getting a wildcard certificate for the (sub-)domain you want to serve scrapbook sites with. Couple this with a wildcard CNAME pointing to your webserver, and you can very easily set up a new sites on different subdomains all within the scrapbook web management interface.
