<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Agate - A simple gemini server]]></title><description><![CDATA[<hr />
<ul>
<li><strong>Title</strong>: Agate on Cloudron - A simple <a href="https://geminiprotocol.net" target="_blank" rel="noopener noreferrer nofollow ugc">gemini</a> server</li>
</ul>
<hr />
<ul>
<li><strong>Main Page</strong>: <a href="https://github.com/mbrubeck/agate" target="_blank" rel="noopener noreferrer nofollow ugc">https://github.com/mbrubeck/agate</a></li>
<li><strong>Git</strong>: <a href="https://code.malenfant.net/didier/agate-app" target="_blank" rel="noopener noreferrer nofollow ugc">https://code.malenfant.net/didier/agate-app</a></li>
<li><strong>Licence</strong>: MIT</li>
<li><strong>Docker</strong>: didiermalenfant/net.malenfant.agate:20250709-011124-02250deeb</li>
<li><strong>Demo</strong>: <a href="https://gemini.malenfant.net" target="_blank" rel="noopener noreferrer nofollow ugc">https://gemini.malenfant.net</a></li>
</ul>
<hr />
<ul>
<li><strong>Summary</strong>: Allows users to install a gemini server on cloudron in one-click.</li>
</ul>
<hr />
<ul>
<li><strong>Notes</strong>: I use Gemini for some different kind of content than I do on my regular blog. The crowd reading gemini 'capsules' (as they are known) is also very different from the main 'big' web. Kinda like Mastodon vs Twitter.<br />
This is my first cloudron app. I welcome all comments and help with fixes for things I got wrong.</li>
</ul>
<hr />
]]></description><link>https://forum.cloudron.io/topic/14046/agate-a-simple-gemini-server</link><generator>RSS for Node</generator><lastBuildDate>Mon, 09 Mar 2026 02:30:37 GMT</lastBuildDate><atom:link href="https://forum.cloudron.io/topic/14046.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 09 Jul 2025 01:18:24 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Agate - A simple gemini server on Thu, 17 Jul 2025 15:40:24 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/loudlemur" aria-label="Profile: LoudLemur">@<bdi>LoudLemur</bdi></a> about the broken link<br />
I have fixed it in the sample file, and you can fix in &lt;1. minute in your deployed application, if it's still running.</p>
<ul>
<li>go to File Manager</li>
<li>open content folder</li>
<li>open index.gmi</li>
<li>scroll down to the links section</li>
<li>remove the "$0" after the '.gmi' on the last 2 links</li>
</ul>
<p dir="auto">No idea how they got there, copy paste error by me probably.</p>
<p dir="auto">Just to get you up and running with testing</p>
]]></description><link>https://forum.cloudron.io/post/110384</link><guid isPermaLink="true">https://forum.cloudron.io/post/110384</guid><dc:creator><![CDATA[timconsidine]]></dc:creator><pubDate>Thu, 17 Jul 2025 15:40:24 GMT</pubDate></item><item><title><![CDATA[Reply to Agate - A simple gemini server on Thu, 17 Jul 2025 15:02:51 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/loudlemur" aria-label="Profile: LoudLemur">@<bdi>LoudLemur</bdi></a> thanks for reporting<br />
it seems the url is wrongly launched<br />
I need to investigate<br />
it has trailing characters<br />
delete after <code>.gmi</code>, and their site is up<br />
will look at the link</p>
]]></description><link>https://forum.cloudron.io/post/110383</link><guid isPermaLink="true">https://forum.cloudron.io/post/110383</guid><dc:creator><![CDATA[timconsidine]]></dc:creator><pubDate>Thu, 17 Jul 2025 15:02:51 GMT</pubDate></item><item><title><![CDATA[Reply to Agate - A simple gemini server on Thu, 17 Jul 2025 08:22:07 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/timconsidine" aria-label="Profile: timconsidine">@<bdi>timconsidine</bdi></a> said in <a href="/post/110279">Agate - A simple gemini server</a>:</p>
<blockquote>
<p dir="auto"><a href="http://gem.appx.uk" target="_blank" rel="noopener noreferrer nofollow ugc">gem.appx.uk</a></p>
</blockquote>
<p dir="auto">Elegantly done, <a class="plugin-mentions-user plugin-mentions-a" href="/user/timconsidine" aria-label="Profile: timconsidine">@<bdi>timconsidine</bdi></a> !</p>
<p dir="auto">I think there is a problem in the lovely demo page your provided. If you visit the links section in a gemini browser, the "Gemtext Summary" and "Cheatsheet summary" links don't work properly. Perhaps it is because Flounder is offline:<br />
<a href="https://gemini.flounder.online/" target="_blank" rel="noopener noreferrer nofollow ugc">https://gemini.flounder.online/</a></p>
]]></description><link>https://forum.cloudron.io/post/110366</link><guid isPermaLink="true">https://forum.cloudron.io/post/110366</guid><dc:creator><![CDATA[LoudLemur]]></dc:creator><pubDate>Thu, 17 Jul 2025 08:22:07 GMT</pubDate></item><item><title><![CDATA[Reply to Agate - A simple gemini server on Wed, 16 Jul 2025 23:34:16 GMT]]></title><description><![CDATA[<p dir="auto">Nice one!</p>
]]></description><link>https://forum.cloudron.io/post/110341</link><guid isPermaLink="true">https://forum.cloudron.io/post/110341</guid><dc:creator><![CDATA[DidierMalenfant]]></dc:creator><pubDate>Wed, 16 Jul 2025 23:34:16 GMT</pubDate></item><item><title><![CDATA[Reply to Agate - A simple gemini server on Wed, 16 Jul 2025 09:48:29 GMT]]></title><description><![CDATA[<p dir="auto">I did it :</p>
<p dir="auto"><a href="https://forum.cloudron.io/topic/14082/agate-dual-protocol-gemini-http-browser">https://forum.cloudron.io/topic/14082/agate-dual-protocol-gemini-http-browser</a></p>
<ul>
<li>dual protocol,</li>
<li>single app,</li>
<li>single domain,</li>
<li>single content source,</li>
<li>both worlds served</li>
</ul>
<p dir="auto">Temporary demo site : <code>gem.appx.uk</code><br />
no protocol specified because traditional browser will supply <code>https://</code> and Gemini browser will supply <code>gemini://</code></p>
]]></description><link>https://forum.cloudron.io/post/110279</link><guid isPermaLink="true">https://forum.cloudron.io/post/110279</guid><dc:creator><![CDATA[timconsidine]]></dc:creator><pubDate>Wed, 16 Jul 2025 09:48:29 GMT</pubDate></item><item><title><![CDATA[Reply to Agate - A simple gemini server on Wed, 16 Jul 2025 00:21:56 GMT]]></title><description><![CDATA[<p dir="auto">The split world of http vs gemini protocol has been bugging me.<br />
It's stupid and unacceptable.</p>
<p dir="auto">So, inspired by <a class="plugin-mentions-user plugin-mentions-a" href="/user/didiermalenfant" aria-label="Profile: DidierMalenfant">@<bdi>DidierMalenfant</bdi></a> work on packaging Agate, I have also done a package, with the extra feature that it serves gemini <code>.gmi</code> files   as both native gemini protocol, and as a basic http rendered view.</p>
<p dir="auto">So it doesn't matter whether you use a regular browser or a gemini protocol browser, you still see the site.<br />
<strong>No browser plugins needed, no need of external proxy site.</strong></p>
<p dir="auto">Need to do some testing of more gemtext features, images, links etc.<br />
Then I will package it up on <a href="http://git.cloudron.io" target="_blank" rel="noopener noreferrer nofollow ugc">git.cloudron.io</a></p>
<p dir="auto">Wasted a lot of time attempting to package <code>twins</code> which is supposed to serve Gemini and http, but I couldn't get it to work.<br />
So I re-invented the wheel - stupid to do so, but at least it is working.</p>
]]></description><link>https://forum.cloudron.io/post/110258</link><guid isPermaLink="true">https://forum.cloudron.io/post/110258</guid><dc:creator><![CDATA[timconsidine]]></dc:creator><pubDate>Wed, 16 Jul 2025 00:21:56 GMT</pubDate></item><item><title><![CDATA[Reply to Agate - A simple gemini server on Tue, 15 Jul 2025 13:54:20 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/timconsidine" aria-label="Profile: timconsidine">@<bdi>timconsidine</bdi></a> Well, it is good fun to see from which country you have a visitor, and maybe if you make it to double or even triple figure readership. If you are less confident in your skills, it helps you feel that you have the site up and running, too!</p>
]]></description><link>https://forum.cloudron.io/post/110213</link><guid isPermaLink="true">https://forum.cloudron.io/post/110213</guid><dc:creator><![CDATA[LoudLemur]]></dc:creator><pubDate>Tue, 15 Jul 2025 13:54:20 GMT</pubDate></item><item><title><![CDATA[Reply to Agate - A simple gemini server on Tue, 15 Jul 2025 13:50:26 GMT]]></title><description><![CDATA[<p dir="auto">I fail to see the point of analytics on anything except larger sites.<br />
If you want to publish, publish and be damned, and who cares who sees it or not.<br />
Rest is ego.</p>
]]></description><link>https://forum.cloudron.io/post/110212</link><guid isPermaLink="true">https://forum.cloudron.io/post/110212</guid><dc:creator><![CDATA[timconsidine]]></dc:creator><pubDate>Tue, 15 Jul 2025 13:50:26 GMT</pubDate></item><item><title><![CDATA[Reply to Agate - A simple gemini server on Tue, 15 Jul 2025 09:55:47 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/didiermalenfant" aria-label="Profile: DidierMalenfant">@<bdi>DidierMalenfant</bdi></a> if you are setting up some go files, how about goaccess for beautiful analytics, too?<br />
<a href="https://goaccess.io/" target="_blank" rel="noopener noreferrer nofollow ugc">https://goaccess.io/</a></p>
]]></description><link>https://forum.cloudron.io/post/110200</link><guid isPermaLink="true">https://forum.cloudron.io/post/110200</guid><dc:creator><![CDATA[LoudLemur]]></dc:creator><pubDate>Tue, 15 Jul 2025 09:55:47 GMT</pubDate></item><item><title><![CDATA[Reply to Agate - A simple gemini server on Mon, 14 Jul 2025 18:35:08 GMT]]></title><description><![CDATA[<p dir="auto">I think as an option it's a really good idea. I'll look into it if I get a chance.</p>
]]></description><link>https://forum.cloudron.io/post/110180</link><guid isPermaLink="true">https://forum.cloudron.io/post/110180</guid><dc:creator><![CDATA[DidierMalenfant]]></dc:creator><pubDate>Mon, 14 Jul 2025 18:35:08 GMT</pubDate></item><item><title><![CDATA[Reply to Agate - A simple gemini server on Sun, 13 Jul 2025 05:40:07 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/didiermalenfant" aria-label="Profile: DidierMalenfant">@<bdi>DidierMalenfant</bdi></a> good points.<br />
I just thought that as something was being served on http, it might as well be a version of the capsule.<br />
It’s your package so don’t let me push it in a wrong direction.</p>
]]></description><link>https://forum.cloudron.io/post/110126</link><guid isPermaLink="true">https://forum.cloudron.io/post/110126</guid><dc:creator><![CDATA[timconsidine]]></dc:creator><pubDate>Sun, 13 Jul 2025 05:40:07 GMT</pubDate></item><item><title><![CDATA[Reply to Agate - A simple gemini server on Sun, 13 Jul 2025 03:21:59 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/timconsidine" aria-label="Profile: timconsidine">@<bdi>timconsidine</bdi></a> said in <a href="/post/110122">Agate - A simple gemini server</a>:</p>
<blockquote>
<p dir="auto">If it were built into your agate deployment, would that deliver an app which effectively serves both gemini and http ?</p>
</blockquote>
<p dir="auto">It looks like it could work. What I'm not sure is:</p>
<ul>
<li>How do we make it an option so that people who don't want http can have it off.</li>
<li>It doesn't seem to return when launched so how do we run both this and agate side by side?</li>
<li>How safe is the http server for this? The one I use for the health check, Caddy, is pretty well supported and widely used. I don't know about this one.</li>
</ul>
]]></description><link>https://forum.cloudron.io/post/110125</link><guid isPermaLink="true">https://forum.cloudron.io/post/110125</guid><dc:creator><![CDATA[DidierMalenfant]]></dc:creator><pubDate>Sun, 13 Jul 2025 03:21:59 GMT</pubDate></item><item><title><![CDATA[Reply to Agate - A simple gemini server on Sat, 12 Jul 2025 17:41:45 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/didiermalenfant" aria-label="Profile: DidierMalenfant">@<bdi>DidierMalenfant</bdi></a> a thought, just a thought, you know more about this</p>
<p dir="auto">I saw Kineto : <a href="https://git.sr.ht/~sircmpwn/kineto" target="_blank" rel="noopener noreferrer nofollow ugc">https://git.sr.ht/~sircmpwn/kineto</a><br />
If I understand it correctly, it proxies gemini:// to http://<br />
It's only 3 .go files (plus licence and readme)</p>
<p dir="auto">If it were built into your agate deployment, would that deliver an app which effectively serves both gemini and http ?<br />
That would be boost to some wanting to use gemini but not have their site only accessible in Lagrange etc.<br />
Avoids an external proxy dependency like Smolnet</p>
<p dir="auto">I think Cloudron base image supports go.</p>
<p dir="auto">Tell me to shut up if I am barking up the wrong tree<br />
&lt;woof&gt; &lt;woof&gt; <img src="https://forum.cloudron.io/assets/plugins/nodebb-plugin-emoji/emoji/android/1f334.png?v=c3aa4c12b7e" class="not-responsive emoji emoji-android emoji--palm_tree" style="height:23px;width:auto;vertical-align:middle" title=":palm_tree:" alt="🌴" /></p>
]]></description><link>https://forum.cloudron.io/post/110122</link><guid isPermaLink="true">https://forum.cloudron.io/post/110122</guid><dc:creator><![CDATA[timconsidine]]></dc:creator><pubDate>Sat, 12 Jul 2025 17:41:45 GMT</pubDate></item><item><title><![CDATA[Reply to Agate - A simple gemini server on Fri, 11 Jul 2025 21:03:01 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/loudlemur" aria-label="Profile: LoudLemur">@<bdi>LoudLemur</bdi></a> said in <a href="/post/110021">Agate - A simple gemini server</a>:</p>
<blockquote>
<p dir="auto">I think Agate supports multiple users, so that might end up with some <a href="https://github.com/mbrubeck/agate" target="_blank" rel="noopener noreferrer nofollow ugc">confusion</a>, too.</p>
</blockquote>
<p dir="auto">The way the app is setup in my case is just to serve files located in <code>/app/data/public</code>. You can see the default index.gmi in there after you install; the app. Editing this and setting up the folder structure is left to the user as it's basically gemini stuff and not specific to the app itself.</p>
<p dir="auto">I'm going to update the <code>README</code> in the repo to mirror <a class="plugin-mentions-user plugin-mentions-a" href="/user/timconsidine" aria-label="Profile: timconsidine">@<bdi>timconsidine</bdi></a>'s great step by step instructions on installing the image.</p>
]]></description><link>https://forum.cloudron.io/post/110084</link><guid isPermaLink="true">https://forum.cloudron.io/post/110084</guid><dc:creator><![CDATA[DidierMalenfant]]></dc:creator><pubDate>Fri, 11 Jul 2025 21:03:01 GMT</pubDate></item><item><title><![CDATA[Reply to Agate - A simple gemini server on Fri, 11 Jul 2025 08:49:10 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/girish" aria-label="Profile: girish">@<bdi>girish</bdi></a> I think it would be great if Cloudron had a presence in gemini-space. I have automated a 4 part gemlog which could be used as a starting point for how to get going self-hosting a gemlog on Agate by deploying with Cloudron:</p>
<p dir="auto">Part 1: Introduction to Self-Hosting Your Gemini Capsule with Agate on Cloudron</p>
<pre><code># Self-Hosting Your Gemini Capsule: A Simple Guide (Part 1 of 4)

