based


Free Hosting

Description

The plan is to make a reliable static website hosting service that is built arround foss and built with no javascript.

Goals

This wants to achive the following goals:

Service Usage

In the begining the service will be invite only ensuring it can scale well with development These will be the rules:

Theres also a need for an admin pannel or scripts to manage user accounts, invite code generation, change of settings.

Users will have a simple online pannel where they can change passwords, check their invite codes and manage their services.

Hosting Plans

The service will offer a free plan and several upgrades. These upgrades will be one-time-purchages for upgrades. These upgrades do not expire and will not be subscriptions.

Software

Website

The main website will be built exclusivly with html and css using html templates, which will generate the website with Go, ensuring faster development.

Account creation will be handled with html forms connected to the backend written in Go.

Containers

Each user will have each own sftp container pointing to their own www directory that nginx will then host.

So basically, upon creating an account, the program running the server will create an sftp container and an nginx entry.

For now, it seems that the user creation process will be as follows:

  1. account creation
  2. container creation
  3. nginx entry
  4. nginx restart
  5. certbot
  6. nginx restart

Database

The database will be made with sqlite3 and data will be encrypted and salted with bcrypt. It will hold usernames, passwords, invite code, remaining invites, account status

payment system

Payments will be handled with stripe, which will ask for email and debit/credit card. Other payment options like monero will be tested and considered.

Closing thoughts

Many of these things will probably change with development for one reason or another, but I think its fine as long as it all works decently well in the end. I will make another blog post when I have a bare minimum working, by then I will make a git repository on git.based.pt.

I don’t have any experience in web development, so this will definitly be a fun project.