mirror of
				https://github.com/immich-app/immich
				synced 2025-10-17 18:19:27 +00:00 
			
		
		
		
	chore: update devcontainers for trixie, devenv changes (#22194)
This commit is contained in:
		
							parent
							
								
									2de1b832e5
								
							
						
					
					
						commit
						ff01af2450
					
				
					 3 changed files with 46 additions and 34 deletions
				
			
		| 
						 | 
				
			
			@ -6,28 +6,35 @@ services:
 | 
			
		|||
      - IMMICH_SERVER_URL=http://127.0.0.1:2283/
 | 
			
		||||
    volumes: !override # bind mount host to /workspaces/immich
 | 
			
		||||
      - ..:/workspaces/immich
 | 
			
		||||
      - cli_node_modules:/workspaces/immich/cli/node_modules
 | 
			
		||||
      - e2e_node_modules:/workspaces/immich/e2e/node_modules
 | 
			
		||||
      - open_api_node_modules:/workspaces/immich/open-api/typescript-sdk/node_modules
 | 
			
		||||
      - server_node_modules:/workspaces/immich/server/node_modules
 | 
			
		||||
      - web_node_modules:/workspaces/immich/web/node_modules
 | 
			
		||||
      - ${UPLOAD_LOCATION}/photos:/data
 | 
			
		||||
      - ${UPLOAD_LOCATION:-upload-devcontainer-volume}${UPLOAD_LOCATION:+/photos}:/data
 | 
			
		||||
      - 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
 | 
			
		||||
      - /etc/localtime:/etc/localtime:ro
 | 
			
		||||
 | 
			
		||||
  immich-web:
 | 
			
		||||
    env_file: !reset []
 | 
			
		||||
  immich-machine-learning:
 | 
			
		||||
    env_file: !reset []
 | 
			
		||||
  database:
 | 
			
		||||
    env_file: !reset []
 | 
			
		||||
    environment: !override
 | 
			
		||||
      POSTGRES_PASSWORD: ${DB_PASSWORD-postgres}
 | 
			
		||||
      POSTGRES_USER: ${DB_USERNAME-postgres}
 | 
			
		||||
      POSTGRES_DB: ${DB_DATABASE_NAME-immich}
 | 
			
		||||
      POSTGRES_INITDB_ARGS: '--data-checksums'
 | 
			
		||||
      POSTGRES_HOST_AUTH_METHOD: md5
 | 
			
		||||
    volumes:
 | 
			
		||||
      - ${UPLOAD_LOCATION}/postgres:/var/lib/postgresql/data
 | 
			
		||||
 | 
			
		||||
      - ${UPLOAD_LOCATION:-postgres-devcontainer-volume}${UPLOAD_LOCATION:+/postgres}:/var/lib/postgresql/data
 | 
			
		||||
  redis:
 | 
			
		||||
    env_file: !reset []
 | 
			
		||||
volumes:
 | 
			
		||||
  # Node modules for each service to avoid conflicts and ensure consistent dependencies
 | 
			
		||||
  cli_node_modules:
 | 
			
		||||
  e2e_node_modules:
 | 
			
		||||
  open_api_node_modules:
 | 
			
		||||
  server_node_modules:
 | 
			
		||||
  web_node_modules:
 | 
			
		||||
 | 
			
		||||
  # UPLOAD_LOCATION must be set to a absolute path or vol-upload
 | 
			
		||||
  vol-upload:
 | 
			
		||||
 | 
			
		||||
  # DB_DATA_LOCATION must be set to a absolute path or vol-database
 | 
			
		||||
  vol-database:
 | 
			
		||||
  upload-devcontainer-volume:
 | 
			
		||||
  postgres-devcontainer-volume:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -40,7 +40,7 @@
 | 
			
		|||
  "userEnvProbe": "loginInteractiveShell",
 | 
			
		||||
  "remoteEnv": {
 | 
			
		||||
    // The location where your uploaded files are stored
 | 
			
		||||
    "UPLOAD_LOCATION": "${localEnv:UPLOAD_LOCATION:./Library}",
 | 
			
		||||
    "UPLOAD_LOCATION": "${localEnv:UPLOAD_LOCATION:./library}",
 | 
			
		||||
    //  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
 | 
			
		||||
    "DB_PASSWORD": "${localEnv:DB_PASSWORD:postgres}",
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -27,8 +27,8 @@ ENTRYPOINT ["tini", "--", "/bin/bash", "-c"]
 | 
			
		|||
FROM dev AS dev-container-server
 | 
			
		||||
 | 
			
		||||
RUN apt-get update --allow-releaseinfo-change && \
 | 
			
		||||
  apt-get install sudo inetutils-ping openjdk-11-jre-headless \
 | 
			
		||||
  vim nano \
 | 
			
		||||
  apt-get install sudo inetutils-ping openjdk-21-jre-headless \
 | 
			
		||||
  vim nano curl \
 | 
			
		||||
  -y --no-install-recommends --fix-missing
 | 
			
		||||
 | 
			
		||||
RUN usermod -aG sudo node && \
 | 
			
		||||
| 
						 | 
				
			
			@ -44,13 +44,18 @@ FROM dev-container-server AS dev-container-mobile
 | 
			
		|||
USER root
 | 
			
		||||
# Enable multiarch for arm64 if necessary
 | 
			
		||||
RUN if [ "$(dpkg --print-architecture)" = "arm64" ]; then \
 | 
			
		||||
  dpkg --add-architecture amd64 && \
 | 
			
		||||
  apt-get update && \
 | 
			
		||||
  apt-get install -y --no-install-recommends \
 | 
			
		||||
  qemu-user-static \
 | 
			
		||||
  libc6:amd64 \
 | 
			
		||||
  libstdc++6:amd64 \
 | 
			
		||||
  libgcc1:amd64; \
 | 
			
		||||
    dpkg --add-architecture amd64 && \
 | 
			
		||||
    apt-get update && \
 | 
			
		||||
    apt-get install -y --no-install-recommends \
 | 
			
		||||
    gnupg \
 | 
			
		||||
    qemu-user-static \
 | 
			
		||||
    libc6:amd64 \
 | 
			
		||||
    libstdc++6:amd64 \
 | 
			
		||||
    libgcc1:amd64; \
 | 
			
		||||
  else \
 | 
			
		||||
    apt-get update && \
 | 
			
		||||
    apt-get install -y --no-install-recommends \
 | 
			
		||||
    gnupg; \
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
# Flutter SDK
 | 
			
		||||
| 
						 | 
				
			
			@ -65,11 +70,11 @@ RUN mkdir -p ${FLUTTER_HOME} \
 | 
			
		|||
  && curl -C - --output flutter.tar.xz https://storage.googleapis.com/flutter_infra_release/releases/${FLUTTER_CHANNEL}/linux/flutter_linux_${FLUTTER_VERSION}-${FLUTTER_CHANNEL}.tar.xz \
 | 
			
		||||
  && tar -xf flutter.tar.xz --strip-components=1 -C ${FLUTTER_HOME} \
 | 
			
		||||
  && rm flutter.tar.xz \
 | 
			
		||||
  && chown -R node ${FLUTTER_HOME}
 | 
			
		||||
  && chown -R node ${FLUTTER_HOME} \
 | 
			
		||||
  && git config --global --add safe.directory ${FLUTTER_HOME}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
RUN apt-get update \
 | 
			
		||||
  && wget -qO- https://dcm.dev/pgp-key.public | gpg --dearmor -o /usr/share/keyrings/dcm.gpg \
 | 
			
		||||
RUN wget -qO- https://dcm.dev/pgp-key.public | gpg --dearmor -o /usr/share/keyrings/dcm.gpg \
 | 
			
		||||
  && echo 'deb [signed-by=/usr/share/keyrings/dcm.gpg arch=amd64] https://dcm.dev/debian stable main' | tee /etc/apt/sources.list.d/dart_stable.list \
 | 
			
		||||
  && apt-get update \
 | 
			
		||||
  && apt-get install dcm -y
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue