πΎ 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
β¬ οΈ Previous capture (2023-11-04)
-=-=-=-=-=-=-
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?
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
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
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
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
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?
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,
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/
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
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)
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
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/ .
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/
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).
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
(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>
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
> 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
---
Previous Thread: [ANN] Paste it to Gemini
Next Thread: Fwd: Re: Should Gemini clients alert users upon redirect?