immich-app / immich

High performance self-hosted photo and video management solution.
https://immich.app
GNU Affero General Public License v3.0
51.23k stars 2.71k forks source link

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

Closed crowell closed 2 years ago

crowell commented 2 years ago

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.

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

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=
Sixth2538 commented 2 years ago

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