Serve Markdown at Lightning Speed with SEMDGO π
Apr 14, 2025
-Shafin Hasnat
As developers, sometimes all we need is a clean, no-fuss way to serve markdown files, whether itβs for documentation, personal blogs, or internal wikis. Thatβs where SEMDGO (pronounced sem-dee-go) comes in.
What is SEMDGO?
SEMDGO
stands for SErve MarkDown with GO
, and it does exactly what the name promises. Itβs a lightweight, high-performance markdown server built with Go, designed to serve markdown content as web pages with minimal configuration.
Forget about bulky frontend frameworks, static site generators, or fiddling with HTML. SEMDGO delivers a simple yet powerful way to publish .md files, cleanly rendered and instantly accessible.
Key features
SEMDGO
is built with simplicity and performance in mind. Whether youβre deploying on a full-fledged server or a tiny single-board computer, it delivers consistent and reliable markdown serving. Here are some of the core features that make SEMDGO
stand out:
- π Content Directory: /var/semdgo/content/
- π Default Entry Point: README.md
- π Port: 80
- βοΈ Architecture: Supports amd64, arm64, and arm/v7
- π³ Deployment: Containerized with Docker
Getting started
Serving markdown file with semdgo is easy. First prepare your markdown site with README.md
entrypoint on root. Then put your content files and folders inside the /var/semdgo/content/
directory of the semdgo container and run it. Below given Dockerfile
and docker-compse
example to use semdgo-
SEMDGO with docker
First craete your contents with README.md
on root-
content/
βββ README.md
βββ blog/
β βββ blog1.md
β βββ img.png
βββ docs/
βββ guide.md
Then use the Dockerfile
to build your content site image-
FROM shafinhasnat/semdgo
COPY ./content/ /var/semdgo/content/
CMD ["./semdgo"]
Then simply build and run it.
Alternatively you can use the following docker-compose-
services:
semdgo:
image: shafinhasnat/semdgo
container_name: semdgo
ports:
- "80:80"
volumes:
- ./content/:/var/semdgo/content/
Why Semdgo
The charm of SEMDGO
lies in its simplicity. Itβs perfect for:
- Developers who want a no-nonsense markdown server.
- Teams looking to serve internal documentation quickly.
- Makers deploying content on edge devices like Raspberry Pis.
- Whether youβre running on x86 servers or ARM boards, SEMDGOβs got your back β with performance, clarity, and zero bloat.
Source code β github