static site hosting manager designed for CI workflows
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
reese sapphire b0f7c656c4 oops forgot to include example caddy config 1 week ago
caddy oops forgot to include example caddy config 1 week ago
.editorconfig delete old versions of sites after upload 3 weeks ago
.gitignore add archiving logic 4 weeks ago
caddy.go i think it actually works now? 1 week ago
config.go environment-based config 3 weeks ago
docker-compose.yml i think it actually works now? 1 week ago
go.mod i think it actually works now? 1 week ago
go.sum i think it actually works now? 1 week ago
license.md add archiving logic 4 weeks ago
main.go i think it actually works now? 1 week ago
readme.md i think it actually works now? 1 week ago
tar_gz.go environment-based config 3 weeks ago

readme.md

(cling)

static site hosting manager designed for CI workflows (think github pages but self-hosted)

usage

cli options (not fully implemented)

[serve]         start cling server and ensure caddy webserver is running & configured
  -password       secret key for authentication
  -keep           how many old versions to keep (default 0)
  [-caddy SOCK]   path to Caddy socket, without `unix://` (default /caddysocket/caddy.sock)
push            upload website files to the server
  -password       secret key for authentication
  -server URL     cling server address
  -host HOST      website domain name
  [-root PATH]    site files root
help [cmd]      show this help

to-do lists

general

  • configuration
    • environment variables
    • cli flags
  • dockerize it (one image for both flows)

server

  • http route
    • handle file upload
    • basic authentication
  • decompress archive
  • generate folder structure
  • interface with caddy
    • configure routes based on folder structure (hostname and latest version)
    • generate routes for things like error pages
  • delete old versions when done

client

  • basic authentication
  • compress archive
  • make PUT request with file attached

potential future features

  • multiple users