Bonum Certa Men Certa

How to Set Up a Gemini Server of Your Own, Even on a Simple Single-Board Computer

Gemini Turntable



Summary: Using Agate to start one's own Gemini capsule (self-hosted) is a lot simpler than one might be inclined to believe; this is a detailed HOWTO, hoping to encourage more people to join Gemini space, which is fast-growing and free of garbage

THE one thing that stunned me was how easy it was to set up a Gemini server. A lot simpler than setting up a Web server. The harder part is certificates, but that too is trivial once it's done a couple of times, potentially with errors at first.



Here's a quick recipe for setting up one's own instance and Gemini capsule.

First, create a new user's account. Gemini ought to have its own account, as it'll make things a lot simpler (backup, permissions etc.) and for the sake of this example we'll assume the user account is "gemini" (with home directory /home/gemini)

Then, in the user's top-level (home) directory:

mkdir gemini bin certs

This will set up directories for the capsule, the programs, and the certificates, respectively.

There's not so much left to do now.

Go to the directory gemini (e.g. cd ~/gemini/ or equivalent using a graphical file browser)

In that directory, create or place a file called index.gmi

It can be empty or contain something simple like Hello world! (just to make sure that the server is set up and works)

Now let's get the server software. Go to the bin directory (e.g. cd ~/bin/). For most practical purposes agate (Apache Licence) seems to be OK and it supports quite a few architectures. Unfortunately it's hosted on GitHub (Microsoft), with latest versions shown at the top of this page. If you are not sure what architecture to choose, run uname -a

The correct binary can be downloaded using a Web browser or a tool like wget/curl. That program is quite small and needs to be placed in bin in order to stay consistent with this manual.

Unpack and set 'executable' (x) permission for the file, e.g. using

gunzip [binary_file]
chmod +x [binary_file]


Depending on the name of the binary file in question.

For my ARM SBC it is gunzip agate.armv7-unknown-linux-gnueabihf.gz and chmod +x agate.armv7-unknown-linux-gnueabihf

All the pieces are now in place except the certificate and the service setup.

On a systemd-based operating system create a new file at /etc/systemd/system/agate.service

It should look something like this:

[Unit]
Description=agate
After=network.target



[Service] User=gemini Type=simple ExecStart=[your settings]

[Install] WantedBy=default.target


Wherein [your settings] ties together the program, the root directory for hosting (capsule), and the certificate.

In the case of Techrights on ARM, it's something as follows:

/home/gemini/bin/agate.armv7-unknown-linux-gnueabihf -s --content /home/gemini/gemini/ --key /home/gemini/certs/key.pem --cert /home/gemini/certs/cert.pem --hostname your hostname --lang en-GB

In our case, your hostname is gemini.techrights.org (how you set up your hostname may depend on how you manage domains and where). That hostname needs to point to your device's IP address.

All that's left now is certificate setup and service initiation.

Go to the certificates directory (e.g. cd ~/certs/) as this will likely involve the command line (unless you have some graphical tools that do the same).

A simple self-signed certificate ought to be sufficient:

openssl req -new -subj "/CN=your hostname" -x509 -newkey ec -pkeyopt ec_paramgen_curve:prime256v1 -days 365 -nodes -out cert.pem -keyout key.pem

That's for 1 year. It can be set to anything.

The command then leaves the two files required by the service/server, namely cert.pem and key.pem. These can be modified and regenerated at any time, so there's no need to worry if at any point they're wrongly generated or made for the 'wrong' domain.

To get it all started, assuming systemd:

sudo systemctl restart agate
sudo systemctl enable agate


Use a Gemini browser (or Web proxy) to then test access to the hostname over gemini:// (it will attempt to connect over port 1965, so make sure there's no firewall standing in the way at the level of the device or the network it is in). This is pretty much it, with the exception of variation for non-systemd systems. All that systemd does is, it starts the server using the suitable command and arguments, even after restarts. That command can instead be run manually, or set up for any init system of choice. The hardest part is setting up the domain, generating the key/certificate correctly, and then lowering the filters (if any) to allow access over port 1965.

We don't typically do HOWTO-type articles, but for this one we make an exception. If you get stuck, ask us in IRC for help. Gemini needs to grow and for faster growth we need to help one another.

