[Feature] Support Nikon RAW (NEF) format #288

Closed
opened 2026-02-04 19:21:55 +03:00 by OVERLORD · 1 comment
Owner

Originally created by @crowell on GitHub (Sep 10, 2022).

Describe the bug
I have Nikon NEF raw files in my Apple Photos https://www.nikonusa.com/en/learn-and-explore/a/products-and-innovation/nikon-electronic-format-nef.html

My phone tries to sync these files, and it appears they never get properly processed by immich.

a sample NEF file can be found here https://crowell.biz/junk/DSC_0002.nef

Task List

Please complete the task list below. We need this information to help us reproduce the bug or point out problems in your setup. You are not providing enough info may delay our effort to help you.

  • I have read thoroughly the README setup and installation instructions.
  • I have included my docker-compose file.
  • I have included my redacted .env file.
  • I have included information on my machine, and environment.

To Reproduce
Steps to reproduce the behavior:

  1. Add .NEF files to apple photos
  2. try to autosync
  3. it never completes

Expected behavior
NEF files to be uploaded and processed by immich

Screenshots
If applicable, add screenshots to help explain your problem.
Screenshot 2022-09-10 at 1 30 35 PM

System

  • Phone OS iOS 15.6.1
  • Server Version: v1.28.1
  • Mobile App Version: 1.28.0 build 55

Additional context
the immich-cli seems to just ignore these files

jeff@winters ~/Downloads/upl $ ls
sample1.nef
jeff@winters ~/Downloads/upl $ immich upload --email "my@email.com" --password "my-secure-password" --server "https://photos.crowell.biz:443/api" -d $(pwd)
[1] Pinging server...
Server status: OK
[2] Logging in...
Login status: OK
You are logged in as my@email.com
[3] Checking directory...
Directory status: OK
[4] Indexing files...
Indexing file: OK
Found 0 assets in specified directory
[5] Gathering device's asset info from server...
All assets have been backup to the server

docker-compose:

version: "3.8"

services:
  immich-server:
    image: altran1502/immich-server:release
    entrypoint: ["/bin/sh", "./start-server.sh"]
    volumes:
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
    env_file:
      - .env
    environment:
      - NODE_ENV=production
    depends_on:
      - redis
      - database
    restart: always

  immich-microservices:
    image: altran1502/immich-server:release
    entrypoint: ["/bin/sh", "./start-microservices.sh"]
    volumes:
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
    env_file:
      - .env
    environment:
      - NODE_ENV=production
    depends_on:
      - redis
      - database
    restart: always

  immich-machine-learning:
    image: altran1502/immich-machine-learning:release
    entrypoint: ["/bin/sh", "./entrypoint.sh"]
    volumes:
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
    env_file:
      - .env
    environment:
      - NODE_ENV=production
    depends_on:
      - database
    restart: always

  immich-web:
    image: altran1502/immich-web:release
    entrypoint: ["/bin/sh", "./entrypoint.sh"]
    env_file:
      - .env
    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: altran1502/immich-proxy:release
    ports:
      - 2283:80
    logging:
      driver: none
    depends_on:
      - immich-server
    restart: always

volumes:
  pgdata:

env

###################################################################################
# Database
###################################################################################

DB_HOSTNAME=immich_postgres
DB_USERNAME=postgres
DB_PASSWORD=postgres
DB_DATABASE_NAME=immich

# Optional Database settings:
# DB_PORT=5432




###################################################################################
# Redis
###################################################################################

REDIS_HOSTNAME=immich_redis

# Optional Redis settings:
# REDIS_PORT=6379
# REDIS_DBINDEX=0
# REDIS_PASSWORD=
# REDIS_SOCKET=





###################################################################################
# Upload File Config
###################################################################################

UPLOAD_LOCATION=/home/ubuntu/immich/data




###################################################################################
# JWT SECRET
###################################################################################

JWT_SECRET=REDACTED



###################################################################################
# MAPBOX
####################################################################################

# ENABLE_MAPBOX is either true of false -> if true, you have to provide MAPBOX_KEY
ENABLE_MAPBOX=true
MAPBOX_KEY=REDACTED

####################################################################################
# WEB - Optional
####################################################################################

# Custom message on the login page, should be written in HTML form.
# For example PUBLIC_LOGIN_PAGE_MESSAGE="This is a demo instance of Immich.<br><br>Email: <i>demo@demo.de</i><br>Password: <i>demo</i>"

