diff --git a/immich.yml b/immich.yml new file mode 100644 index 0000000..8643575 --- /dev/null +++ b/immich.yml @@ -0,0 +1,116 @@ +version: "3.8" + +services: + immich-server: + container_name: immich_server + image: ghcr.io/immich-app/immich-server:release + volumes: + - ${UPLOAD_LOCATION}:/usr/src/app/upload + - /etc/localtime:/etc/localtime:ro + env_file: + - .env + depends_on: + - redis + - database + # - typesense + restart: always + ports: + - 2283:3001 + + # immich-microservices: + # container_name: immich_microservices + # image: ghcr.io/immich-app/immich-server:release + # entrypoint: ["/bin/sh", "./start-microservices.sh"] + # volumes: + # - ${UPLOAD_LOCATION}:/usr/src/app/upload + # env_file: + # - .env + # depends_on: + # - redis + # - database + # # - typesense + # restart: always + + immich-machine-learning: + container_name: immich_machine_learning + image: ghcr.io/immich-app/immich-machine-learning:release + volumes: + - model-cache:/cache + env_file: + - .env + restart: always + + # immich-web: + #container_name: immich_web + # image: ghcr.io/immich-app/immich-web:release + #entrypoint: ["/bin/sh", "./entrypoint.sh"] + #env_file: + #- .env + # restart: always + + # typesense: + # container_name: immich_typesense + # image: typesense/typesense:0.24.0 + # environment: + # - TYPESENSE_API_KEY=${TYPESENSE_API_KEY} + # - TYPESENSE_DATA_DIR=/data + # logging: + # driver: none + # volumes: + # - tsdata:/data + # restart: always + + redis: + container_name: immich_redis + image: redis:6.2 + restart: always + + database: + container_name: immich_postgres + image: tensorchord/pgvecto-rs:pg14-v0.2.0 + env_file: + - .env + environment: + POSTGRES_PASSWORD: ${DB_PASSWORD} + POSTGRES_USER: ${DB_USERNAME} + POSTGRES_DB: ${DB_DATABASE_NAME} + PG_DATA: /var/lib/postgresql/data + POSTGRES_INITDB_ARGS: '--data-checksums' + volumes: + - pgdata:/var/lib/postgresql/data + restart: always + + # immich-proxy: + #container_name: immich_proxy + #image: ghcr.io/immich-app/immich-proxy:release + #environment: + # Make sure these values get passed through from the env file + #- IMMICH_SERVER_URL + #- IMMICH_WEB_URL + #ports: + #- 2283:8080 + #logging: + #driver: none + #depends_on: + #- immich-server + #restart: always + backup: + container_name: immich_db_dumper + image: prodrigestivill/postgres-backup-local + env_file: + - .env + environment: + POSTGRES_HOST: database + POSTGRES_DB: ${DB_DATABASE_NAME} + POSTGRES_USER: ${DB_USERNAME} + POSTGRES_PASSWORD: ${DB_PASSWORD} + SCHEDULE: "@daily" + BACKUP_DIR: /db_dumps + volumes: + - ./db_dumps:/db_dumps + depends_on: + - database +volumes: + pgdata: + model-cache: +# tsdata: