

Show HN: I built an open-source web hosting platform for static sites
source link: https://github.com/symkat/MarkdownSite
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

This is the codebase for MarkdownSite, an open-source hosting platform for static sites and markdown files.
What Is MarkdownSite?
MarkdownSite is a platform for hosting websites.
People who want their websites hosted enter a git url for their repository.
MarkdownSite downloads their repo and turns anything in public/
into a static website hosted at a random subdomain.
Anything MarkdownSite finds in site/
that is an .md
file will be rendered as HTML.
Once MarkdownSite downloads and builds the website, it is sent to one or more webservers and accepts traffic from the Internet.
How do I use MarkdownSite?
You can use MarkdownSite to host a website.
You can build your own version of MarkdownSite to host as many websites as you want on your own infrastructure. See the devops/
directory for instructions on getting an instance running.
What are the directories here?
CGI contains the Markdown::CGI program. This renders markdown files to HTML, and is installed on the webservers.
Manager-DB contains the markdownsite database schema, and the code for MarkdownSite::Manager::DB, a DBIx::Class interface to the database.
Manager is MarkdownSite::Manager, a mojolicious-based webapp for submitting the repository and viewing build status. This contains a Minion worker that handles building and deploying the websites.
devops/setup contains an ansible code base to install servers by their server type, and documentation explaining it.
devops/config contains an ansible code base that can be maintained and extended -- it is configuration management for an active MarkdownSite instance.
devops/ contains additional graphs and network diagrams,
Visual View Of MarkdownSite
This is a birds-eye view of a three-node setup, without insight server.
MarkdownSite has an additional server, insight, that does metrics and graphs with Graphite, Grafana, and Collectd.
Thanks For Looking!
Thank you for taking the time to checkout this repository. I hope the information here has been useful.
Recommend
-
109
Are you getting the most out of your static site? If you’re not hosting your site on a CDN, you definitely aren’t. CDNs, or Content Delivery Networks , are commonly used to distribute static...
-
21
Static websites and so-called JAMstack have become pretty popular recently. And with 2020 on the horizon, this trend doesn't seem to be stopping. Why? Why is old-school HTML + CSS + JS trio in its rede...
-
10
Static sites are the best. They are the most secure and fastest of sites. They are perfect for anonymous users, where you would want content editors to have a secure and hidden backend where they can administer the content...
-
13
[ Home ] Recently I moved my static Eleventy site over to a docker container. This was one of the first docker images I have made in a w...
-
14
Preview built static sites on Netlify written by Eric J. Ma on 2021-04-28 | tags:
-
11
Question2Answer (Q2A) is a popular free open source Q&A platform for PHP/MySQL, used by over 22,000 sites in 40 languages. Key...
-
4
Uno Platform Hosting Uno Platform WebAssembly apps on Azure Static Web AppsHosting Uno Platform WebAssembly apps on Azure Static Web Apps...
-
9
Faria Waseer ...
-
3
-
6
🗓️ Calendar demoNovember – December 2023Date
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK