master
Kaitlyn Parkhurst 3 years ago
parent 00ff6043e6
commit f60f9fe5c7
  1. 42
      README.md

@ -53,20 +53,44 @@ WebServers run nginx and host static content for Jekyll blogs. When a blog is p
The build servers will sync the blog content with webservers each time the blog is updated through the Panel.
## How does it work?
### Overview
### Deploy a Jekyll blog
This graph shows a view of a user updating a post, and somebody from the Internet viewing a post.
```mermaid
sequenceDiagram
Web Panel->>+Build Server: User update triggers build
Build Server->>+Store Server: Request for updates
Store Server-->>-Build Server: Latest repo updates sent back
Build Server-->+Build Server: Builds static website content with the Jekyll builder
Build Server-->+Web Server: Sync static website content
flowchart TB
subgraph one[Panel Node]
a2[MyJekyllBlog::Web]
a3[Nginx]
a3 -- Hypnotoad PSGI --> a2
end
subgraph two[Build Node]
b1[Clone & Build Website]
b2[MyJekyllBlog Worker]
b2 --> b1
end
subgraph four[Store]
d1[PostgreSQL]
d2[Gitea]
d2 <-- Fetch latest repo --> b1
b2 <-- Get job for sync --> d1
a2 -- Queue blog sync job --> d1
a2 -- Update file in repo --> d2
end
subgraph three[WebServer Node]
c1[nginx]
end
b1 -- rsync to each WebServer Node --> c1
q[Internet User] <-- View Blog Post -->c1
z[MyJekyllBlog User] <-- Submit Post Update -->a3
```
## Installation Guide
This guide will follow my process of installing the software to run on `mds-stage.com` and serve blogs on `mds-stage-blog.com`. If you follow along, you could have your own version up and running in a couple of hours.

Loading…
Cancel
Save