Immich-Go 는 대규모 사진 컬렉션을 자체 호스팅 Immich 서버에 업로드하는 작업을 간소화하도록 설계된 오픈 소스 도구입니다.
Immich-go
에서 내 작업을 지원할 수 있습니다.사진 꺼내기:
사진 가져오기:
/path/to/your/files/takeout-*.zip
파일 이름으로 사용하세요.-google-photos
옵션을 잊지 마세요.많은 파일을 가져올 수 없습니다 . 옵션은 무엇입니까?
-upload-when-missing-JSON
옵션을 사용하세요. immich-cli
에 대한 이 대안의 이유에 대한 통찰력을 얻으려면 여기에서 동기를 읽어 보십시오.
⚠️ 아직 광범위하게 테스트되지 않은 초기 버전입니다.⚠️ 안전을 위해 파일의 백업 복사본을 보관하세요
immich-go
실행 중 immich-go
터미널 창에서 실행해야 하는 명령줄 도구입니다.
immich-go
프로그램은 Immich API를 사용합니다. 따라서 서버 주소와 유효한 API 키가 필요합니다.
Linux, macOS 및 FreeBSD 친구의 경우:
./immich-go -server=URL -key=KEY -general_options COMMAND -command_options... {path/to/files}
중요한
macOS 사용자는 immich-go 실행을 명시적으로 허용해야 합니다. 개인정보 보호 및 보안 > 보안 설정을 열어 허용하세요.
Windows 시스템의 경우:
.immich - go - server = URL - key = KEY - general_options COMMAND - command_options.. . {path / to / files}
부울 옵션에는 아래에 표시된 기본값이 있습니다. 공통 행에서 옵션을 언급하면 옵션이 TRUE로 변경됩니다. 옵션을 FALSE로 강제 설정하려면 -option=FALSE
구문을 사용하세요.
예: Immich-go에서 서버의 SSL 인증서를 확인하세요. skip-verify-ssl
옵션을 켜서 이 동작을 비활성화할 수 있습니다. -skip-verify-ssl
만 추가하면 됩니다. -skip-verify-ssl
은 -skip-verify-ssl=TRUE
와 동일합니다. 이 기능을 끄려면(기본 동작) -skip-verify-ssl=FALSE
사용하세요.
매개변수 | 설명 | 기본값 |
---|---|---|
-use-configuration=path/to/config/file | 사용할 구성 파일을 지정합니다. 서버 URL과 API 키는 immich-go 구성 파일에 저장됩니다. 다음 실행에서는 생략될 수 있습니다. | 리눅스 $HOME/.config/immich-go/immich-go.json 윈도우 %AppData%immich-goimmich-go.json macOS $HOME/Library/Application Support/immich-go/immich-go.json |
-server=URL | Immich 서비스의 URL(예: http://:2283 또는 https://your-domain.tld) | |
-api=URL | Immich API 엔드포인트의 URL(http://container_ip:3301) | |
-device-uuid=VALUE | 강제로 장치 식별 | $HOSTNAME |
-client-timeout=duration | 서버 호출에 대한 시간 초과를 설정합니다. 지속 시간은 "300ms", "1.5m" 또는 "45m"와 같은 단위 접미사가 붙은 10진수입니다. 유효한 시간 단위는 "ms", "s", "m", "h"입니다. | 5m |
-skip-verify-ssl | 자체 서명된 인증서와 함께 사용하려면 SSL 확인을 건너뛰세요. | false |
-key=KEY | 사용자가 생성한 키입니다. 업로드된 사진은 열쇠 소유자의 소유가 됩니다. | |
-log-level=LEVEL | 다음과 같이 로그 상세 수준을 조정합니다. - ERROR : 오류만 표시- WARNING : 이전 경고와 동일 + 비차단 오류- INFO : 정보 메시지 | INFO |
-log-file=/path/to/log/file | 모든 메시지를 파일에 쓰기 | 리눅스 $HOME/.cache/immich-go/immich-go_YYYY-MM-DD_HH-MI-SS.log Windows %LocalAppData%immich-goimmich-go_YYYY-MM-DD_HH-MI-SS.log macOS $HOME/Library/Caches/immich-go/immich-go_YYYY-MM-DD_HH-MI-SS.log |
-log-json | 로그를 줄로 구분된 JSON 파일로 출력합니다. | false |
-time-zone=time_zone_name | 시간대 정보가 없는 날짜의 시간대 설정 | 시스템의 시간대 |
-no-ui | 사용자 인터페이스 비활성화 | false |
-debug-counters | 로그 파일 옆에 CSV 생성을 활성화합니다. | false |
-api-trace | API 호출 추적 활성화 | false |
upload
로컬 디렉터리, 압축 폴더 또는 Google 포토 테이크아웃 절차에서 생성된 모든 zip 파일에서 사진과 동영상을 업로드하려면 이 명령을 사용하세요.
매개변수 | 설명 | 기본값 |
---|---|---|
-album="ALBUM NAME" | Immich 앨범 ALBUM NAME 으로 자산을 가져옵니다. | |
-dry-run | 모든 작업이 완료될 때 미리 봅니다. | FALSE |
-create-album-folder | 폴더 이름 뒤에 immich 앨범을 생성합니다. | FALSE |
-use-full-path-album-name | 앨범 이름을 결정하려면 파일의 전체 경로를 사용하십시오. | FALSE |
-album-name-path-separator | 여러 (하위) 폴더가 있는 경우 결합 방법을 결정합니다. | |
-create-stacks | jpg/raw 또는 버스트를 스택합니다. | FALSE |
-stack-jpg-raw | jpg/raw 사진의 스태킹을 제어합니다. | FALSE |
-stack-burst | 스태킹 버스트를 제어합니다. | FALSE |
-select-types=".ext,.ext,.ext..." | 허용되는 확장자 목록입니다. | |
-exclude-types=".ext,.ext,.ext..." | 제외된 확장자 목록입니다. | |
-when-no-date=FILE|NOW | 촬영 날짜를 알 수 없는 경우 FILE 날짜 또는 현재 시간을 NOW로 사용하세요. | FILE |
-exclude-files=pattern | 패턴에 따라 파일을 무시합니다. 대소문자를 구분하지 않습니다. 필요한 각 패턴에 대해 옵션을 반복하십시오. | @eaDir/ @__thumb/ SYNOFILE_THUMB_*.* Lightroom Catalog/ thumbnails/ |
특정 날짜를 기준으로 가져오기를 세부 조정합니다.
매개변수 | 설명 |
---|---|
-date=YYYY-MM-DD | 특정 날짜에 찍은 사진을 가져옵니다. |
-date=YYYY-MM | 특정 달에 찍은 사진을 선택하세요. |
-date=YYYY | 특정 연도에 찍은 사진을 선택하세요. |
업로드에서 특정 파일이나 디렉터리를 제외하려면 -exclude-files=PATTERN
사용하세요. 필요한 각 패턴에 대해 옵션을 반복하십시오. 다음 디렉터리는 자동으로 제외됩니다.
예를 들어 다음 명령은 백업 또는 초안이라는 디렉터리의 모든 파일과 PXL_20231006_063121958(다른 복사본).jpg와 같이 이름이 "copy)"로 끝나는 모든 파일을 제외합니다.
immich-go -server=xxxxx -key=yyyyy upload -exclude-files=backup/ -exclude-files=draft/ -exclude=copy). * /path/to/your/files
Google 포토 관리를 위한 전문 옵션:
매개변수 | 설명 | 기본값 |
---|---|---|
-google-photos | Google Photos 구조화된 아카이브에서 가져와 해당 앨범을 다시 만듭니다. | |
-from-album="GP Album" | immich 에서 앨범을 생성하고 앨범의 자산을 가져옵니다. | |
-create-albums | Immich에서 Google 포토 앨범 생성을 제어합니다. | TRUE |
-keep-untitled-albums | 제목이 없는 앨범은 폴더 이름을 제목으로 하여 immich 로 가져옵니다. | FALSE |
-use-album-folder-as-name | 앨범 제목 대신 폴더 이름을 사용하세요. | FALSE |
-keep-partner | 파트너가 촬영한 사진의 포함 또는 제외를 지정합니다. | TRUE |
-partner-album="partner's album" | 파트너의 자산을 특정 앨범으로 가져옵니다. | |
-discard-archived | 보관된 자산을 가져오지 마세요. | FALSE |
-auto-archive | Google 포토에도 보관처리된 사진을 자동으로 보관처리합니다. | TRUE |
-upload-when-missing-JSON | JSON 메타데이터 파일과 연결되지 않은 사진 업로드 | FALSE |
Google 포토 테이크아웃이 처리하기 어려운 이유를 알아보려면 여기를 읽어보세요.
현재 이 스키마를 따르는 버스트가 감지되었습니다.
모든 이미지는 같은 시간 동안 촬영되어야 합니다. COVER 이미지는 스택의 상위 이미지가 됩니다.
두 이미지는 모두 같은 시간에 촬영되어야 합니다. JPG 이미지가 표지가 됩니다.
더 많은 가능성을 다루려면 이슈를 열어주세요.
설명을 위해 다음은 2019년 6월 1일부터 6월 30일 사이에 캡처된 Google 포토 테이크아웃 아카이브에서 사진을 가져오는 동시에 앨범을 자동 생성하는 명령입니다.
./immich-go -server=http://mynas:2283 -key=zzV6k65KGLNB9mpGeri9n8Jk1VaNGHSCdoH1dY8jQ upload
-create-albums -google-photos -date=2019-06 ~ /Download/takeout- * .zip
Immich-go는 다음 순서로 사용 가능한 첫 번째 데이터를 가져옵니다.
photoTakenTime
PXL_20220909_154515546.jpg
PXL_20220909_154515546.jpg
/photos/2022/11/09/IMG_1234.HEIC
geoDataExif
geoData
locationEnrichment
immich-go
관련 JSON 파일에서 사진 날짜를 가져옵니다.
서버는 immich-go에서 제공한 날짜를 무시하고 MP4의 날짜가 잘못된 경우에도 가져옵니다.
#322 메타데이터의 생성 타임스탬프가 잘못되었습니다.
Immich-go는 파일 이름이나 파일 경로를 사용하여 캡처 날짜를 확인하려고 합니다.
전:
길 | 사진 촬영 날짜 |
---|---|
사진/앨범/PXL_20220909_154515546.jpg | 2022-09-09 15:51:55 |
사진/스캔/19991231.jpg | 1999-12-31 00:00:00 |
사진/20221109/IMG_1234.HEIC | 2022-11-19 00:00:00 |
사진/2022.11.09T20.30/IMG_1234.HEIC | 2022-11-19 20:30:00 |
사진/2022/11/09/IMG_1234.HEIC | 2022-11-19 00:00:00 |
캡처 날짜를 결정하는 데 경로를 사용할 수 없는 경우 immich-go에서 파일의 metadata
또는 exif
읽습니다.
duplicate
immich
서버의 내용을 분석하여 동일한 파일 이름, 캡처 날짜를 공유하지만 크기가 다른 파일을 찾으려면 이 명령을 사용하십시오. 하위 복사본을 삭제하기 전에 시스템은 해당 앨범이 속한 모든 앨범을 가져와 상위 복사본을 추가합니다.
매개변수 | 설명 | 기본값 |
---|---|---|
-yes | 모든 질문에 예라고 가정 | FALSE |
-date | 자산만 지정된 범위에 캡처 날짜가 있는지 확인하세요. | 1850-01-04,2030-01-01 |
-ignore-tz-errors | 중복 검색 시 시간대 차이 무시 | FALSE |
-ignore-extension | 중복 검색 시 파일 형식 확장자를 무시합니다. | FALSE |
immich
서버를 정리합니다.이 명령은 immich 서버 콘텐츠를 검사하고 품질이 낮은 이미지를 제거하며 앨범을 보존합니다.
./immich-go -server=http://mynas:2283 -key=zzV6k65KGLNB9mpGeri9n8Jk1VaNGHSCdoH1dY8jQ duplicate -yes
stack
immich
버전 1.83에서는 이미지 스택 기능이 도입되었습니다. 버스트 이미지와 jpg/raw 이미지를 함께 그룹화하는 데 사용해보세요.
매개변수 | 설명 | 기본값 |
---|---|---|
-yes | 모든 질문에 예라고 가정 | FALSE |
-date=date_range | 자산만 지정된 범위에 캡처 날짜가 있는지 확인하세요. | 1850-01-04,2030-01-01 |
tool
이 명령은 immich
서버를 조작하는 명령줄 도구를 소개합니다.
album delete [regexp]
이 명령은 주어진 패턴과 일치하는 앨범을 삭제합니다
-yes
모든 질문에 대해 예라고 가정합니다(기본값: FALSE).
./immich-go -server=http://mynas:2283 -key=zzV6k65KGLNB9mpGeri9n8Jk1VaNGHSCdoH1dY8jQ tool album delete d {4}- d {2}- d {2}
이 명령은 YYYY-MM-DD 패턴으로 생성된 모든 앨범을 삭제합니다.
immich-go
설치는 간단한 과정입니다. 최신 릴리스 페이지를 방문하여 시스템과 호환되는 바이너리 파일을 선택하십시오.
귀하의 OS/아키텍처에 해당하는 아카이브를 귀하의 컴퓨터에 다운로드하고 압축을 푸십시오.
명령 창을 열고 immich-go가 있는 디렉터리로 이동한 다음 필수 매개변수 및 명령과 함께 immich-go
명령을 입력합니다.
소스 기반 설치의 경우 필요한 Go 언어 개발 도구(https://go.dev/doc/install)가 있는지 확인하세요. 소스 파일을 다운로드하거나 저장소를 복제하세요.
go build -ldflags " -X 'main.version= $( git describe --tag ) ' -X 'main.date= $( date ) ' "
immich-go
nix와 함께 패키지되어 있으며 nixpkgs를 통해 배포됩니다. 다음을 사용하여 immich-go
설치하지 않고 사용해 볼 수 있습니다.
nix-shell -I " nixpkgs=https://github.com/NixOS/nixpkgs/archive/nixos-unstable-small.tar.gz " -p immich-go
# Or with flakes enabled
nix run " github:nixos/nixpkgs?ref=nixos-unstable-small#immich-go " -- -help
또는 environment.systemPackages
섹션의 configuration.nix
에 immich-go
추가할 수 있습니다.
멋진 프로젝트를 진행한 Immich 팀에 찬사를 보냅니다! ?
이 프로그램은 다음 타사 라이브러리를 사용합니다.
프로젝트 참여자들에게 큰 감사를 드립니다: