Subj : Re: Move .ini files from /sbbs/exec to /sbbs/ctrl To : Gamgee From : Tracker1 Date : Wed Sep 21 2022 22:09:00 On 9/12/22 05:30, Gamgee wrote: >> So, it's effectively not possible to separate executable files >> from data/configuration for Synchronet... or to cleanly >> update/upgrade those executable files in a read-only fashion. > > The second half of your statement above doesn't make much sense > to me. How would you upgrade something that is "read-only" in > the first place? I don't have any problems updating my ../exec > directory. Imagine an executable on a read-only CD... but the data is stored on a hard drive... to move to the next version, you shut down the program, and swap out the CD to one with the new version. You effectively do the same with a docker image. You just get the new image. /sbbs/exec - read-only image mount /sbbs/(data|ctrl|...) - read-write mount Generally my updates go... 1. cd ~/sbbs 2. docker pull bbsio/synchronet:nightly 3. docker-compose up -d 1. keeping ~/sbbs as my (outside docker) location. 2. pull the latest nightly image from dockerhub 3. detects the underlying image changed, (re)starts related instance(s) -------- In practice it's /sbbs-data/(data|ctrl|...) that gets symlinked at runtime. I also save a version.txt file in exec/ that gets compared to ctrl/ at startup, so that it runs the js version update script if/when they don't match. But having data written to /sbbs/exec that part of it will fail when moving to a new version. I could move (if not already there) /sbbs/exec/*.ini to /sbbs-data/exec/*.ini, and then symlink back to exec, which is what I'll probably do... just kind of a pain. Most *nix services are pretty easy, as you can inject/mount the data directory and configuration separately from the executable and dependencies. -- Michael J. Ryan - tracker1@roughneckbbs.com --- ■ Synchronet ■ Roughneck BBS - roughneckbbs.com --- SBBSecho 3.15-Linux * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705) .