PUBLIC_LOGIN_PAGE_MESSAGE=
Originally created by @crowell on GitHub (Sep 10, 2022). **Describe the bug** I have Nikon NEF raw files in my Apple Photos https://www.nikonusa.com/en/learn-and-explore/a/products-and-innovation/nikon-electronic-format-nef.html My phone tries to sync these files, and it appears they never get properly processed by immich. a sample NEF file can be found here https://crowell.biz/junk/DSC_0002.nef **Task List** *Please complete the task list below. We need this information to help us reproduce the bug or point out problems in your setup. You are not providing enough info may delay our effort to help you.* - [x] I have read thoroughly the README setup and installation instructions. - [x] I have included my `docker-compose` file. - [x] I have included my redacted `.env` file. - [x] I have included information on my machine, and environment. **To Reproduce** Steps to reproduce the behavior: 1. Add .NEF files to apple photos 2. try to autosync 3. it never completes **Expected behavior** NEF files to be uploaded and processed by immich **Screenshots** If applicable, add screenshots to help explain your problem. ![Screenshot 2022-09-10 at 1 30 35 PM](https://user-images.githubusercontent.com/616288/189495032-3bdd381b-ff39-47f5-9433-7536388c9448.jpeg) **System** - Phone OS iOS 15.6.1 - Server Version: v1.28.1 - Mobile App Version: 1.28.0 build 55 **Additional context** the immich-cli seems to just ignore these files ``` jeff@winters ~/Downloads/upl $ ls sample1.nef jeff@winters ~/Downloads/upl $ immich upload --email "my@email.com" --password "my-secure-password" --server "https://photos.crowell.biz:443/api" -d $(pwd) [1] Pinging server... Server status: OK [2] Logging in... Login status: OK You are logged in as my@email.com [3] Checking directory... Directory status: OK [4] Indexing files... Indexing file: OK Found 0 assets in specified directory [5] Gathering device's asset info from server... All assets have been backup to the server ``` docker-compose: ```yaml version: "3.8" services: immich-server: image: altran1502/immich-server:release entrypoint: ["/bin/sh", "./start-server.sh"] volumes: - ${UPLOAD_LOCATION}:/usr/src/app/upload env_file: - .env environment: - NODE_ENV=production depends_on: - redis - database restart: always immich-microservices: image: altran1502/immich-server:release entrypoint: ["/bin/sh", "./start-microservices.sh"] volumes: - ${UPLOAD_LOCATION}:/usr/src/app/upload env_file: - .env environment: - NODE_ENV=production depends_on: - redis - database restart: always immich-machine-learning: image: altran1502/immich-machine-learning:release entrypoint: ["/bin/sh", "./entrypoint.sh"] volumes: - ${UPLOAD_LOCATION}:/usr/src/app/upload env_file: - .env environment: - NODE_ENV=production depends_on: - database restart: always immich-web: image: altran1502/immich-web:release entrypoint: ["/bin/sh", "./entrypoint.sh"] env_file: - .env 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: altran1502/immich-proxy:release ports: - 2283:80 logging: driver: none depends_on: - immich-server restart: always volumes: pgdata: ``` env ``` ################################################################################### # Database ################################################################################### DB_HOSTNAME=immich_postgres DB_USERNAME=postgres DB_PASSWORD=postgres DB_DATABASE_NAME=immich # Optional Database settings: # DB_PORT=5432 ################################################################################### # Redis ################################################################################### REDIS_HOSTNAME=immich_redis # Optional Redis settings: # REDIS_PORT=6379 # REDIS_DBINDEX=0 # REDIS_PASSWORD= # REDIS_SOCKET= ################################################################################### # Upload File Config ################################################################################### UPLOAD_LOCATION=/home/ubuntu/immich/data ################################################################################### # JWT SECRET ################################################################################### JWT_SECRET=REDACTED ################################################################################### # MAPBOX #################################################################################### # ENABLE_MAPBOX is either true of false -> if true, you have to provide MAPBOX_KEY ENABLE_MAPBOX=true MAPBOX_KEY=REDACTED #################################################################################### # WEB - Optional #################################################################################### # Custom message on the login page, should be written in HTML form. # For example PUBLIC_LOGIN_PAGE_MESSAGE="This is a demo instance of Immich.<br><br>Email: <i>demo@demo.de</i><br>Password: <i>demo</i>" PUBLIC_LOGIN_PAGE_MESSAGE= ```
Author
Owner

@Sixth2538 commented on GitHub (Sep 20, 2022):

Will be great if Olympus (ORF) and amongst many other raw format can be supported as well! Thanks devs!

@Sixth2538 commented on GitHub (Sep 20, 2022): Will be great if Olympus (ORF) and amongst many other raw format can be supported as well! Thanks devs!
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: immich-app/immich#288