๐Ÿ“ฆ immich-app / immich

๐Ÿ“„ docker-compose.dev.yml ยท 106 lines
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106name: immich-e2e

services:
  immich-server:
    container_name: immich-e2e-server
    command: ['immich-dev']
    image: immich-server-dev:latest
    build:
      context: ../
      dockerfile: server/Dockerfile.dev
      target: dev
    environment:
      - DB_HOSTNAME=database
      - DB_USERNAME=postgres
      - DB_PASSWORD=postgres
      - DB_DATABASE_NAME=immich
      - IMMICH_MACHINE_LEARNING_ENABLED=false
      - IMMICH_TELEMETRY_INCLUDE=all
      - IMMICH_ENV=testing
      - IMMICH_PORT=2285
      - IMMICH_IGNORE_MOUNT_CHECK_ERRORS=true
    volumes:
      - ./test-assets:/test-assets
      - ..:/usr/src/app
      - ${UPLOAD_LOCATION}/photos:/data
      - /etc/localtime:/etc/localtime:ro
      - pnpm-store:/usr/src/app/.pnpm-store
      - server-node_modules:/usr/src/app/server/node_modules
      - web-node_modules:/usr/src/app/web/node_modules
      - github-node_modules:/usr/src/app/.github/node_modules
      - cli-node_modules:/usr/src/app/cli/node_modules
      - docs-node_modules:/usr/src/app/docs/node_modules
      - e2e-node_modules:/usr/src/app/e2e/node_modules
      - sdk-node_modules:/usr/src/app/open-api/typescript-sdk/node_modules
      - app-node_modules:/usr/src/app/node_modules
      - sveltekit:/usr/src/app/web/.svelte-kit
      - coverage:/usr/src/app/web/coverage
      - ../plugins:/build/corePlugin
    depends_on:
      redis:
        condition: service_started
      database:
        condition: service_healthy

  immich-web:
    container_name: immich-e2e-web
    image: immich-web-dev:latest
    build:
      context: ../
      dockerfile: server/Dockerfile.dev
      target: dev
    command: ['immich-web']
    ports:
      - 2285:3000
    environment:
      - IMMICH_SERVER_URL=http://immich-server:2285/
    volumes:
      - ..:/usr/src/app
      - pnpm-store:/usr/src/app/.pnpm-store
      - server-node_modules:/usr/src/app/server/node_modules
      - web-node_modules:/usr/src/app/web/node_modules
      - github-node_modules:/usr/src/app/.github/node_modules
      - cli-node_modules:/usr/src/app/cli/node_modules
      - docs-node_modules:/usr/src/app/docs/node_modules
      - e2e-node_modules:/usr/src/app/e2e/node_modules
      - sdk-node_modules:/usr/src/app/open-api/typescript-sdk/node_modules
      - app-node_modules:/usr/src/app/node_modules
      - sveltekit:/usr/src/app/web/.svelte-kit
      - coverage:/usr/src/app/web/coverage
    restart: unless-stopped

  redis:
    image: redis:6.2-alpine@sha256:37e002448575b32a599109664107e374c8709546905c372a34d64919043b9ceb

  database:
    image: ghcr.io/immich-app/postgres:14-vectorchord0.3.0@sha256:6f3e9d2c2177af16c2988ff71425d79d89ca630ec2f9c8db03209ab716542338
    command: -c fsync=off -c shared_preload_libraries=vchord.so -c config_file=/var/lib/postgresql/data/postgresql.conf
    environment:
      POSTGRES_PASSWORD: postgres
      POSTGRES_USER: postgres
      POSTGRES_DB: immich
    ports:
      - 5435:5432
    healthcheck:
      test: ['CMD-SHELL', 'pg_isready -U postgres -d immich']
      interval: 1s
      timeout: 5s
      retries: 30
      start_period: 10s

volumes:
  model-cache:
  prometheus-data:
  grafana-data:
  pnpm-store:
  server-node_modules:
  web-node_modules:
  github-node_modules:
  cli-node_modules:
  docs-node_modules:
  e2e-node_modules:
  sdk-node_modules:
  app-node_modules:
  sveltekit:
  coverage: