|Maximilian Keßler 7e021be0b8|
- a webserver with webroot
- write-access to the webroot by some user
- the ability to add ssh-keys to that user
We recommend a system-user that is solely used for the pages
deployment. We will call it
pages for the rest of this file.
Create it with
sudo adduser --system --shell /bin/bash --gecos 'Pages deployment' --group --disabled-password --no-create-home pages
/home/pages/deploy.sh (or some other place where you want to store it).
Edit the configuration variables in the file to your liking.
Here, you have to ensure that the
pages user has write access to
Also make sure that
STORAGE_ROOT has permissions so that other users cannot read it
sudo chmod 600 <STORAGE_ROOT>.
Settting up a new repository
For each new repository, you want to do the following:
setup-key.sh <owner>/<repository> to generate a ssh keypair and set up the
pages user to accept this.
<owner>/<repository> can be anything, it will be the path relative to the webroot where this ssh key
will be able to deploy to, but this would be the recommended pattern for git instances.
In your repository, add the displayed ssh key as a secret named
Now you should be fine to use the action as described in actions/pages.