210 lines
7.4 KiB
HTML
210 lines
7.4 KiB
HTML
|
<!DOCTYPE html>
|
|||
|
<html lang="en">
|
|||
|
|
|||
|
<head>
|
|||
|
<title>Nemini | Paul's Site of Stuff</title>
|
|||
|
|
|||
|
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
|||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1">
|
|||
|
<meta name="robots" content="noodp"/>
|
|||
|
|
|||
|
<link rel="stylesheet" href="https://paulwilde.uk/style.css">
|
|||
|
<link rel="stylesheet" href="https://paulwilde.uk/color/orange.css">
|
|||
|
|
|||
|
<link rel="stylesheet" href="https://paulwilde.uk/color/background_blue.css">
|
|||
|
|
|||
|
<link rel="stylesheet" href="https://paulwilde.uk/font-hack-subset.css">
|
|||
|
|
|||
|
<meta name="description" content="A simple Gemini server with virtual host and alias support">
|
|||
|
|
|||
|
<meta property="og:description" content="A simple Gemini server with virtual host and alias support">
|
|||
|
<meta property="og:title" content="Nemini | Paul's Site of Stuff">
|
|||
|
<meta property="og:type" content="article">
|
|||
|
<meta property="og:url" content="https://paulwilde.uk/ponderings/nemini/">
|
|||
|
|
|||
|
<meta name="twitter:card" content="summary_large_image">
|
|||
|
<meta name="twitter:description" content="A simple Gemini server with virtual host and alias support">
|
|||
|
<meta name="twitter:title" content="Nemini | Paul's Site of Stuff">
|
|||
|
<meta property="twitter:domain" content="paulwilde.uk">
|
|||
|
<meta property="twitter:url" content="https://paulwilde.uk/ponderings/nemini/">
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<link rel="alternate" type="application/atom+xml" title="RSS" href="https://paulwilde.uk/atom.xml">
|
|||
|
|
|||
|
|
|||
|
<link rel="shortcut icon" type="image/png" href="/favicon.png">
|
|||
|
|
|||
|
<script defer data-domain="paulwilde.uk" src="https://plausible.io/js/script.js"></script>
|
|||
|
|
|||
|
</head>
|
|||
|
<body class="">
|
|||
|
<div class="container">
|
|||
|
|
|||
|
<header class="header">
|
|||
|
<div class="header__inner">
|
|||
|
<div class="header__logo">
|
|||
|
|
|||
|
<a href="https://paulwilde.uk" style="text-decoration: none;">
|
|||
|
<div class="logo">
|
|||
|
|
|||
|
Hello, I'm Paul
|
|||
|
|
|||
|
</div>
|
|||
|
</a>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
|
|||
|
|
|||
|
<nav class="menu">
|
|||
|
<ul class="menu__inner">
|
|||
|
<li><a href="/">home</a></li>
|
|||
|
|
|||
|
<li><a href="/aboutme">about me</a></li>
|
|||
|
|
|||
|
<li><a href="/ponderings">ponderings</a></li>
|
|||
|
|
|||
|
<li><a href="/iuse">i use …</a></li>
|
|||
|
|
|||
|
<li><a href="/tags">tags</a></li>
|
|||
|
|
|||
|
<li><a href="/atom.xml">rss</a></li>
|
|||
|
</ul>
|
|||
|
</nav>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</header>
|
|||
|
|
|||
|
|
|||
|
<div class="post">
|
|||
|
|
|||
|
<h1 class="post-title"><a href="https://paulwilde.uk/ponderings/nemini/">Nemini</a></h1>
|
|||
|
<div class="post-meta-inline">
|
|||
|
|
|||
|
<span class="post-date">
|
|||
|
2023-02-20
|
|||
|
</span>
|
|||
|
|
|||
|
</div>
|
|||
|
|
|||
|
|
|||
|
<span class="post-tags-inline">
|
|||
|
:: tags:
|
|||
|
<a class="post-tag" href="https://paulwilde.uk/tags/development/">#development</a>
|
|||
|
<a class="post-tag" href="https://paulwilde.uk/tags/gemini/">#gemini</a>
|
|||
|
<a class="post-tag" href="https://paulwilde.uk/tags/nim/">#nim</a></span>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<div class="sourcecode">
|
|||
|
<a href="https://codeberg.org/pswilde/nemini" target="_blank">source code</a>
|
|||
|
</div>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<div class="post-content">
|
|||
|
<p>'/nɛmɪnaɪ/' Nem-in-eye</p>
|
|||
|
<h3 id="a-simple-gemini-server">A simple Gemini server</h3>
|
|||
|
<p>Nemini is a simple Gemini server with static file serving, virtual host and alias support.
|
|||
|
"Simple" in the way it is, hopefully, simple to configure and use with minimal knowledge of web servers in general.</p>
|
|||
|
<span id="continue-reading"></span>
|
|||
|
<p>You probably need to be familiar with TOML configuration files, but other than that the server should run fairly easily.</p>
|
|||
|
<p>See this page on Nemini : <a href="gemini://paulwilde.uk/dev/nemini">gemini://paulwilde.uk/dev/nemini</a></p>
|
|||
|
<p>The <a href="https://paulwilde.uk/ponderings/nemini/%22https://codeberg.org/pswilde/nemini%22">source code</a> is hosted at Codeberg.</p>
|
|||
|
<h3 id="features">Features</h3>
|
|||
|
<ul>
|
|||
|
<li>Will serve static files</li>
|
|||
|
<li>Virtual host and alias capability</li>
|
|||
|
<li>Headers and Footers can be applied to each page</li>
|
|||
|
</ul>
|
|||
|
<h3 id="how-to-run">How to run</h3>
|
|||
|
<ul>
|
|||
|
<li>Copy the <code>config/nemini.sample.toml</code> file to <code>/etc/nemini/nemini.toml</code> nd edit to your liking</li>
|
|||
|
<li>Certificates are <em>required</em> so make sure you have those set. They will be automatically created via openssl if they don't exist.</li>
|
|||
|
<li>Host your files in your <code>root_dir</code> director/y|ies/</li>
|
|||
|
<li>Run the <code>nemini</code> binary</li>
|
|||
|
</ul>
|
|||
|
<h3 id="parameters">Parameters</h3>
|
|||
|
<p>Passing the <code>--config</code> parameter with a file location will allow the use of a custom config file saved wherever you wish.</p>
|
|||
|
<h3 id="build-from-source">Build from source</h3>
|
|||
|
<p>Install nim and nimble and run the following command:</p>
|
|||
|
<blockquote>
|
|||
|
<p>nimble build</p>
|
|||
|
</blockquote>
|
|||
|
<p>All nim dependencies will be installed.</p>
|
|||
|
<h3 id="links">Links</h3>
|
|||
|
<p><a href="https://codeberg.org/pswilde/nemini">Source Code</a><br />
|
|||
|
<a href="https://toml.io">TOML Config file reference</a></p>
|
|||
|
|
|||
|
</div>
|
|||
|
|
|||
|
|
|||
|
<div class="pagination">
|
|||
|
<div class="pagination__title">
|
|||
|
<span class="pagination__title-h">Thanks for reading! Read other posts?</span>
|
|||
|
<hr />
|
|||
|
</div>
|
|||
|
<div class="pagination__buttons">
|
|||
|
<span class="button previous">
|
|||
|
<a href="https://paulwilde.uk/ponderings/freshgpt/">
|
|||
|
<span class="button__icon">←</span>
|
|||
|
<span class="button__text">AI Search</span>
|
|||
|
</a>
|
|||
|
</span>
|
|||
|
|
|||
|
|
|||
|
<span class="button next">
|
|||
|
<a href="https://paulwilde.uk/ponderings/geminicss/">
|
|||
|
<span class="button__text">Gemini.css</span>
|
|||
|
<span class="button__icon">→</span>
|
|||
|
</a>
|
|||
|
</span>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
|
|||
|
</div>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<footer class="footer">
|
|||
|
<div class="footer__inner">
|
|||
|
|
|||
|
<a href="https://notnull.space/@paul" rel="me">fediverse (gts)</a>
|
|||
|
|
|||
|
<a href="https://snac.notnull.space/paul" rel="me">fediverse (snac)</a>
|
|||
|
|
|||
|
<a href="https://codeberg.org/pswilde" rel="me">codeberg</a>
|
|||
|
|
|||
|
<a href="https://keyoxide.org/85633E30514CC1932E4268460ED12CF710BC42CA" rel="me">keyoxide</a>
|
|||
|
|
|||
|
</div>
|
|||
|
<div class="footer__inner">
|
|||
|
<div class="copyright">
|
|||
|
<span>©
|
|||
|
2024
|
|||
|
Paul Wilde</span>
|
|||
|
<span class="copyright-theme">
|
|||
|
<span class="copyright-theme-sep">:: </span>
|
|||
|
Theme: <a href="https://github.com/pawroman/zola-theme-terminimal/">Terminimal</a>
|
|||
|
</span>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</footer>
|
|||
|
|
|||
|
</div>
|
|||
|
</body>
|
|||
|
|
|||
|
</html>
|