TLDR: You can't do it directly in standard Docker, unless you run the container as root, or weaken the file ownership permissions, which you should not do. That's why you're having so much trouble finding a working example with a non-root user. Even the official docs example doesn't set a user...which means the container will default to running as root. But I have a solution!

php --ini

You're welcome.

When developing a project you need to be able to run it in order to test it. But you don't want local changes to the configuration files to be committed. Most 'solutions' to this problem suggest untracking (removing) it from the repository. But if you want to keep the file in your project, then use:

git update-index --skip-worktree filenameOrPath

This keeps the file in the respository, but lets you change your local copy freely without including changes in commits.

"rsnapshot" is a file system backup utility based on rsync. It makes snapshots of your file system(s) at different points in time, which are stored as a time series, giving you multiple restore points. Using hard links to reference files that already exist on disk, rsnapshot creates the illusion of multiple full backups while only taking up the space of one full backup plus changes. When coupled with SSH and key-based authentication, remote file systems can be securely backed up as well. I built an automatic backup appliance for my webservers using a Raspberry Pi 4 and the excellent Argon One M.2 case

The automatic exposure settings on the Elgato Facecam are terrible, but you can fix it.

Use minimum brightness, a short 'Sleep After' period and a fully black screensaver image to protect your keys (image provided).

One of the cool new features of the GoPro Hero 9 is that you can use it as a 1080p webcam. Sadly, the out-of-the-box experience is glitchy and way too unreliable to use for a serious project, but you can fix it with the right setup and more $$. TLDR: Get the media mod and use the HDMI port for better output, take the battery out and power directly through USB to prevent unwanted shutdowns, and use OBS studio to resolve audio/video syncronisation issues.

TLDR: The Coolermaster H500M case supports up to a 240 mm radiator in top-mount position and up to 360 mm in front-mount position, but a front-mounted 280mm radiator is probably the best option for an AIO system.

A maintenance release, updating all third party libraries in use. No changes to core functionality, but the update of Bootstrap-fileinput has added a nice drag-and-drop target to image and media file uploads, which is something of an improvement. Upgraded libraries were: Bootstrap (v4.6), Bootstrap-datepicker (v1.9), Bootstrap-fileinput (v5.14), DICE (v4.0.2), FontAwesome (v5.15.2), HTMLPurifier (v4.13), jQuery (v3.5.1), TinyMCE (v5.6.2).

Tuskfish 2 is a rewrite of Tuskfish CMS to adopt a strict model-view-viewmodel (+ controller) architecture (MVVM + C). You can think of it as traditional MVC except the view is split into a view and a viewModel to abstract the model/view relationship, which improves flexibility and reuse of components. A front end controller and static router have been added to allow custom URL schemes. With the adoption of namespaces, Tuskfish 2 is now a very modern (if small) PHP application.