working demo DVD

This commit is contained in:
bwees
2025-08-14 18:15:21 +00:00
parent 887673a875
commit 3eae6b0fa5
5 changed files with 32 additions and 13 deletions
+2
View File
@@ -1,4 +1,6 @@
overlay/var/lib/docker
overlay/usr/app/library
overlay/usr/app/postgres
build/
out/
.overlay-build/
+19 -8
View File
@@ -1,8 +1,14 @@
# Immich-retro
# immich-retro
This is the repo used to generate the ISO images for the Immich Stable release demo DVDs.
## How to build
Launch a Docker in Docker container
Building requires Docker and a Linux host OS due to reliance on fuse-overlay and other kernal extensions to build.
1. Select the Immich version you would like to run. Set the `IMMICH_VERSION` in **both** `docker-gen.sh` and `overlay/usr/app/.env`
2. Delete the `overlay/var/lib/docker` folder if present. Launch a "Docker in Docker" (dind) container
```bash
docker run --rm -d --privileged \
@@ -13,33 +19,38 @@ docker run --rm -d --privileged \
docker:dind
```
Download images (you may have to wait a few moments for the dind container to start dockerd)
3. Download images (you may have to wait a few moments for the dind container to start dockerd)
```bash
docker exec -it dind-test sh ./home/docker-gen.sh
```
You can now kill the dind-test container
4. You can now kill the dind-test container
```bash
docker container stop dind-test
```
Run the following from the root of this repository
5. Run the following from the root of this repository
```bash
docker run --rm -it -v "$(pwd)":/home --privileged --name iso-build alpine sh ./home/build.sh
```
The built image will be placed in `out/`
6. Success! The built `.iso` will be placed in `out/`.
### Adding a demo library
You may add a demo library in the instance by copying the `library` and `postgres` folders into `overlay/usr/app/library` and `overlay/usr/app/postgres` respectively.
### A couple of notes:
- The entirety of the operating system runs from RAM. No configuration, assets, or settings will be persisted on reboot of the machine. DO NOT use this as your main Immich instance.
- All assets are stored in RAM so you may quickly run out of "storage" if your machine has less than 16GB of RAM.
- The entire system is run in RAM so you may quickly run out of storage if your machine only has 8GB of memory.
- If booting from the DVD, the boot process **will be slow**. You may see "0%" for a prolonged period of time during boot. _Be patient!_. This part of the boot process requires reading the entire DVD and loading it into RAM.
- Minimum system requirements:
- 2 core x86 processor
- 8GB of RAM, 16GB recommended
- 8GB of RAM, 12GB+ recommended
- No storage drive needed!
+4 -1
View File
@@ -2,8 +2,11 @@
# List of Docker image tags (space-separated)
# ML is excluded since it requires internet to download models
IMMICH_VERSION=v1.137.3
images="
ghcr.io/immich-app/immich-server:v1.137.3
ghcr.io/immich-app/immich-server:$IMMICH_VERSION
docker.io/valkey/valkey:8-bookworm
ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0
"
+1 -1
View File
@@ -10,7 +10,7 @@ DB_DATA_LOCATION=/usr/app/postgres
# TZ=Etc/UTC
# The Immich version to use. You can pin this to a specific version like "v1.71.0"
IMMICH_VERSION=release
IMMICH_VERSION=v1.137.3
# Connection secret for postgres. You should change it to a random password
# Please use only the characters `A-Za-z0-9`, without special characters or spaces
+6 -3
View File
@@ -31,7 +31,9 @@ services:
healthcheck:
disable: false
# if you are insane enough to uncomment this, you will need an active internet connection to download the image and models
# if you are insane enough to uncomment this, you will need an active internet connection to download the image and models.
# Also uncomment the model_cache volume at the bottom of this file
# immich-machine-learning:
# container_name: immich_machine_learning
# # For hardware acceleration, add one of -[armnn, cuda, rocm, openvino, rknn] to the image tag.
@@ -70,5 +72,6 @@ services:
- ${DB_DATA_LOCATION}:/var/lib/postgresql/data
restart: always
volumes:
model-cache:
# uncomment below if enabling machine learning
# volumes:
# model-cache: