[Практика проекта Docker] Развертывание системы управления фотографиями immich в среде Docker
[Практика проекта Docker] Развертывание системы управления фотографиями immich в среде Docker

1. Введение в иммич

1.1 Введение в иммич

Самостоятельное решение для резервного копирования фотографий и видео прямо с вашего телефона.

1.2 Меры предосторожности Иммиха

Проект находится в стадии очень активной разработки.

⚠️Ожидайте ошибок и серьезных изменений.

⚠️ Не используйте это приложение как единственный способ хранения фотографий и видео.

⚠️Всегда следуйте плану резервного копирования 3-2-1 для ваших драгоценных фотографий и видео!

1.3 сценарии использования immich

  • Управление личными фотографиями: immich предоставляет простой и интуитивно понятный интерфейс, который позволяет отдельным пользователям легко управлять своими собственными коллекциями фотографий. Пользователи могут классифицировать и искать фотографии по метаданным, таким как теги, даты и описания, а также выполнять операции пакетной обработки и редактирования.
  • Совместная работа в команде: immich поддерживает многопользовательское использование и может использоваться в качестве инструмента управления фотографиями внутри команды. Члены команды могут делиться коллекциями фотографий, комментировать и обсуждать их. Благодаря управлению разрешениями вы можете точно контролировать доступ различных пользователей и разрешения на редактирование фотографий.
  • Профессиональные фотографы: для фотографов,Управление фотографиями является неотъемлемой частью. immich предлагает некоторые специальные функции для фотографов,Если поддержка оригиналаRAWУправление файлами и предварительный просмотр、Пакетный экспорт иОбработка водяных знаковждать。Фотографы могут легко систематизировать фотографии、Фильтровать и обрабатывать,Тем самым экономится время и повышается эффективность работы.
  • Управление библиотекой изображений: мощные функции поиска и классификации immich делают его идеальным инструментом управления библиотекой изображений. Будь то личная библиотека изображений, корпоративная библиотека изображений или общедоступная библиотека изображений, всем этим можно управлять и получать доступ через immich. Пользователи могут настраивать метки и методы классификации в соответствии со своими потребностями, что упрощает поиск нужных изображений.

2. Знакомство с местной средой

2.1 Планирование местной окружающей среды

Эта практика представляет собой личную тестовую среду, а версия операционной системы — centos7.6.

hostname

IP-адрес

Версия операционной системы

Докер-версия

jeven

192.168.3.166

centos 7.6

20.10.17

2.2 Введение в эту практику

1. Средой развертывания для этой практики является персональная тестовая среда, будьте осторожны в производственной среде;

2. Этот проект требует частых обновлений, поэтому развертывайте производственную среду с осторожностью;

3. Разверните систему управления фотографиями immich в среде Docker.

3. Проверка местной окружающей среды

3.1 Проверка статуса службы Docker

Проверьте, нормально ли работает служба Docker, и убедитесь, что Docker работает нормально.

Язык кода:bash
копировать
[root@jeven ~]# systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2023-12-11 16:37:11 CST; 5h 58min ago
     Docs: https://docs.docker.com
 Main PID: 11899 (dockerd)
    Tasks: 53
   Memory: 187.3M
   CGroup: /system.slice/docker.service

3.2 Проверьте версию Docker

Проверьте версию Docker, текущая версия — 20.10.17.

Язык кода:bash
копировать
[root@jeven ~]# docker -v
Docker version 20.10.17, build 100c701

3.3 Проверьте версию Docker Compose

Проверьте версию Docker Compose, чтобы убедиться, что она выше 2.0.

Язык кода:bash
копировать
[root@jeven ~]# docker compose version
Docker Compose version v2.6.0

4. Загрузите образ иммиха.

Извлеките изображения, связанные с immich, из склада Google и склада Docker Hub, и это будет самая последняя версия.

Язык кода:bash
копировать
docker pull  ghcr.io/imagegenius/immich:latest
docker pull redis
docker pull  postgres:14

5. Развертывание системы управления фотографиями immich

5.1 Создать каталог

Создать каталог монтирования хоста

Язык кода:bash
копировать
mkdir -p /data/immich && cd /data/immich

5.2. Отредактируйте файл docker-compose.yaml.

Отредактируйте файл docker-compose.yaml со следующим содержимым. В то же время вы также можете настраивать и изменять переменные среды, такие как сопоставленные порты в файле.

