|
|
|
|
@ -1,21 +1,48 @@ |
|
|
|
|
# What is MyJekyllBlog? |
|
|
|
|
|
|
|
|
|
MyJekyllBlog is a project to provide web hosting infrastructure with a content manager for the Jeykll blogging engine. |
|
|
|
|
MyJekyllBlog is a project to provide a SaaS web interface to Jekyll backed with a CMS and web hosting infrastructure. |
|
|
|
|
|
|
|
|
|
## What are the systems? |
|
|
|
|
|
|
|
|
|
### Web Panel |
|
|
|
|
|
|
|
|
|
The web panel allows users of the service to create and manage their Jeykll blogs. |
|
|
|
|
|
|
|
|
|
The following functionality should exist: |
|
|
|
|
|
|
|
|
|
* Wizard to create a new blog |
|
|
|
|
* Editor panel that lists articles |
|
|
|
|
* Editor panel that lists pages |
|
|
|
|
* Editor panel that allows creating a new article |
|
|
|
|
* Editor panel that allows creating a new page |
|
|
|
|
* Editor panel that allows editing an existing article |
|
|
|
|
* Editor panel that allows editing an existing page |
|
|
|
|
* Manager panel that shows last deployment |
|
|
|
|
* Manager panel that allows deploying the blog |
|
|
|
|
* Manager panel that allows adding a custom domain name to the blog |
|
|
|
|
* Manager panel that shows list of commits and which one is deployed |
|
|
|
|
* Manager panel that allows selecting an alternative commit and deploying it |
|
|
|
|
|
|
|
|
|
### Database Server |
|
|
|
|
|
|
|
|
|
The database server holds the database for the `Web Panel` and for the `Build Server`. |
|
|
|
|
|
|
|
|
|
### Gitea Server |
|
|
|
|
|
|
|
|
|
The gitea server will have user mapping between the `Web Panel` and Gitea. Users websites will be held as repos here. |
|
|
|
|
|
|
|
|
|
### Build Server |
|
|
|
|
|
|
|
|
|
The build server will check out the repo, build the static site and deploy it to whichever `Web Server` it should be deployed to. |
|
|
|
|
|
|
|
|
|
### SSL Server |
|
|
|
|
|
|
|
|
|
The SSL server will run certbot. The `/.well-known` directory should be proxied to this server so that HTTP challenges can be used. |
|
|
|
|
|
|
|
|
|
### Web Servers |
|
|
|
|
|
|
|
|
|
Web servers will host static content for Jeykll blogs. |
|
|
|
|
|
|
|
|
|
## How does it work? |
|
|
|
|
|
|
|
|
|
### Create a new account on MyJekyllBlog |
|
|
|
|
|