No description
Find a file
2022-12-05 15:45:04 +05:30
.github fix: CI: install node and sass in coverage workflow 2022-11-10 16:30:02 +05:30
config fix: use localhost for dev 2022-12-03 14:52:45 +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 feat: add public ID to deployments 2022-12-03 16:30:33 +05:30
scripts fix: ibn name 2022-08-16 14:06:56 +05:30
src feat: add show and hide icons 2022-12-05 15:45:04 +05:30
static/cache/img/svg feat: add show and hide icons 2022-12-05 15:45:04 +05:30
templates feat: add website from web UI 2022-12-03 16:40:53 +05:30
tests/cases/contains-everything/toml feat: read configuration from repositories 2022-11-12 15:51:34 +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 chore: apply clippy lints 2022-11-15 18:09:34 +05:30
Cargo.lock feat: log site deploy ,update and delete events in db 2022-11-15 20:24:13 +05:30
Cargo.toml feat: log site deploy ,update and delete events in db 2022-11-15 20:24:13 +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 public ID to deployments 2022-12-03 16:30:33 +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\"
    }"