高性能自托管照片和视频管理解决方案。
Go to file
2026-02-06 22:00:56 +00:00
.vscode chore: move devcontainer specific tasks to devcontainer.json (#25881) 2026-02-03 23:04:09 -05:00
docker server is striped 2026-02-06 22:00:56 +00:00
e2e server is striped 2026-02-06 22:00:56 +00:00
i18n server is striped 2026-02-06 22:00:56 +00:00
mobile server is striped 2026-02-06 22:00:56 +00:00
open-api server is striped 2026-02-06 22:00:56 +00:00
server server is striped 2026-02-06 22:00:56 +00:00
web server is striped 2026-02-06 22:00:56 +00:00
.dockerignore chore: dockerfile layout changes (#19673) 2025-07-18 17:56:26 -04:00
.editorconfig chore: linting (#7532) 2026-01-04 16:05:56 +00:00
.env.example server is striped 2026-02-06 22:00:56 +00:00
.gitattributes chore: do not render drift migration auto gen files (#20060) 2025-07-21 16:48:22 -05:00
.gitignore server is striped 2026-02-06 22:00:56 +00:00
LICENSE Change license to AGPLv3 (#7046) 2024-02-12 15:31:59 +00:00
Makefile server is striped 2026-02-06 22:00:56 +00:00
package.json server is striped 2026-02-06 22:00:56 +00:00
pnpm-lock.yaml server is striped 2026-02-06 22:00:56 +00:00
pnpm-workspace.yaml server is striped 2026-02-06 22:00:56 +00:00
README.md server is striped 2026-02-06 22:00:56 +00:00

Core Monorepo

A full-stack monorepo template with NestJS (server), SvelteKit (web), and Flutter (mobile), powered by pnpm workspaces.

Architecture

server/       NestJS REST API with PostgreSQL + Redis
web/          SvelteKit frontend (static adapter)
mobile/       Flutter mobile app
e2e/          End-to-end tests (Vitest + Playwright)
open-api/     OpenAPI spec generation & TypeScript SDK
i18n/         Internationalization strings
docker/       Docker Compose for local development

Quick Start

# Install dependencies
pnpm install

# Start Postgres + Redis
make dev

# Or individually:
make dev-down     # Stop services
make build-server # Build NestJS server
make build-web    # Build SvelteKit app
make open-api     # Regenerate OpenAPI spec & SDK

Development

Command Description
make dev Start Docker services + web + server
make dev-down Stop all services
make build-server Build the NestJS server
make build-web Build the SvelteKit web app
make open-api Regenerate OpenAPI spec & SDKs
make test-server Run server unit tests
make test-e2e Run end-to-end tests
make lint-server Lint the server
make lint-web Lint the web app
make clean Remove containers, volumes, node_modules

Stack

  • Server: NestJS, Kysely (query builder), PostgreSQL 18, Redis
  • Web: SvelteKit 2, Svelte 5, TailwindCSS, @immich/ui
  • Mobile: Flutter / Dart
  • API: Auto-generated OpenAPI spec with TypeScript SDK via oazapfts
  • Auth: JWT (access + refresh tokens), API keys, session management
  • i18n: svelte-i18n with English base locale