[BUG] immich_server does not use default route on custom network #1977

Closed
opened 2026-02-05 04:39:56 +03:00 by OVERLORD · 0 comments
Owner

Originally created by @github-cli on GitHub (Jan 10, 2024).

The bug

The immich_server does not seem to use the default gateway if configured with a network
it can be reached from within the same subnet but not outside of it, no traffic from immich is sent to the gateway

it works fine if not configured with a network and instead using the hosts IP

The OS that Immich Server is running on

Ubuntu 20.04.6

Version of Immich Server

v1.92.1

Version of Immich Mobile App

none

Platform with the issue

  • Server
  • Web
  • Mobile

Your docker-compose.yml content

version: "2.4"

#
# WARNING: Make sure to use the docker-compose.yml of the current release:
#
# https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
#
# The compose file on main may not be compatible with the latest release.
#

name: immich

services:
  immich-server:
    container_name: immich_server
    image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
    command: [ "start.sh", "immich" ]
    volumes:
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
      - /etc/localtime:/etc/localtime:ro
    env_file:
      - .env
    depends_on:
      - redis
      - database
    restart: unless-stopped
    networks:
      macvlan108:
        ipv4_address: 192.168.108.120
      swag9:
      immich-shared:

  immich-microservices:
    container_name: immich_microservices
    image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
    extends:
      file: hwaccel.yml
      service: hwaccel
    command: [ "start.sh", "microservices" ]
    volumes:
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
      - /etc/localtime:/etc/localtime:ro
    env_file:
      - .env
    depends_on:
      - redis
      - database
    restart: unless-stopped
    networks:
      immich-shared:

  immich-machine-learning:
    container_name: immich_machine_learning
    image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}
    volumes:
      - /mnt/sda/+DockerVolumes/immich/model-cache:/cache
    env_file:
      - .env
    restart: unless-stopped
    networks:
      immich-shared:

  redis:
    container_name: immich_redis
    image: redis:6.2-alpine@sha256:c5a607fb6e1bb15d32bbcf14db22787d19e428d59e31a5da67511b49bb0f1ccc
    restart: unless-stopped
    networks:
      immich-shared:

  database:
    container_name: immich_postgres
    image: tensorchord/pgvecto-rs:pg14-v0.1.11@sha256:0335a1a22f8c5dd1b697f14f079934f5152eaaa216c09b61e293be285491f8ee
    env_file:
      - .env
    environment:
      POSTGRES_PASSWORD: ${DB_PASSWORD}
      POSTGRES_USER: ${DB_USERNAME}
      POSTGRES_DB: ${DB_DATABASE_NAME}
    volumes:
      - /mnt/sda/+DockerVolumes/immich/pgdata:/var/lib/postgresql/data
    restart: unless-stopped
    networks:
      immich-shared:

networks:
  swag9:
    name: swag9
    ipam:
      config:
        - subnet: 172.31.0.72/29
    driver: macvlan
  immich-shared:
    name: immich-shared
    ipam:
      config:
        - subnet: 172.31.255.56/29
    driver: macvlan
  macvlan108:
    name: macvlan108
    driver: macvlan
    driver_opts:
      parent: eth0.108
    ipam:
      driver: default
      config:
        - subnet: 192.168.108.0/24
          gateway: 192.168.108.1

Your .env content

# You can find documentation for all the supported env variables at https://immich.app/docs/install/environment-variables

# The location where your uploaded files are stored
UPLOAD_LOCATION=./vols/library

# The Immich version to use. You can pin this to a specific version like "v1.71.0"
IMMICH_VERSION=release

# Connection secret for postgres. You should change it to a random password
DB_PASSWORD=<redacted>

# The values below this line do not need to be changed
###################################################################################
DB_HOSTNAME=immich_postgres
DB_USERNAME=postgres
DB_DATABASE_NAME=immich

REDIS_HOSTNAME=immich_redis

Reproduction steps

1. try to access from a different subnet -> access and ping fails
2. try to access from same subnet -> access to web ui and ping works
3. analyze traffic -> no traffic from immich_server is ever sent to the gateway
...

Additional information

No response

Originally created by @github-cli on GitHub (Jan 10, 2024). ### The bug The immich_server does not seem to use the default gateway if configured with a network it can be reached from within the same subnet but not outside of it, no traffic from immich is sent to the gateway it works fine if not configured with a network and instead using the hosts IP ### The OS that Immich Server is running on Ubuntu 20.04.6 ### Version of Immich Server v1.92.1 ### Version of Immich Mobile App none ### Platform with the issue - [X] Server - [ ] Web - [ ] Mobile ### Your docker-compose.yml content ```YAML version: "2.4" # # WARNING: Make sure to use the docker-compose.yml of the current release: # # https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml # # The compose file on main may not be compatible with the latest release. # name: immich services: immich-server: container_name: immich_server image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release} command: [ "start.sh", "immich" ] volumes: - ${UPLOAD_LOCATION}:/usr/src/app/upload - /etc/localtime:/etc/localtime:ro env_file: - .env depends_on: - redis - database restart: unless-stopped networks: macvlan108: ipv4_address: 192.168.108.120 swag9: immich-shared: immich-microservices: container_name: immich_microservices image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release} extends: file: hwaccel.yml service: hwaccel command: [ "start.sh", "microservices" ] volumes: - ${UPLOAD_LOCATION}:/usr/src/app/upload - /etc/localtime:/etc/localtime:ro env_file: - .env depends_on: - redis - database restart: unless-stopped networks: immich-shared: immich-machine-learning: container_name: immich_machine_learning image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release} volumes: - /mnt/sda/+DockerVolumes/immich/model-cache:/cache env_file: - .env restart: unless-stopped networks: immich-shared: redis: container_name: immich_redis image: redis:6.2-alpine@sha256:c5a607fb6e1bb15d32bbcf14db22787d19e428d59e31a5da67511b49bb0f1ccc restart: unless-stopped networks: immich-shared: database: container_name: immich_postgres image: tensorchord/pgvecto-rs:pg14-v0.1.11@sha256:0335a1a22f8c5dd1b697f14f079934f5152eaaa216c09b61e293be285491f8ee env_file: - .env environment: POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_USER: ${DB_USERNAME} POSTGRES_DB: ${DB_DATABASE_NAME} volumes: - /mnt/sda/+DockerVolumes/immich/pgdata:/var/lib/postgresql/data restart: unless-stopped networks: immich-shared: networks: swag9: name: swag9 ipam: config: - subnet: 172.31.0.72/29 driver: macvlan immich-shared: name: immich-shared ipam: config: - subnet: 172.31.255.56/29 driver: macvlan macvlan108: name: macvlan108 driver: macvlan driver_opts: parent: eth0.108 ipam: driver: default config: - subnet: 192.168.108.0/24 gateway: 192.168.108.1 ``` ### Your .env content ```Shell # You can find documentation for all the supported env variables at https://immich.app/docs/install/environment-variables # The location where your uploaded files are stored UPLOAD_LOCATION=./vols/library # The Immich version to use. You can pin this to a specific version like "v1.71.0" IMMICH_VERSION=release # Connection secret for postgres. You should change it to a random password DB_PASSWORD=<redacted> # The values below this line do not need to be changed ################################################################################### DB_HOSTNAME=immich_postgres DB_USERNAME=postgres DB_DATABASE_NAME=immich REDIS_HOSTNAME=immich_redis ``` ### Reproduction steps ```bash 1. try to access from a different subnet -> access and ping fails 2. try to access from same subnet -> access to web ui and ping works 3. analyze traffic -> no traffic from immich_server is ever sent to the gateway ... ``` ### Additional information _No response_
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: immich-app/immich#1977