diff --git a/README.md b/README.md index 9e62bc9..0fee1af 100644 --- a/README.md +++ b/README.md @@ -55,16 +55,6 @@ The build servers will sync the blog content with webservers each time the blog ## How does it work? -### Create a new account on MyJekyllBlog - -```mermaid -sequenceDiagram - User ->>+Web Panel: Register with name, email, password - Web Panel->>+Database: Create user account for panel - Web Panel->>+Gitea Minion: Create Gitea User - Web Panel->>-User: Log the user into their account -``` - ### Deploy a Jekyll blog ```mermaid @@ -76,10 +66,53 @@ sequenceDiagram Build Server-->+Web Server: Deploy website ``` -### Create a new post a Jekyll blog ## 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`. + +I need at least one of each server type. I will, however, use two WebServers and have one on the west coast and another on the east coast. I will need six servers, and I will name them `panel`, `store`, `build`, `certbot`, `web-west`, `west-east`. + +I want the database server running on `store` not to be exposed to the Internet at large, and I will use the private networking feature of my VPS provider to get private IPs for `panel`, `store`, `build`, and `certbot`. This means I also need to have all of those machines running in the same datacenter. + +| Machine | Public IP | Private IP | Domain | +| -------- | --------------- | --------------- | ------------------------- | +| panel | | | panel.mjb-stage.com | +| build | | | build.mjb-stage.com | +| store | | | store.mjb-stage.com | +| certbot | | | certbot.mjb-stage.com | +| web-west | | N/A | web-west.mjb-stage.com | +| web-east | | N/A | web-east.mjb-stage.com | + +Once I have these machines provisioned I lay out the information about them in the table above. I will need this information to begin writing the configuration file. + +For each of these machines, I update DNS records so that the domain maps to the public IP address for each machine. + +Additionally, I add two DNS records for `*.mds-stage-blog.com`, one A record with `` and another A record with ``. This maps all sub-domains of `mds-stage-blog.com` to the web servers so that they may serve the blogs to people on the Internet. + +Before proceeding from this section, review the section checklist to ensure you have completed all item. + +| Section Checklist Items | +| --------------------------------------------------- | +| Provision machine for panel, build, store, certbot | +| Provision one or more machines for webservers | +| Create table with your machine information | +| Add DNS records for each machine | +| Add wildcard DNS record for each WebServer | + + + + + + + + + + + + + + ### Step 1: Machine Selection First, I should layout the servers. At least one panel, build, store and certbot server will be needed to run the platform. One or more webservers will be needed to serve blogs.