Welcome to this gemlog series! If you're tired of bloated web hosting and want a lightweight, privacy-focused alternative, Gemini is for you. In this 4-part guide, we'll walk through self-hosting your own Gemini server using Agate on Cloudron. We'll even add beautiful analytics with GoAccess.

## Why Gemini and Agate?
Gemini is a simple protocol for serving text-based content—think of it as a minimal web alternative. Agate is an easy-to-use Gemini server that's perfect for beginners.

* Low resource use: Runs on cheap VPS or even a Raspberry Pi.
* Easy deployment: Cloudron handles the heavy lifting.
* Analytics: Track visitors with GoAccess without invading privacy.

For the best viewing experience, apply the Solarized Dark theme in your Gemini browser (e.g., Lagrange). It uses a minimalist, eye-friendly palette:
- Background: #002b36 (deep blue-gray)
- Text: #839496 (light gray)
- Links: #268bd2 (blue accent)
- Headings: #b58900 (yellow-orange)
- Preformatted: #073642 (darker blue-gray)

=&gt; gemini://gemini.thegonz.net/gemlog/2021-03-20-lagrange-themes.gmi Guide to Theming in Lagrange

## What You'll Need
- A server or VPS (e.g., DigitalOcean, $5/month).
- A domain name.
- Basic command-line comfort.

