mirror of
https://github.com/storytold/lightcraft.git
synced 2026-11-09 18:10:13 -06:00
- brand.toml is the only place the product name lives; every crate and app
reads it through dac-brand (env vars with legacy fallback, settings folder
with copy-only migration, default library, preset extensions, i18n {app})
- cargo xtask brand check|test, run|install|package, docs, rename-crates,
deny and immich; packaging files are templates rendered from brand.toml
- icons regenerated from brand/icon.svg; upstream branding removed
- MIT licence (segment and fetch stay Apache-2.0); cargo deny licence policy
- clean-room rules in AGENTS.md/CLAUDE.md; docs/upstream-merge.md
- plan/ rebuilt and committed; parity tracker reopens Classic rows, adds
PLAN.md section 2 rows and the IMM Immich section; plan/immich.md and a
pinned Immich test server
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
70 lines
2.1 KiB
YAML
70 lines
2.1 KiB
YAML
# Local / CI Immich test server for `cargo xtask immich up|down|seed` (plan/immich.md).
|
|
#
|
|
# - Pinned to one Immich release. To move to a newer one, update all four images together from that release's
|
|
# own docker-compose.yml, re-run the integration tests, and update "Checked against" in plan/immich.md.
|
|
# - Listens on 127.0.0.1:2284 (not Immich's default 2283), so it never collides with a real server on this machine.
|
|
# - All data (uploads, database, model cache) lives in named docker volumes; `cargo xtask immich down --volumes`
|
|
# wipes them.
|
|
# - Test-only credentials; never expose this server.
|
|
#
|
|
# Images match the official compose file of Immich v3.3.1 (server AGPL-3.0; we only run it, see plan/immich.md).
|
|
|
|
name: xtask-immich
|
|
|
|
x-env: &env
|
|
DB_HOSTNAME: database
|
|
DB_USERNAME: postgres
|
|
DB_PASSWORD: postgres
|
|
DB_DATABASE_NAME: immich
|
|
REDIS_HOSTNAME: redis
|
|
TZ: Etc/UTC
|
|
|
|
services:
|
|
immich-server:
|
|
image: ghcr.io/immich-app/immich-server:v3.3.1
|
|
environment: *env
|
|
volumes:
|
|
- upload:/data
|
|
ports:
|
|
- '127.0.0.1:2284:2283'
|
|
depends_on:
|
|
- redis
|
|
- database
|
|
restart: unless-stopped
|
|
healthcheck:
|
|
disable: false
|
|
|
|
immich-machine-learning:
|
|
image: ghcr.io/immich-app/immich-machine-learning:v3.3.1
|
|
environment: *env
|
|
volumes:
|
|
- model-cache:/cache
|
|
restart: unless-stopped
|
|
healthcheck:
|
|
disable: false
|
|
|
|
redis:
|
|
image: docker.io/valkey/valkey:9@sha256:c123e3715db63d06d4ad6964884037aa0d5d4d703939b9929954112889708e1d
|
|
healthcheck:
|
|
test: redis-cli ping | grep -q PONG || exit 1
|
|
restart: unless-stopped
|
|
|
|
database:
|
|
image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:bcf63357191b76a916ae5eb93464d65c07511da41e3bf7a8416db519b40b1c23
|
|
environment:
|
|
POSTGRES_PASSWORD: postgres
|
|
POSTGRES_USER: postgres
|
|
POSTGRES_DB: immich
|
|
POSTGRES_INITDB_ARGS: '--data-checksums'
|
|
volumes:
|
|
- db:/var/lib/postgresql/data
|
|
shm_size: 128mb
|
|
restart: unless-stopped
|
|
healthcheck:
|
|
disable: false
|
|
|
|
volumes:
|
|
upload:
|
|
db:
|
|
model-cache:
|