Язык кода:yaml
копировать
---
version: "2.1"
services:
  immich:
    image: ghcr.io/imagegenius/immich:latest
    container_name: immich
    environment:
      - PUID=0
      - PGID=0
      - TZ=Asia/Shanghai
      - DB_HOSTNAME=postgres14
      - DB_USERNAME=postgres
      - DB_PASSWORD=postgres
      - DB_DATABASE_NAME=immich
      - REDIS_HOSTNAME=redis
      - DISABLE_MACHINE_LEANRNING=false
      - DISABLE_TYPESENSE=false
      - DB_PORT=5432
      - REDIS_PORT=6379
      - REDIS_PASSWORD=
      - CUDA_ACCELERATION=false
    volumes:
      - /data/immich/config:/config
      - /data/immich/photos:/photos
      - /data/immich/machine:/config/machine-learning
    ports:
      - 8080:8080
    restart: unless-stopped
  redis:
    image: redis
    ports:
      - 6379:6379
    container_name: redis
  postgres14:
    image: postgres:14
    ports:
      - 8432:5432
    container_name: postgres14
    environment:
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: postgres
      POSTGRES_DB: immich
    volumes:
      - /data/immich/db:/var/lib/postgresql/data

5.3 Создание контейнеров, связанных с immich

  • Используйте файл docker-compose.yaml для создания контейнеров, связанных с immich.
Язык кода:bash
копировать
[root@jeven immich]# docker compose up -d
[+] Running 4/4
 ⠿ Network immich_default  Created                                                                                      0.0s
 ⠿ Container immich        Started                                                                                      0.7s
 ⠿ Container redis         Started                                                                                      0.7s
 ⠿ Container postgres14    Started                                                                                      0.7s

5.4 Проверка состояния контейнера immich

Проверьте состояние контейнера immich, чтобы убедиться, что контейнер запускается нормально.

Язык кода:bash
копировать
[root@jeven immich]# docker compose ps
NAME                COMMAND                  SERVICE             STATUS              PORTS
immich              "/init"                  immich              running             0.0.0.0:8080->8080/tcp, :::8080->8080/tcp
postgres14          "docker-entrypoint.s…"   postgres14          running             0.0.0.0:8432->5432/tcp, :::8432->5432/tcp
redis               "docker-entrypoint.s…"   redis               running             0.0.0.0:6379->6379/tcp, :::6379->6379/tcp

5.5 Проверка журналов контейнера immich

Проверьте журнал работы контейнера immich, чтобы убедиться, что служба immich работает нормально.

Язык кода:bash
копировать
docker compose logs

6. Доступ к сервису immich

6.1 Зарегистрируйте аккаунт

Адрес доступа: http://192.168.3.166:8080/, замените IP на IP-адрес собственного сервера. Если вы не можете получить доступ, обратите внимание на настройки брандмауэра и группы безопасности.

Нажмите «Начало работы», чтобы войти на страницу регистрации учетной записи и заполнить персонализированную информацию.

6.2 Посетить домашнюю страницу immich

Введите установленную учетную запись и пароль и посетите домашнюю страницу immich.

7. Основное использование иммиха

7.1 Загрузка изображений

Нажмите кнопку загрузки, чтобы загрузить локальные изображения.

7.2 Просмотр изображений

Нажмите «Управление изображениями», чтобы просмотреть недавно загруженные изображения.

7.3 Создать фотоальбом

На странице управления альбомом нажмите «Создать альбом».

Введите название альбома и выберите фотографии в альбоме.

7.4 Просмотр фотоальбома

На странице управления альбомами вы можете увидеть список альбомов.

7.5 Просмотр статистики

Нажмите «Администратор», чтобы войти на страницу настроек системы, выберите «Состояние сервера», и вы сможете увидеть соответствующую статистическую информацию.

8. Резюме

Immich, как система управления фотографиями с открытым исходным кодом, обеспечивает простое развертывание и красивый интерфейс, а также высокую скорость загрузки изображений. Он также имеет множество мощных функций, которые стоит попробовать одну за другой. Если вам нужна система управления фотографиями, попробуйте immich.

Я участвую в четвертом выпуске специального тренировочного лагеря Tencent Technology Creation 2023 года с эссе, получившими награды. Приходите и разделите приз со мной!

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose