πŸ’Ύ Archived View for gemi.dev β€Ί gemini-mailing-list β€Ί 000694.gmi captured on 2023-12-28 at 15:51:18. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2023-11-04)

🚧 View Differences

-=-=-=-=-=-=-

Storing capsule pages?

1. David Emerson (d (a) nnix.com)

I'm interested to hear how you all are updating your capsules. I'm just 
building out my infrastructure, and I've decided to use Docker for my 
gemini server (agate) and for my proxy (kineto).

For now, my index.gmi is in the gemini server's docker container. This 
isn't ideal, of course, since I have to rebuild the container every time I 
want to update the site, but it's fine for the moment.

Those who have regularly updated pages, though: how do you update them? 
I've been thinking I'll just use GitHub to store the capsule root, and 
reference that from the gemini server, but is there a smarter way?

Link to individual message.

2. metalune (metalune (a) mailbox.org)

Well, personally I have my gemini page on
https://git.sr.ht/~metalune/gemini-capsule

and on my server I have a simple gemserv setup, and everytime i want to update it I
just ssh into it and run git pull, but I could just scp it using
scp -r gemini-capsule myuser at metalune.xyz:/path/to/metalune.xyz

Link to individual message.

3. Matthew Ernisse (matt (a) going-flying.com)

On Fri, Feb 12, 2021 at 11:46:28PM +0100, David Emerson said unto me:
> 
> I'm interested to hear how you all are updating your capsules. I'm 
> just building out my infrastructure, and I've decided to use Docker 
> for my gemini server (agate) and for my proxy (kineto).


I've written a little bit about how my capsule is put together but
the basic overview is this.  Molly Brown runs in a container that has
read-only bind mounts to the document root and the bare git repository.
The former is updated by a git post-receive hook running on the server
that hosts the filesystem, the latter is the actual repository so that
one can browse it via the git.gmi cgi.

gemini://going-flying.com/how-built.gmi

> Those who have regularly updated pages, though: how do you update 
> them? I've been thinking I'll just use GitHub to store the capsule 
> root, and reference that from the gemini server, but is there a 
> smarter way?

Off the top of my head, you could have your container's entry point do
a git clone of your github repository into your in-container document
root and just restart the container every time you want an update.

--Matt

Link to individual message.

4. stereo (stereo (a) gnubox.org)

hi,

I am also just using ssh to copy the files to gemini directory.

normally i am using nextcloud on the same server having all devices in 
sync and then making a symlink from the nextcloud server folder to the 
one that is served to the outside.

best,
ralf

Link to individual message.

5. Sean Conner (sean (a) conman.org)

It was thus said that the Great David Emerson once stated:
> I'm interested to hear how you all are updating your capsules. I'm just
> building out my infrastructure, and I've decided to use Docker for my
> gemini server (agate) and for my proxy (kineto).
> 
> For now, my index.gmi is in the gemini server's docker container. This
> isn't ideal, of course, since I have to rebuild the container every time I
> want to update the site, but it's fine for the moment.
> 
> Those who have regularly updated pages, though: how do you update them?
> I've been thinking I'll just use GitHub to store the capsule root, and
> reference that from the gemini server, but is there a smarter way?

  Um ... just add a file to a directory?

  Oh, and for my blog, I send email to an account on my server, which then
adds the entry to the blog and generates the various feed files and index
pages for the web, gopher and Gemini.

  -spc

Link to individual message.

6. RenΓ© Wagner (rwagner (a) rw-net.de)

Hi!

I think updating a capsule is one thing that
can be easily over-engineered and you end up with 
a hell of dependencies and bucket chains (not sure
of this analogy is used in english tough).

KISS!

My source is in a git repo.
Sync to the root folder is done with a shell alias.
Done.

regards
Ren?

Link to individual message.

7. Omar Polo (op (a) omarpolo.com)


David Emerson <d at nnix.com> writes:

> I'm interested to hear how you all are updating your capsules. I'm just 
building out my infrastructure, and I've decided to use Docker for my 
gemini server (agate) and for my proxy (kineto).
>
> For now, my index.gmi is in the gemini server's docker container. This 
isn't ideal, of course, since I have to rebuild the container every time I 
want to update the site, but it's fine for the moment.
>
> Those who have regularly updated pages, though: how do you update them? 
I've been thinking I'll just use GitHub to store the capsule root, and 
reference that from the gemini server, but is there a smarter way?

I have two capsules, one is generated using a custom clojure script
(that generates also the web pages for the WWW version of the site),
while the other is plain text/gemini file.  For both, I use rsync.

In particular, I'm running my server (gmid) inside a FreeBSD jail and I
mount the directory that contains the capsules using mount_nullfs (sort
of mount --bind) in read-only mode, so the server can read the file but
not edit them.

