This project follows an "Immutable Infrastructure" pattern for developer environments.
Caution
Recreation: Running ./admin/deploy_update.sh will destroy and recreate all user containers. Any changes made to the system (e.g., via apt install) inside a running container will be LOST.
Only data stored in the user's home directory (/home/<username>) is persisted. This data resides on a dedicated Sparse File Virtual Disk (/disks/<user>.img), ensuring that even if the container is destroyed, your files remain intact and accessible.
- System Changes: Must be committed to the
dockerfile. Packages installed viaaptornpm -ginside a running container will not survive a rebuild. - User Data: (Code, configs, browser profiles) Stay safe on the virtual disk mount.
- Stability: If an environment becomes unstable, a simple
deploy_update.shresets it to a known good state while preserving user files.
- Always store your git repositories and workspace configurations in your home folder.
- Use the
audit_tools.shscript after updates to ensure your required toolkit is functional. - Regularly use the
backupcommand before major system-wide updates.