In Part 2, we'll set up Cloudron and deploy Agate.

=&gt; https://geminiprotocol.net/docs/faq.gmi Gemini Protocol FAQ
=&gt; https://github.com/mbrubeck/agate Agate GitHub Repository
=&gt; https://goaccess.io/ GoAccess Analytics Tool
=&gt; https://forum.cloudron.io/topic/14046/agate-a-simple-gemini-server/8 Cloudron Forum: Setting Up Agate
=&gt; gemini://your-capsule/part2.gmi Next: Part 2 - Setting Up Cloudron and Deploying Agate
</code></pre>
<p dir="auto">Part 2: Setting Up Cloudron and Deploying Agate</p>
<pre><code># Self-Hosting Your Gemini Capsule: A Simple Guide (Part 2 of 4)

## Navigation
=&gt; gemini://your-capsule/part1.gmi Previous: Part 1 - Introduction
=&gt; gemini://your-capsule/part3.gmi Next: Part 3 - Hosting Your Gemlog

Now that you're excited about Gemini, let's get your server running. We'll use Cloudron, a platform that makes self-hosting apps (like Agate) a breeze—no manual config files or security headaches.

## Step 1: Set Up Cloudron
1. Sign up for Cloudron (free for basic use, paid for more features).
2. Install Cloudron on your server:
   - SSH into your VPS.
   - Run the installer script:
curl -sSL https://cloudron.io/cloudron-setup | sudo bash

3. Follow the on-screen prompts to set up your domain and admin account.
4. Access the Cloudron dashboard at https://my.cloudron.io.

=&gt; https://cloudron.io/ Cloudron Official Site (for full docs)

## Step 2: Deploy Agate
1. In the Cloudron dashboard, go to the App Store.
2. Search for "Agate" and install it.
3. Configure your domain (e.g., gemini.yourdomain.com).
4. Cloudron handles TLS certificates automatically—your Gemini capsule will be secure!

Agate is now running in a container. You can access it via a Gemini browser like Lagrange.

=&gt; https://gmi.skyjake.fi/lagrange/ Download Lagrange (Gemini Browser)

In Part 3, we'll create and host your first gemlog.

=&gt; gemini://your-capsule/part1.gmi Previous: Part 1 - Introduction
=&gt; gemini://your-capsule/part3.gmi Next: Part 3 - Hosting Your Gemlog
</code></pre>
<p dir="auto">Part 3: Hosting Your Gemlog with Agate on Cloudron</p>
<pre><code># Self-Hosting Your Gemini Capsule: A Simple Guide (Part 3 of 4)

## Navigation
=&gt; gemini://your-capsule/part2.gmi Previous: Part 2 - Setting Up Cloudron and Deploying Agate
=&gt; gemini://your-capsule/part4.gmi Next: Part 4 - Adding Analytics with GoAccess