In your case, I think you can do something very similar with a shared
volume mounted inside the container to avoid rebuilding the image at
every update.  Then you can store your file in a git repo (and using a
post-receive hook to update the site) or rync or ...

Cheers,

Link to individual message.

8. Vasco Costa (vasco.costa (a) gmx.com)

On Fri, Feb 12, 2021 at 11:46:28PM +0100, David Emerson wrote:
> Those who have regularly updated pages, though: how do you update them?

I simply ssh into my VPS and use vim or some other editor to create or
edit my content.

--
Vasco Costa

AKA gluon. Enthusiastic about computers, motorsports, science,
technology, travelling and TV series. Yes I'm a bit of a geek.

Gemini: gemini://gluonspace.com/
Gopher: gopher://gopher.geeksphere.tk/

Link to individual message.

9. devel (a) datenbrei.de (devel (a) datenbrei.de)

Am 12.02.21 um 23:46 schrieb David Emerson:
> I'm interested to hear how you all are updating your capsules.

I push it up with scp. The original files are hold on my notebook which 
is synced with syncthing to a Raspberry Pi every now and then for 
backup. Actually, I don't feel like I would need version management.

On the server side gmid (from Omar Polo) is running. One executable, one 
/etc/gmid.conf file, certificate, key and content under /srv/gemini/ - 
that's it.

Additionally I will install a very small webserver to serve the html 
automatically generated from my gmi files. More about this in my next mail.

Martin

Link to individual message.

10. Miguel de Luis Espinosa (enteka (a) fastmail.com)

David Emerson wrote

"
Those who have regularly updated pages, though: how do you update them? 
I've been thinking I'll just use GitHub to store the capsule root, and 
reference that from the gemini server, but is there a smarter way?
"

Er... well, I'm doing it the Toyota way, doing it by hand until I actually 
get the hang of it. Just started last month, so... but anyway this is what 
I typically do as of February 2021.

 ```
enteka  (just an alias for ssh myserver)
diario (another alias that cd's to the main content directory)
cp lastpost.gemini  newpost.gemini (lastpost and newpost are just placeholder)
vim newpost.gemini (and edit what I need to edit)
gemini (yet another alias for the home directory of my capsule)
vim index.gemini (add a new line for the new post, update the updated line)
 ```

And that's mostly it, really, fwiw. It's not perfect by any means but it 
works for my small gemlog, meaning I can update it daily with few overhead.

Keep the good work,
~ Miguel (Enteka)

Link to individual message.

11. Bryan Bennett (Bryan.Bennett (a) protonmail.com)

This has long since become a "how to do publishing" thread, so I'll throw my 2c in.

I use a make-oriented workflow that calls my fork of kiln[1] to generate 
both a templated gemini site and an html site. Further, my makefile has 
targets for "publish" (which just rsyncs up the files from wherever I am 
to my VPS) and "commit" and "push" which are pre-requisites for my 
"publish" target so that I don't get my git repo out of sync from my 
published site. Nothing fancy but available at [2].

Also I suppose that this may serve as an introduction to the list, as this 
is my first message. My capsule is at [3] and I'll let it do all the 
introductions for me. Please excuse the broken link; The dust is still 
settling - I should have that fixed by end of day today (a loving 1.5 year 
old son and wife make my personal time limited). I'm loving gemini so far. 
I actually *want* to create content for it, which is novel for me.

1: https://code.bryan-bennett.com/bryan/kiln
2: https://code.bryan-bennett.com/bryan/website
3: gemini://gemini.bryan-bennett.com

Link to individual message.

12. seglar92 (a) michig.email (seglar92 (a) michig.email)


On 2/13/21 2:52 AM, gemini-request at lists.orbitalfox.eu wrote:
> Message: 3
> Date: Fri, 12 Feb 2021 18:11:44 -0500
> From: Matthew Ernisse <matt at going-flying.com>
> To: gemini at lists.orbitalfox.eu
> Subject: Re: Storing capsule pages?
> Message-ID: <20210212231144.GD1317 at ub3rgeek.net>
> Content-Type: text/plain; charset=us-ascii
>
> On Fri, Feb 12, 2021 at 11:46:28PM +0100, David Emerson said unto me:
>> I'm interested to hear how you all are updating your capsules. I'm
>> just building out my infrastructure, and I've decided to use Docker
>> for my gemini server (agate) and for my proxy (kineto).
>

 ?rsync -rzaP --delete /media/username/USBDRIVE/Documents/gemini/* 
username at r.circumlunar.space:~/gemini/

In this example, the gemini capsule files are kept in a usb drive 
(USDBDRIVE), in the /media/username/USBDRIVE/Documents/gemini/directory 
on a local linux device.? The command is entered into a terminal on the 
local device.? There may be subdirectories under the gemini directory. 
Any changes to the local directory will be written to the 
r.circumlunar.space/username/gemini/ .

Link to individual message.

13. Ben (benulo (a) systemli.org)

On 2/13/21 7:39 PM, seglar92 at michig.email wrote:
> rsync -rzaP --delete

Just a bit of trivia, but the -a option includes -r normally so you 
could use -zaP. Instead of -P I usually use --in-place, but that's 
harder to type and I guess the end result is mostly the same.

Ben

-- 
gemini://kwiecien.us/

Link to individual message.

14. David Emerson (d (a) nnix.com)

Really great responses, thanks all!

The docker container I'm running is the reason I haven't simply been 
running with scp, but the volume mount idea is good, especially if I 
combine that with a git webhook.

In any case, I'll be sure to write up what I do (on gemini naturally).

Link to individual message.

15. KΓ©vin (lists (a) gph.dk)

12 f?vr. 2021, 23:46 de d at nnix.com:

> Those who have regularly updated pages, though: how do you update them? 
I've been thinking I'll just use GitHub to store the capsule root, and 
reference that from the gemini server, but is there a smarter way?
>
I went full hog, not going to lie here,?OH.MG is comprised of four servers 
and three DreamObjects buckets for data storage, three of the servers are 
self-hosted on-site in Paris, France and the fourth (for now) is a 
DreamCompute Instance that pushes updates to the DreamObjects buckets.

I have the production VM at DreamHost, the buckets for Gemini, WWW 
(+Assets), and Gopher (also at DreamHost), and then the individual servers 
within my network.

My on-site servers have the DreamObjects buckets mounted as drives 
(/var/www/html, /var/gopher, and wherever I put my Gemini root), for the 
moment the cache time is about 5 minutes but I might increase that as you 
get a lag on the first call if the file hasn't been accessed in a while.

And the prod VM is pretty basic, I use kiln to generate the site contents, 
then a deploy script that syncs the buckets, and sets the upload to the mirror hosts.

I ramble on a bit here : gemini://oh.mg/project/ <https://oh.mg/project/> 
or https://oh.mg/project/ <https://oh.mg/project/>

I basically went OTT to see if I could actually make it work and mainly 
cos I've been burnt a couple of times by self-hosted VMs dying and taking 
the content with them (and no backups, because YOLO apparently).
-K?vin

--
Envoi s?curis? avec Tutanota. Obtenez votre propre adresse email chiffr?e :
https://tutanota.com

Link to individual message.

16. Rohan Kumar (seirdy (a) seirdy.one)

(Replying to this message since I didn't get the parent email for some 
reason)

My static {Web,Gemini}site gets built in CI using Hugo. When the build 
is finished, the resulting files get sent over to my VPS using rsync + 
ssh. Both my website and Gemini sites are just directories with files, 
served statically.

I don't need containers or anything of the sort since my Gemini servers 
(agate or gmnisrv, depending on my mood) are both statically-linked 
binaries with no run-time deps besides certs. I also don't need to 
"store" pages in any particular fashion since I can re-generate them at 
any time by running "make" or "hugo".

I try to keep my setup as distro-neutral as possible; I shouldn't have 
to make any major changes whether my server is running Debian, Fedora, 
or Alpine.

-- 
/Seirdy
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 898 bytes
Desc: not available
URL: <https://lists.orbitalfox.eu/archives/gemini/attachments/20210213/52aa
6566/attachment.sig>

Link to individual message.

17. Hugo Wetterberg (hugo (a) wetterberg.nu)

I use an oddball publishing scheme where my gemlog server understands
and reacts to changes to a bare git repository. So I make and commit my
changes and the git push over SSH to my server:
gemini://capsule.wetterberg.nu/2021/2021-01-07-gemlog-server.gmi

It relies on having a custom application running on your server, rather
than taking the static files + CGI approach with a generic gemini
server, so it's probably not everyones cup of tea :)

/Hugo

Link to individual message.

18. Petite Abeille (petite.abeille (a) gmail.com)



> On Feb 15, 2021, at 11:57, Hugo Wetterberg <hugo at wetterberg.nu> wrote:
> 
> I use an oddball publishing scheme where my gemlog server understands
> and reacts to changes to a bare git repository.

FWIW, big fan of Netlify? for such setup: automatically publish out of a 
github repository.

?0?


? https://www.netlify.com

Link to individual message.

---

Previous Thread: [ANN] Paste it to Gemini

Next Thread: Fwd: Re: Should Gemini clients alert users upon redirect?