No description
Find a file
2022-11-10 17:34:21 +05:30
.github fix: CI: install node and sass in coverage workflow 2022-11-10 16:30:02 +05:30
config feat: add base_path to settings to specify deploy host name. 2022-11-10 17:19:35 +05:30
contrib feat: link to enough community ansible playbook 2022-04-19 02:33:21 +05:30
docs feat: add bare metal deployment instructions 2022-03-31 16:40:54 +05:30
migrations fix: rm unique constraint on librepages_sites.repo_url 2022-11-10 16:11:56 +05:30
scripts fix: ibn name 2022-08-16 14:06:56 +05:30
src feat: use settings.page.base_domain to generate default deployment hostname 2022-11-10 17:34:21 +05:30
templates feat: link to project homepage in footer 2022-11-09 13:32:21 +05:30
utils/cache-bust feat: setup cache busting of static assets 2022-09-16 17:40:49 +05:30
.dockerignore package docker container 2021-10-29 20:38:56 +05:30
.gitignore feat: setup sass compilation 2022-09-16 17:41:11 +05:30
build.rs generate build metadata 2021-10-29 20:22:44 +05:30
Cargo.lock feat: setup cache busting of static assets 2022-09-16 17:40:49 +05:30
Cargo.toml feat: process static files when building docker img 2022-09-16 18:28:25 +05:30
Dockerfile feat: process static files when building docker img 2022-09-16 18:28:25 +05:30
LICENSE.md init 2021-10-29 20:21:46 +05:30
Makefile feat: cache bust before applying db migrations 2022-09-16 18:28:01 +05:30
package-lock.json feat: setup sass compilation 2022-09-16 17:41:11 +05:30
package.json feat: setup sass compilation 2022-09-16 17:41:11 +05:30
README.md package docker container 2021-10-29 20:38:56 +05:30
sqlx-data.json feat: add DB method to check if hostname exists 2022-11-10 16:19:28 +05:30

Pages

Auto-deploy static websites from git repositories

Build dependency status codecov

Why?

SSHing into a server and performing a git pull is boring. I couldn't find any free(as in freedom) software for automating static website deploys like GitHub Pages or Netlify.

This is very minimal, all it does is a git fetch $branch but it works for me :)

Usage

  1. All configuration is done through ./config/default.toml(can be moved to /etc/static-pages/config.toml). Too add a website, make a similar entry:

    pages = [
    	{ branch = "gh-pages", repo = "https://github.com/realaravinth/realaravinth/", path ="/var/www/pages/realaravinth", secret = "mytopsecretsuperlongpassword123" },
    ]
    
  2. If pages is deployed at pages.example.com and you wish to deploy changes from gh-pages branch, you can do so with the following command:

     curl -v --location --request POST 'https://pages.example.com/api/v1/update' \
    --header 'Content-Type: application/json' \
    --data-raw "{
    	\"secret\": \"$token\",
    	\"branch\": \"gh-pages\"
    }"