With Agate deployed, it's time to host content! Agate serves files from a directory, making it easy to create a "capsule" (Gemini site) with gemlogs (like blogs).

## Step 1: Access Agate's Files
1. In Cloudron dashboard, open your Agate app settings.
2. Use the File Manager to browse /app/data/public/ (this is where Agate serves files from).

## Step 2: Create Your Gemlog
1. Upload or create .gmi files via File Manager.
2. Example: Create index.gmi with this content:
Welcome to My Capsule!
This is my first gemlog entry.

=&gt; about.gmi About Me
3. For a blog series, organize in a folder like /gemlog/ and link them.

## Step 3: Test It
Open your Gemini browser (e.g., Lagrange) and visit gemini://yourdomain.com/. Your content should appear!

Pro Tip: Use the Solarized Dark theme for a polished look—headings in yellow-orange (#b58900) pop against the deep blue-gray background (#002b36).

In Part 4, we'll add analytics to see who's visiting.

=&gt; https://forum.cloudron.io/topic/14046/agate-a-simple-gemini-server/8 Cloudron Forum: More Agate Tips
=&gt; gemini://your-capsule/part2.gmi Previous: Part 2 - Setting Up Cloudron and Deploying Agate
=&gt; gemini://your-capsule/part4.gmi Next: Part 4 - Adding Analytics with GoAccess
</code></pre>
<p dir="auto">Part 4: Adding Beautiful Analytics with GoAccess</p>
<pre><code># Self-Hosting Your Gemini Capsule: A Simple Guide (Part 4 of 4)

## Navigation
=&gt; gemini://your-capsule/part3.gmi Previous: Part 3 - Hosting Your Gemlog

You've got a running capsule—now let's track visitors with GoAccess. Since Agate runs in a Cloudron container, we'll work inside it for analytics.

## Key Concept: Agate's Container
Cloudron isolates apps. Use Web Terminal and File Manager to access logs at /app/data/access.log. Log format: %d %t %h "%r" %s "%u"

## Method 1: Quick Manual Check
Open Web Terminal and run:
awk '{print $3}' /app/data/access.log | sort | uniq -c | sort -nr | head -n 20
## Method 2: Interactive GoAccess
Install in Web Terminal:
apt-get update apt-get install -y goaccess
Run:
goaccess /app/data/access.log --log-format='%d %t %h "%r" %s "%u"' --date-format='%Y-%m-%d' --time-format='%H:%M:%S'

(Note: Reinstall after restarts.)

## Method 3: Automated HTML Report (Recommended)
</code></pre>
]]></description><link>https://forum.cloudron.io/post/110024</link><guid isPermaLink="true">https://forum.cloudron.io/post/110024</guid><dc:creator><![CDATA[LoudLemur]]></dc:creator><pubDate>Fri, 11 Jul 2025 08:49:10 GMT</pubDate></item><item><title><![CDATA[Reply to Agate - A simple gemini server on Fri, 11 Jul 2025 08:30:19 GMT]]></title><description><![CDATA[<p dir="auto">From ai:</p>
<p dir="auto">"The Key Concept: The Agate App Container</p>
<p dir="auto">On Cloudron, your Agate server runs inside a dedicated, isolated container. This container has its own filesystem. To analyze its logs, you need to access that filesystem. Cloudron provides two essential tools for this:<br />
File Manager: Lets you browse the app’s files and find the exact path to your logs.<br />
Web Terminal: Gives you a command-line shell inside the Agate container.<br />
Step 1: Find Your Log File and Log Format<br />
Before you can use GoAccess, you need to know exactly where the log file is and what format it uses.<br />
Go to your Cloudron dashboard and open the settings for your Agate app.<br />
Open the File Manager.<br />
The log file is typically stored in the app’s persistent data directory, /app/data/. Look for a file named access.log or similar. The most likely path is /app/data/access.log.<br />
Click on the access.log file to view its contents. Take note of a single line. It will look something like this:<br />
2023-10-27T15:45:01Z 172.18.0.1 "gemini://my.capsule.com/page.gmi" 20 "Lagrange"<br />
From this line, we can determine the log format GoAccess will need. This format is:<br />
%d %t %h "%r" %s "%u"<br />
Now that we have the path and format, we can choose a method."</p>
<p dir="auto">I used the file browser to look in app/data and couldn't see any logs there, so I don't know what the actual format looks like. If we knew it, that could help us setup goaccess.</p>
<p dir="auto">One of the things about (low traffic) gemini sites is that it is difficult to know if anybody ever visits at all. It would be lovely to have some data.</p>
]]></description><link>https://forum.cloudron.io/post/110023</link><guid isPermaLink="true">https://forum.cloudron.io/post/110023</guid><dc:creator><![CDATA[LoudLemur]]></dc:creator><pubDate>Fri, 11 Jul 2025 08:30:19 GMT</pubDate></item><item><title><![CDATA[Reply to Agate - A simple gemini server on Fri, 11 Jul 2025 10:08:32 GMT]]></title><description><![CDATA[<p dir="auto">I think it would help if some additional notes were added in the "First Time Setup" section indicating into which folder to store one's gemlogs and how sub-folders might be used. Also, the example page is beautifully simple, but it could help if the index page linked to some additional gemlog pages, so it is already a landing site which shows you what other pages are available.</p>
<p dir="auto">I think Agate supports multiple users, so that might end up with some <a href="https://github.com/mbrubeck/agate" target="_blank" rel="noopener noreferrer nofollow ugc">confusion</a>, too.</p>
<p dir="auto">Here is a "killer feature" which might make gemlog hosting using Agate on Cloudron all the rage: analytics using goaccess. <a class="plugin-mentions-user plugin-mentions-a" href="/user/girish" aria-label="Profile: girish">@<bdi>girish</bdi></a>, this feature might also be very much appreciated in several other cloudron applications too, e.g. Ghost, Grave, Wordpress, etc:</p>
<p dir="auto">goaccess</p>
<p dir="auto">This is a beautiful and simple way to see data. First, admire the beauty in the demo here:<br />
<a href="https://rt.goaccess.io/?20250113204951" target="_blank" rel="noopener noreferrer nofollow ugc">https://rt.goaccess.io/?20250113204951</a></p>
<p dir="auto">Here is the main site:<br />
<a href="https://goaccess.io/" target="_blank" rel="noopener noreferrer nofollow ugc">https://goaccess.io/</a></p>
<p dir="auto">Here is what might work to help people running Agate see how many people visit their gemlog:</p>
<p dir="auto">Primitive method - bash (how many visits to my gemlog)</p>
<pre><code>wc -l access.log
</code></pre>
<p dir="auto">via AI:</p>
<h1>The Best-in-Class Visualizer: goaccess</h1>
<p dir="auto">For visualization, the undisputed champion in the text-based world is GoAccess. It’s a real-time log analyzer that runs directly in your terminal and can also generate a self-contained HTML report. It’s perfect for Gemini.</p>
<p dir="auto">What it is: A single, fast C program with no dependencies.<br />
How it works: You point it at your log file and tell it the log format. It instantly generates interactive terminal dashboards.</p>
<p dir="auto">Why it’s great:<br />
Real-time: You can see hits as they happen.<br />
Terminal UI: It’s beautiful and navigable entirely with a keyboard.<br />
HTML Reports: Can generate a clean, single-file HTML report you can view in a browser.<br />
No Databases: It reads directly from the log file.<br />
How to use it:<br />
You need to tell goaccess your log format. For a server like Agate or , you might run it like this:</p>
<pre><code>goaccess access.log --log-format='%d %t %h "%r" %s "%u"' --date-format='%Y-%m-%d' --time-format='%H:%M:%S'

