Docs.Brut.Systems

This program acts as a proxy to serve files directly from repositories.

It expects the following environment variables to be set:

How It Works

When a request like http://:PORT/user/repository/path/to/file is sent to the proxy, it will dynamically fetch that file from the repository and return it to the user.

Usage With Systemd

Create a file at /etc/systemd/system/docs.brut.service with the following:

[Unit]
Description=Serves files from Git repositories
After=network.target
[Service]
Type=simple
ExecStart=<path/to/respository>/start.sh
WorkingDirectory=<path/to/repository>
ExecStop=/usr/bin/pkill docs.brut.systems
Restart=always
User=<user to run as>
Environment="API_URL=<url>"
Environment="API_TOKEN=<token>"
Environment="REDIRECT_URL=<url>"
Environment="PORT=<port>"
[Install]
WantedBy=multi-user.target

Then start the service:

sudo systemctl enable docs.brut
sudo systemctl start docs.brut

Usage Within Git.Brut.Systems

Those with repositories on git.brut.systems can serve websites by creating a docs/ folder (on the default branch). While any file from the repository can be accessed, files within docs/ are accessible from /. If a file within docs/ conflicts with another file in the repository, the file in docs/ take precedence.