personal-website/content/projects/erisi.md
lauralani 9cb9849d70
All checks were successful
ci/woodpecker/push/deploy-netlify Pipeline was successful
Merge branch 'blog-setup'
2023-09-01 11:22:07 +02:00

1.7 KiB

title description summary publishdate
erisi: A self-hosted static site server Project outline page for erisi. erisi is planned to be a self-hosted alternative to Netlify/Vercel/Github Pages/etc... written in Go and utilizing Caddy and it's ACME capabilities. Project outline page for erisi. erisi is planned to be a self-hosted alternative to Netlify/Vercel/Github Pages/etc... written in Go and utilizing Caddy and it's ACME capabilities. 2023-08-30

Summary

erisi is planned to be a self-hosted alternative to Netlify/Vercel/Github Pages/etc... written in Go and utilising Caddy and its ACME capabilities.

Implementation Ideas

The main service will consist of a Caddy instance (maybe later replaced with its own application logic for subdomain handling, TLS termination, and ACME) that serves as an HTTPS entry point and host for static website data.

The erisi server will serve a registration and configuration page, where you can add new websites (like with netlify) and see what you need to do (in terms of CNAME- and CAA-Records) to enable custom domains. It will then create directories per user and therein per repository/website (think /base-dir/user-guid/project-guid as the path), and communicate the (custom) domain and webroot path to caddy.

There should also be an erisi cli application for deploying websites to the server. Maybe it should compress a given folder, hash it and send it to the server, handling authentication in the process.

Maybe later something like netlify's netlify.toml can be implemented to handle custom headers and redirects/rewrites :3

The whole server stack shall be available via Docker Compose at least

Feedback

Any ideas can be directed to dev@lauka.net =)