</code></pre>
<p dir="auto">(You will need to slightly adjust the --log-format string to perfectly match your server’s output, but this is a common starting point).<br />
What it visualizes for you:</p>
<p dir="auto">Total Requests and Unique Visitors (by IP).<br />
A scrolling log of recent hits.<br />
Top Requested Files (your most popular pages).<br />
Static Requests (images, css if you were on the web).<br />
Not Found (404) URLs.<br />
Visitor Hostnames and IPs.<br />
Operating Systems and Browsers (Gemini clients).<br />
Time Distribution (hits per hour).</p>
<p dir="auto"><img src="https://goaccess.io/images/goaccess-real-time-term.png" alt="GoAccess Terminal UI" class=" img-fluid img-markdown" /><br />
This is the best “native” tool for getting a rich, visual overview of your Gemlog’s traffic.</p>
]]></description><link>https://forum.cloudron.io/post/110021</link><guid isPermaLink="true">https://forum.cloudron.io/post/110021</guid><dc:creator><![CDATA[LoudLemur]]></dc:creator><pubDate>Fri, 11 Jul 2025 10:08:32 GMT</pubDate></item><item><title><![CDATA[Reply to Agate - A simple gemini server on Thu, 10 Jul 2025 22:15:29 GMT]]></title><description><![CDATA[<p dir="auto">May be useful to review last years effort for trying new apps:<br />
<a href="https://forum.cloudron.io/topic/10966/installing-custom-apps-on-cloudron/">https://forum.cloudron.io/topic/10966/installing-custom-apps-on-cloudron/</a></p>
]]></description><link>https://forum.cloudron.io/post/110002</link><guid isPermaLink="true">https://forum.cloudron.io/post/110002</guid><dc:creator><![CDATA[robi]]></dc:creator><pubDate>Thu, 10 Jul 2025 22:15:29 GMT</pubDate></item><item><title><![CDATA[Reply to Agate - A simple gemini server on Thu, 10 Jul 2025 18:16:53 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/timconsidine" aria-label="Profile: timconsidine">@<bdi>timconsidine</bdi></a> said in <a href="/post/109985">Agate - A simple gemini server</a>:</p>
<blockquote>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/loudlemur" aria-label="Profile: LoudLemur">@<bdi>LoudLemur</bdi></a>  try ….<br />
cloudron install —image didiermalenfant/net.malenfant.agate:latest<br />
In other words put a space not a colon after ‘image’</p>
</blockquote>
<p dir="auto">Yep, good catch. That's totally a typo on my part.</p>
]]></description><link>https://forum.cloudron.io/post/109997</link><guid isPermaLink="true">https://forum.cloudron.io/post/109997</guid><dc:creator><![CDATA[DidierMalenfant]]></dc:creator><pubDate>Thu, 10 Jul 2025 18:16:53 GMT</pubDate></item><item><title><![CDATA[Reply to Agate - A simple gemini server on Thu, 10 Jul 2025 16:23:41 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/loudlemur" aria-label="Profile: LoudLemur">@<bdi>LoudLemur</bdi></a>  try ….</p>
<ol>
<li></li>
</ol>
<p dir="auto">cloudron install —image didiermalenfant/net.malenfant.agate:latest<br />
In other words put a space not a colon after ‘image’</p>
<ol start="2">
<li></li>
</ol>
<p dir="auto">I don’t know if his registry needs auth but as he suggested it, maybe not<br />
That may be a docker hub so no auth needed</p>
]]></description><link>https://forum.cloudron.io/post/109985</link><guid isPermaLink="true">https://forum.cloudron.io/post/109985</guid><dc:creator><![CDATA[timconsidine]]></dc:creator><pubDate>Thu, 10 Jul 2025 16:23:41 GMT</pubDate></item><item><title><![CDATA[Reply to Agate - A simple gemini server on Thu, 10 Jul 2025 14:43:53 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/loudlemur" aria-label="Profile: LoudLemur">@<bdi>LoudLemur</bdi></a> another way to do it is to download the repo as a zip and unzip into a folder.<br />
But if you have cloned successfully, that doesn’t offer much advantage.</p>
<p dir="auto">After cloning or downloading the repo, you can build the image file yourself and use your version, not Didier’s.</p>
<p dir="auto">But this requires you have to have docker installed on your windows box. And a docker registry.</p>
<p dir="auto">Maybe Didier can advise about the image instruction.<br />
I built my own image so don’t know if there’s an issue with the link he mentioned</p>
]]></description><link>https://forum.cloudron.io/post/109981</link><guid isPermaLink="true">https://forum.cloudron.io/post/109981</guid><dc:creator><![CDATA[timconsidine]]></dc:creator><pubDate>Thu, 10 Jul 2025 14:43:53 GMT</pubDate></item><item><title><![CDATA[Reply to Agate - A simple gemini server on Thu, 10 Jul 2025 12:10:07 GMT]]></title><description><![CDATA[<p dir="auto">Thank you both!<br />
If you try this on Windows, you may well run into loads of problems with permissions in the powershell preventing you from running scripts, and a cascade of other issues I didn't note and log, anyway:<br />
there is a problem when you try to install it:</p>
<pre><code>cloudron install --image:didiermalenfant/net.malenfant.agate:latest
error: unknown option '--image:didiermalenfant/net.malenfant.agate:latest'
</code></pre>
]]></description><link>https://forum.cloudron.io/post/109973</link><guid isPermaLink="true">https://forum.cloudron.io/post/109973</guid><dc:creator><![CDATA[LoudLemur]]></dc:creator><pubDate>Thu, 10 Jul 2025 12:10:07 GMT</pubDate></item><item><title><![CDATA[Reply to Agate - A simple gemini server on Thu, 10 Jul 2025 06:50:03 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/loudlemur" aria-label="Profile: LoudLemur">@<bdi>LoudLemur</bdi></a> are you on windows or Mac ? Or Linux ?</p>
]]></description><link>https://forum.cloudron.io/post/109951</link><guid isPermaLink="true">https://forum.cloudron.io/post/109951</guid><dc:creator><![CDATA[timconsidine]]></dc:creator><pubDate>Thu, 10 Jul 2025 06:50:03 GMT</pubDate></item></channel></rss>