hunk.code_window:     build:
         context: ../nginx
         dockerfile: Dockerfile
       ports:
         - 2283:8080
       logging:
         driver: none
       depends_on:
         - immich-server
       restart: always
  
hunk.labels: keep keep keep keep keep replace replace keep keep keep keep
hunk.file_path: docker/docker-compose.dev.yml
hunk.type: replace
file: version: "3.8"
  
  services:
    immich-server:
      container_name: immich_server
      image: ghcr.io/immich-app/immich-server:release
      entrypoint: ["/bin/sh", "./start-server.sh"]
      volumes:
        - ${UPLOAD_LOCATION}:/usr/src/app/upload
      env_file:
        - .env
      depends_on:
        - redis
        - database
        - typesense
      restart: always
  
    immich-microservices:
      container_name: immich_microservices
      image: ghcr.io/immich-app/immich-server:release
      entrypoint: ["/bin/sh", "./start-microservices.sh"]
      volumes:
        - ${UPLOAD_LOCATION}:/usr/src/app/upload
      env_file:
        - .env
      depends_on:
        - redis
        - database
        - typesense
      restart: always
  
    immich-machine-learning:
      container_name: immich_machine_learning
      image: ghcr.io/immich-app/immich-machine-learning:release
      volumes:
        - ${UPLOAD_LOCATION}:/usr/src/app/upload
        - model-cache:/cache
      env_file:
        - .env
      restart: always
  
    immich-web:
      container_name: immich_web
      image: ghcr.io/immich-app/immich-web:release
      entrypoint: ["/bin/sh", "./entrypoint.sh"]
      env_file:
        - .env
      restart: always
  
    typesense:
      container_name: immich_typesense
      image: typesense/typesense:0.24.0
      environment:
        - TYPESENSE_API_KEY=${TYPESENSE_API_KEY}
        - TYPESENSE_DATA_DIR=/data
      logging:
        driver: none
      volumes:
        - tsdata:/data
      restart: always
  
    redis:
      container_name: immich_redis
      image: redis:6.2
      restart: always
  
    database:
      container_name: immich_postgres
      image: postgres:14
      env_file:
        - .env
      environment:
        POSTGRES_PASSWORD: ${DB_PASSWORD}
        POSTGRES_USER: ${DB_USERNAME}
        POSTGRES_DB: ${DB_DATABASE_NAME}
        PG_DATA: /var/lib/postgresql/data
      volumes:
        - pgdata:/var/lib/postgresql/data
      restart: always
  
    immich-proxy:
      container_name: immich_proxy
      image: ghcr.io/immich-app/immich-proxy:release
      environment:
        # Make sure these values get passed through from the env file
        - IMMICH_SERVER_URL
        - IMMICH_WEB_URL
      ports:
        - 2283:8080
      logging:
        driver: none
      depends_on:
        - immich-server
      restart: always
  
  volumes:
    pgdata:
    model-cache:
    tsdata:
  