Axel Verne → Junk Drawer kit → Chapter 7

Chapter 7 — Break Up With Big Tech I: Google Photos → Immich

9 blocks to copy, in the order they appear in the chapter. Nothing here is required to be typed by hand.

The build — storage and server

7.1 · bash
mkdir -p /srv/lab/compose/immich && cd /srv/lab/compose/immich
7.2 · bash
wget -O docker-compose.yml https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
wget -O .env https://github.com/immich-app/immich/releases/latest/download/example.env
7.3 · bash
nano .env
7.4 · text
# Where your photos live on disk (point this at your big drive)
UPLOAD_LOCATION=/srv/lab/media/immich

# Timezone
TZ=Pacific/Honolulu

# Database password (pick a real one)
DB_PASSWORD=pick-something-long-and-random
7.5 · bash
mkdir -p /srv/lab/media/immich
7.6 · bash
docker compose up -d
docker compose logs -f     # watch for "server started" and "postgres ready" then Ctrl-C

The build — import from Google Takeout

7.7 · bash
# Download the latest binary for your hardware
# On a laptop or desktop:
wget https://github.com/simulot/immich-go/releases/download/v0.32.0/immich-go_Linux_x86_64.tar.gz
tar -xzf immich-go*.tar.gz
sudo mv immich-go /usr/local/bin/

# On a Raspberry Pi (ARM):
wget https://github.com/simulot/immich-go/releases/download/v0.32.0/immich-go_Linux_arm64.tar.gz
tar -xzf immich-go*.tar.gz
sudo mv immich-go /usr/local/bin/

immich-go --version    # should show v0.32.0 or later
7.8 · bash
# Assume your Takeout zips are in ~/Downloads/takeout
immich-go upload from-google-photos \
  --server=http://localhost:2283 \
  --api-key=your-api-key-here \
  ~/Downloads/takeout/takeout-*.zip

The machine-learning note

7.9 · yaml
services:
  immich-machine-learning:
    image: ghcr.io/immich-app/immich-machine-learning:release
    # ... (rest of service config unchanged)
    environment:
      - DISABLE_MACHINE_LEARNING=true

← Chapter 6Chapter 8 →

Get the next build in your inbox

An email when a new build write-up goes up: what I ran, on what hardware, and the commands that paste. Free, unsubscribe any time. The kit stays free either way.