mirror of
https://github.com/immich-app/immich.git
synced 2025-10-30 10:12:33 -04:00
* feat: add OCR functionality and related configurations * chore: update labeler configuration for machine learning files * feat(i18n): enhance OCR model descriptions and add orientation classification and unwarping features * chore: update Dockerfile to include ccache for improved build performance * feat(ocr): enhance OCR model configuration with orientation classification and unwarping options, update PaddleOCR integration, and improve response structure * refactor(ocr): remove OCR_CLEANUP job from enum and type definitions * refactor(ocr): remove obsolete OCR entity and migration files, and update asset job status and schema to accommodate new OCR table structure * refactor(ocr): update OCR schema and response structure to use individual coordinates instead of bounding box, and adjust related service and repository files * feat: enhance OCR configuration and functionality - Updated OCR settings to include minimum detection box score, minimum detection score, and minimum recognition score. - Refactored PaddleOCRecognizer to utilize new scoring parameters. - Introduced new database tables for asset OCR data and search functionality. - Modified related services and repositories to support the new OCR features. - Updated translations for improved clarity in settings UI. * sql changes * use rapidocr * change dto * update web * update lock * update api * store positions as normalized floats * match column order in db * update admin ui settings descriptions fix max resolution key set min threshold to 0.1 fix bind * apply config correctly, adjust defaults * unnecessary model type * unnecessary sources * fix(ocr): switch RapidOCR lang type from LangDet to LangRec * fix(ocr): expose lang_type (LangRec.CH) and font_path on OcrOptions for RapidOCR * fix(ocr): make OCR text search case- and accent-insensitive using ILIKE + unaccent * fix(ocr): add OCR search fields * fix: Add OCR database migration and update ML prediction logic. * trigrams are already case insensitive * add tests * format * update migrations * wrong uuid function * linting * maybe fix medium tests * formatting * fix weblate check * openapi * sql * minor fixes * maybe fix medium tests part 2 * passing medium tests * format web * readd sql * format dart * disabled in e2e * chore: translation ordering --------- Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com> Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
192 lines
6.1 KiB
YAML
192 lines
6.1 KiB
YAML
#
|
|
# WARNING: To install Immich, follow our guide: https://docs.immich.app/install/docker-compose
|
|
#
|
|
# 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.
|
|
|
|
# For development see:
|
|
# - https://docs.immich.app/developer/setup
|
|
# - https://docs.immich.app/developer/troubleshooting
|
|
|
|
name: immich-dev
|
|
|
|
services:
|
|
immich-server:
|
|
container_name: immich_server
|
|
command: ['immich-dev']
|
|
image: immich-server-dev:latest
|
|
# extends:
|
|
# file: hwaccel.transcoding.yml
|
|
# service: cpu # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding
|
|
build:
|
|
context: ../
|
|
dockerfile: server/Dockerfile.dev
|
|
target: dev
|
|
restart: unless-stopped
|
|
volumes:
|
|
- ..:/usr/src/app
|
|
- ${UPLOAD_LOCATION}/photos:/data
|
|
- /etc/localtime:/etc/localtime:ro
|
|
- pnpm-store:/usr/src/app/.pnpm-store
|
|
- server-node_modules:/usr/src/app/server/node_modules
|
|
- web-node_modules:/usr/src/app/web/node_modules
|
|
- github-node_modules:/usr/src/app/.github/node_modules
|
|
- cli-node_modules:/usr/src/app/cli/node_modules
|
|
- docs-node_modules:/usr/src/app/docs/node_modules
|
|
- e2e-node_modules:/usr/src/app/e2e/node_modules
|
|
- sdk-node_modules:/usr/src/app/open-api/typescript-sdk/node_modules
|
|
- app-node_modules:/usr/src/app/node_modules
|
|
- sveltekit:/usr/src/app/web/.svelte-kit
|
|
- coverage:/usr/src/app/web/coverage
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
IMMICH_REPOSITORY: immich-app/immich
|
|
IMMICH_REPOSITORY_URL: https://github.com/immich-app/immich
|
|
IMMICH_SOURCE_REF: local
|
|
IMMICH_SOURCE_COMMIT: af2efbdbbddc27cd06142f22253ccbbbbeec1f55
|
|
IMMICH_SOURCE_URL: https://github.com/immich-app/immich/commit/af2efbdbbddc27cd06142f22253ccbbbbeec1f55
|
|
IMMICH_BUILD: '9654404849'
|
|
IMMICH_BUILD_URL: https://github.com/immich-app/immich/actions/runs/9654404849
|
|
IMMICH_BUILD_IMAGE: development
|
|
IMMICH_BUILD_IMAGE_URL: https://github.com/immich-app/immich/pkgs/container/immich-server
|
|
IMMICH_THIRD_PARTY_SOURCE_URL: https://github.com/immich-app/immich/
|
|
IMMICH_THIRD_PARTY_BUG_FEATURE_URL: https://github.com/immich-app/immich/issues
|
|
IMMICH_THIRD_PARTY_DOCUMENTATION_URL: https://docs.immich.app
|
|
IMMICH_THIRD_PARTY_SUPPORT_URL: https://docs.immich.app/community-guides
|
|
ulimits:
|
|
nofile:
|
|
soft: 1048576
|
|
hard: 1048576
|
|
ports:
|
|
- 9230:9230
|
|
- 9231:9231
|
|
- 2283:2283
|
|
depends_on:
|
|
redis:
|
|
condition: service_started
|
|
database:
|
|
condition: service_started
|
|
healthcheck:
|
|
disable: false
|
|
|
|
immich-web:
|
|
container_name: immich_web
|
|
image: immich-web-dev:latest
|
|
build:
|
|
context: ../
|
|
dockerfile: server/Dockerfile.dev
|
|
target: dev
|
|
command: ['immich-web']
|
|
env_file:
|
|
- .env
|
|
ports:
|
|
- 3000:3000
|
|
- 24678:24678
|
|
volumes:
|
|
- ..:/usr/src/app
|
|
- pnpm-store:/usr/src/app/.pnpm-store
|
|
- server-node_modules:/usr/src/app/server/node_modules
|
|
- web-node_modules:/usr/src/app/web/node_modules
|
|
- github-node_modules:/usr/src/app/.github/node_modules
|
|
- cli-node_modules:/usr/src/app/cli/node_modules
|
|
- docs-node_modules:/usr/src/app/docs/node_modules
|
|
- e2e-node_modules:/usr/src/app/e2e/node_modules
|
|
- sdk-node_modules:/usr/src/app/open-api/typescript-sdk/node_modules
|
|
- app-node_modules:/usr/src/app/node_modules
|
|
- sveltekit:/usr/src/app/web/.svelte-kit
|
|
- coverage:/usr/src/app/web/coverage
|
|
ulimits:
|
|
nofile:
|
|
soft: 1048576
|
|
hard: 1048576
|
|
restart: unless-stopped
|
|
depends_on:
|
|
immich-server:
|
|
condition: service_started
|
|
|
|
immich-machine-learning:
|
|
container_name: immich_machine_learning
|
|
image: immich-machine-learning-dev:latest
|
|
# extends:
|
|
# file: hwaccel.ml.yml
|
|
# service: cpu # set to one of [armnn, cuda, rocm, openvino, openvino-wsl, rknn] for accelerated inference
|
|
build:
|
|
context: ../machine-learning
|
|
dockerfile: Dockerfile
|
|
args:
|
|
- DEVICE=cpu # set to one of [armnn, cuda, rocm, openvino, openvino-wsl, rknn] for accelerated inference
|
|
ports:
|
|
- 3003:3003
|
|
volumes:
|
|
- ../machine-learning/immich_ml:/usr/src/immich_ml
|
|
- model-cache:/cache
|
|
env_file:
|
|
- .env
|
|
depends_on:
|
|
- database
|
|
restart: unless-stopped
|
|
healthcheck:
|
|
disable: false
|
|
|
|
redis:
|
|
container_name: immich_redis
|
|
image: docker.io/valkey/valkey:8@sha256:81db6d39e1bba3b3ff32bd3a1b19a6d69690f94a3954ec131277b9a26b95b3aa
|
|
healthcheck:
|
|
test: redis-cli ping || exit 1
|
|
|
|
database:
|
|
container_name: immich_postgres
|
|
image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:bcf63357191b76a916ae5eb93464d65c07511da41e3bf7a8416db519b40b1c23
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
POSTGRES_PASSWORD: ${DB_PASSWORD}
|
|
POSTGRES_USER: ${DB_USERNAME}
|
|
POSTGRES_DB: ${DB_DATABASE_NAME}
|
|
POSTGRES_INITDB_ARGS: '--data-checksums'
|
|
volumes:
|
|
- ${UPLOAD_LOCATION}/postgres:/var/lib/postgresql/data
|
|
ports:
|
|
- 5432:5432
|
|
shm_size: 128mb
|
|
# set IMMICH_TELEMETRY_INCLUDE=all in .env to enable metrics
|
|
# immich-prometheus:
|
|
# container_name: immich_prometheus
|
|
# ports:
|
|
# - 9090:9090
|
|
# image: prom/prometheus
|
|
# volumes:
|
|
# - ./prometheus.yml:/etc/prometheus/prometheus.yml
|
|
# - prometheus-data:/prometheus
|
|
|
|
# first login uses admin/admin
|
|
# add data source for http://immich-prometheus:9090 to get started
|
|
# immich-grafana:
|
|
# container_name: immich_grafana
|
|
# command: ['./run.sh', '-disable-reporting']
|
|
# ports:
|
|
# - 3000:3000
|
|
# image: grafana/grafana:10.3.3-ubuntu
|
|
# volumes:
|
|
# - grafana-data:/var/lib/grafana
|
|
|
|
volumes:
|
|
model-cache:
|
|
prometheus-data:
|
|
grafana-data:
|
|
pnpm-store:
|
|
server-node_modules:
|
|
web-node_modules:
|
|
github-node_modules:
|
|
cli-node_modules:
|
|
docs-node_modules:
|
|
e2e-node_modules:
|
|
sdk-node_modules:
|
|
app-node_modules:
|
|
sveltekit:
|
|
coverage:
|