Skip to content

daemonless/immich-server

Repository files navigation

Immich Server

Build Status Last Commit

Self-hosted photo and video backup and management server with web UI, mobile sync, and shared albums.

Port 2283
Registry ghcr.io/daemonless/immich-server
Source https://github.com/immich-app/immich
Website https://immich.app/

Version Tags

Tag Description Best For
latest Upstream Binary. Built from official release. Most users. Matches Linux Docker behavior.
beta Beta release built from upstream v3.0.0-rc.0. Alternative build.

Prerequisites

Before deploying, ensure your host environment is ready. See the Quick Start Guide for host setup instructions.

Deployment

Podman Compose

services:
  immich-server:
    image: "ghcr.io/daemonless/immich-server:latest"
    container_name: immich-server
    environment:
      - DB_HOSTNAME=immich-postgres  # Postgres database hostname
      - DB_USERNAME=postgres  # Postgres database user
      - DB_PASSWORD=postgres  # Postgres database password
      - DB_DATABASE_NAME=immich  # Postgres database name
      - REDIS_HOSTNAME=immich-redis  # Redis hostname
      - PUID=1000  # User ID for the application process
      - PGID=1000  # Group ID for the application process
      - TZ=UTC  # Timezone for the container
    volumes:
      - "/path/to/containers/immich-server:/config"
      - "/path/to/containers/immich-server/data:/data"
    ports:
      - "2283:2283"
    restart: unless-stopped

AppJail Director

.env:

DIRECTOR_PROJECT=immich-server
DB_HOSTNAME=immich-postgres
DB_USERNAME=postgres
DB_PASSWORD=postgres
DB_DATABASE_NAME=immich
REDIS_HOSTNAME=immich-redis
PUID=1000
PGID=1000
TZ=UTC

appjail-director.yml:

options:
  - virtualnet: ':<random> default'
  - nat:
services:
  immich-server:
    name: immich_server
    options:
      - container: 'boot args:--pull'
    oci:
      user: root
      environment:
        - DB_HOSTNAME: !ENV '${DB_HOSTNAME}'
        - DB_USERNAME: !ENV '${DB_USERNAME}'
        - DB_PASSWORD: !ENV '${DB_PASSWORD}'
        - DB_DATABASE_NAME: !ENV '${DB_DATABASE_NAME}'
        - REDIS_HOSTNAME: !ENV '${REDIS_HOSTNAME}'
        - PUID: !ENV '${PUID}'
        - PGID: !ENV '${PGID}'
        - TZ: !ENV '${TZ}'
    volumes:
      - immich-server: /config
      - immich-server_data: /data
volumes:
  immich-server:
    device: '/path/to/containers/immich-server'
  immich-server_data:
    device: '/path/to/containers/immich-server/data'

Makejail:

ARG tag=latest

OPTION overwrite=force
OPTION from=ghcr.io/daemonless/immich-server:${tag}

Podman CLI

podman run -d --name immich-server \
  -p 2283:2283 \
  -e DB_HOSTNAME=immich-postgres \
  -e DB_USERNAME=postgres \
  -e DB_PASSWORD=postgres \
  -e DB_DATABASE_NAME=immich \
  -e REDIS_HOSTNAME=immich-redis \
  -e PUID=1000 \
  -e PGID=1000 \
  -e TZ=UTC \
  -v /path/to/containers/immich-server:/config \
  -v /path/to/containers/immich-server/data:/data \
  ghcr.io/daemonless/immich-server:latest

Ansible

- name: Deploy immich-server
  containers.podman.podman_container:
    name: immich-server
    image: "ghcr.io/daemonless/immich-server:latest"
    state: started
    restart_policy: always
    env:
      DB_HOSTNAME: "immich-postgres"
      DB_USERNAME: "postgres"
      DB_PASSWORD: "postgres"
      DB_DATABASE_NAME: "immich"
      REDIS_HOSTNAME: "immich-redis"
      PUID: "1000"
      PGID: "1000"
      TZ: "UTC"
    ports:
      - "2283:2283"
    volumes:
      - "/path/to/containers/immich-server:/config"
      - "/path/to/containers/immich-server/data:/data"

Parameters

Environment Variables

Variable Default Description
DB_HOSTNAME immich-postgres Postgres database hostname
DB_USERNAME postgres Postgres database user
DB_PASSWORD postgres Postgres database password
DB_DATABASE_NAME immich Postgres database name
REDIS_HOSTNAME immich-redis Redis hostname
PUID 1000 User ID for the application process
PGID 1000 Group ID for the application process
TZ UTC Timezone for the container

Volumes

Path Description
/config Configuration directory (unused but mounted)
/data Media storage (photos, videos, thumbnails)

Ports

Port Protocol Description
2283 TCP Web UI/API

This image is part of the Immich Stack.

Architectures: amd64 User: bsd (UID/GID via PUID/PGID, defaults to 1000:1000) Base: FreeBSD 15.0


Need help? Join our Discord community.

About

Native FreeBSD OCI container image for Immich Server

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors