#Static site hosting for hidden services and the clearnet
Hosting a tor hidden service is not terribly challenging. Given a
running web server it can be done programatically as well using
Stem.
I suspect then that the most challenging parts of a project like this
will be:
- Clearnet websites will need to be served over HTTPS. This will
require that we automatically configure SSL certs for all of the
webpages that we serve.
- There will be a bunch of configuration nonsense that will need to
happen automatically. As we saw with rsyslog with the discord
notifier that is not always the easiest process.
I would like to break the process of creating this up into phases
which I will outline in this document.
#Phase 1.
Goal: Noah and my websites should be hosted on the service.
Requirements:
- Point system towards git repo and clone / place it in filesystem.
- name.negativefour.com points towards hosted website.
- A .union address is created.
#Phase 2.
Goal: Noah and my websites can be configured via a web interface.
Requirements:
- negativefour.com has a website on it.
- Accounts can be created and logged into.
- Users can point to a git repo and it will be deployed.
- Users can specify what branch to use for deploys.
- Users can trigger manual deploys.
#Phase 3.
Goal: Automatic deploys on commits.
Requirements:
- GitHub and Sourcehut projects deploy automatically on commits to the
main / master branch.
- This deployment is configured automatically via some oauth2 system.
#Phase 4.
Goal: Custom domains, SSL, and Union Location.
Requirements:
- Users can use their own domains.
- All webpages are served over https.
- Union Location is enabled.
#Phase 5.
Goal: Scalability. This will be hard and awesome.
- Webpages can be hosted across multiple machines in multiple
locations.
#Phase 6.
Goal: Public beta.
- File size limits are enforced.
- Users can make $2 a month payments for service.
#Phase 7
Goal: Public release.
- Payment becomes non-optional