Agate is quite small and simple. As of the time of writing, it does not support server-side CGI scripts (for something like in-capsule search), but Gemini ought to be kept light and simple anyway; we're not trying to just replicate the bloated Web.

Credit: Chris Were, for some initial notes and suggestions. gemini://chriswere.uk/

Recent Techrights' Posts

Quitting Reddit (Social Control Media Controlled by Conde Nast)
There is a new post in Reddit
Links 24/02/2026: Telephone Turns 150, Political News Catchup, and Rearmament
Links for the day
Probably IBM's Worst Day in Wall Street in Well Over a Decade
They try to blame some Anthropic slop, but that's just a distraction from IBM having nothing to offer
Security and blobs, by Alex Oliva (GNU Linux-Libre)
Reprinted with permission from Alex Oliva
Techrights Thanks Every Single EPO Worker Who Went on Strike Today
We have so much in common
EPO Staff Union: The Strike Actions and Other Industrial Actions "Have Already Delivered Measurable Gains."
SUEPO Munich has just issued a statement to staff
 
EPO "Cocaine Communication Manager" - Part IV - "Many Jobs Were Given to Spanish Employees for No Related Skills At All"
The EPO's fate might be similar to that of the XBox
Gemini Links 24/02/2026: Hardware Tinkering and Slop Bots Attacking the "Small Web"
Links for the day
IBM is the World Champion at Layoffs and There Are Reportedly More Layoffs in IBM This Month (EU)
IBM fired 60,000 in 1993
Free Software is for Everyone
Young and old, rich and poor etc.
Gemini Links 24/02/2026: Voltage Divider on Slide Rule and Many Raspberry Pi Projects
Links for the day
Asha Sharma "a Palliative Care Doctor Who Slides Xbox Gently Into the Night"
2026 will probably be the last year of XBox
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Monday, February 23, 2026
IRC logs for Monday, February 23, 2026
The Monday After the 9PM-on-Friday Prepared Puff Pieces-Under-Embargo Microsoft Strategy for XBox Collapse
There are more layoffs ahead at Microsoft's XBox
Kyndryl Also in a Freefall Today, James Kavanaugh's Accounting Skills Seem to be Based on Pumping and Dumping
What is the real value of Kyndryl when its debt is about twice its alleged "worth"?
Not Much Left to "Pump" in This Slop Bubble
let's hope that by the end of the year the whole bubble fully implodes
IBM Common Stock Crashes Hard (Almost $100 Below the Levels of February's Beginning)
Another Kyndryl?
Links 23/02/2026: Withdrawal From Slop and Ukraine Invasion Enters Fifth Year
Links for the day
Gemini Links 23/02/2026: Moving to Gentoo, Wake-on-LAN Script
Links for the day
Kyndryl Fell by About 50% in One Day, IBM Fell 23% in 20 Days
the IBM Titanic
Trusting the Evil Maids
Don't listen to liars and frauds
Aaron Swartz Has Already Explained What Reddit/Conde Nast Meant to Him and Why We Should All Avoid Reddit If We Value Software Freedom
Aaron Swartz did not start Reddit
Valnet's Good Legacy of GNU/Linux Advocacy in Journalism Form
Let's hope they carry on like this
Coders and Thinkers
I used to be a hyper-productive coder; these days I do more thinking and writing
Slop (So-called 'genAI') is Not a Skill, Slop Gets You Suspended or Even Sacked, It Can Eventually End Your Career
Benj Edwards, a so-called 'Senior' so-called 'AI' so-called 'Reporter'
There is No Such Thing as "AI Skills", "AI Competency", "AI Fluency" Etc.
Slop does not give anybody an advantage
Links 23/02/2026: "What Boston Will Cost Me" and Women as Hostages
Links for the day
IRC Usage Levels Seem to be Rebounding This Year
it looks like the total count (tally) of users increased a lot lately
Microsoft Tricked the Media Into Lying About Microsoft Layoffs in January. Now It Does the Same (in February).
Microsoft has got the media by the wallet (or balls)
Free Software Projects Become Slow Due to Slop
It does not improve efficiency or productivity, it reduces both
EPO Strike Has Begun (or Resumed)
The EPO status quo is untenable
Links 23/02/2026: US Surrenders to Climate Change (to Benefit Oil Companies and Slop), UK Court of Appeal to Hear Mazur
Links for the day
GAFAM Jobs No Longer Lucrative
Those days are long gone
Based on Insider Leaks, Asha Sharma's Job is to Kill XBox While Talking About "AI"
They cite SneakerSO
Germans Recognise the Contagion is Digital, Not Racial
How to dismantle or neutralise those weapons? Turn them off
Free Software (or Software Freedom) Ain't No Religion
It's hardly surprising that some of the loudest opponents of Software Freedom and its luminaries also disregard or bend facts
Dr. Andy Farnell Explains Why the Slop Industry is Like Trespassers and Thieves
interesting new article about robots.txt files
The Demise of the Solicitors Regulation Authority (SRA) and Profession Based Around Bullying With SLAPPs and Empty Threats
For press to survive and thrive in the UK we need the hired gun to be submerged
Linux Kernel 7.0 Release Candidate Comes Out, Stallman Turns 73 in Three Weeks
It predates Microsoft and Apple
In Greenland, Firefox's Gecko and KHTML (KDE, But Bastardised by Apple) Bigger Than Chrome
Are those Danes recognising the risk of monoculture?
Gemini Links 23/02/2026: Imperfect Journal, Evil, and "Progress Goes Boing!"
Links for the day
“Power is a Thing of Perception. They Don't Need to be Able to Kill You. They Just Need You to Think They are Able to Kill You” ― Julian Assange
When leadership becomes corrupt enough to lose a sense of authority its days are numbered; it'll be replaced
IBM Has Already Admitted 2026 Mass Layoffs (in 4Q Earnings Call)
We showed this earlier this month, but some people bring that up again
Reasons to Go on Strike in the European Patent Office (EPO)
If you live in Europe and don't work for the EPO, you can still help
First speech of Chanellor Hitler, Andreas Tille & Debian denounce Branden Robinson
Reprinted with permission from Daniel Pocock
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Sunday, February 22, 2026
IRC logs for Sunday, February 22, 2026
IBM Layoffs Definitely Still Happening
Contrary to what some apologists try to say
More and More Projects Quit Microsoft GitHub This Year, XBox Will See the Same
Microsoft GitHub's embrace of slop as "strategic" gives us a clue of what'll happen to XBox very soon
Google "Intelligence": Despite Slam-Dunk or "Smoking Gun" Proof, Drug Abuse in EPO Leadership is "Unverified Allegations"
Google's slop (so-called 'AI') lacks intelligence
8,000 Pages/Articles Per Year
We're eager to maintain a good production/publication pace and illuminate the sinister attempts to interfere with Freedom of the Press in the UK
Don't Use the Future Tense to Discuss the Slop Bubble
Wall Street does not react to reality; it reacts to panic, which is related to expectations
Gemini Links 22/02/2026: Okonomiyaki and Midcrunch Crisis
Links for the day
The Broken Window Industry and Its Ongoing Desires to Make Technology Less Dependable
Reliable computing is becoming harder to find
Freedom Means Accepting He or She Who is Different
In the Debian community we're sadly seeing some authoritarian overreach this month
New XBox CEO Typecast in Social Control Media
Microsoft apologists will fall back on (or shuffle between) the "racist" and "sexist" angle
Sites Without JavaScript Deserve Your Visits
We're not arguing that the Web should be as simple or barebones like Gemini Protocol/GemText
EPO Strikes Are Already Working
Campinos is already going "into hiding"
Microsoft Windows Falls to Another New All-Time Low in Guatemala, It is a Bottomless Pit
Maybe users come to realise that Windows means back doors and those doors are open to a regime that ought not be trusted
"XBox" Will Become Slop After Mass Layoffs
When all else fails, "AI it"
Links 22/02/2026: Hardware Price Hikes Across the Board, "Microsoft Issues Statement on Potential Layoffs"
Links for the day
Microsoft "Layoffs Incoming"
This transition isn't about promoting games; it's about canning the console
Links 22/02/2026: "Bloat of Modern Fitness Apps" and Wikipedia Deprecates Archive.today
Links for the day
Our IRC 5-Year Anniversary (for Self-Hosted) is Fast Approaching
A week from now it's March already
Gemini Links 22/02/2026: Dream Job Gone and Slop in Taskwarrior
Links for the day
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Saturday, February 21, 2026
IRC logs for Saturday, February 21, 2026