Page 1 of 1

f2-423 installation NGINX+NEXTCLOUD+IMMICH

Posted: 28 Oct 2024, 07:59
by zeran2
I made a small video tutorial on installing programs through docker, I attach the configuration files here.
https://www.youtube.com/watch?v=roWkMSLiHUU
I do not know how to add configuration files to the message, I will write them in text:
nextcloud.yaml
------------------

Code: Select all

version: '3'

# Автор Александр Linux сайт bafista.ru
# Век живи - век учись

volumes:
  db:
  config:
#  data: #Version B.строка нужна если есть папка data хранится вместе с остальными папками. Тогда - /Volume2/NextcloudData:/var/www/html/data:z меняется на - ./data:/var/www/html/data:z
  redis:

networks:
  nextcloud:
    external: false

services:
  nextcloud-db:
    image: postgres
    container_name: nextcloud-db
    restart: always #unless-stopped
    volumes:
      - ./db:/var/lib/postgresql/data:Z
    environment:
      - TZ=Europe/Moscow # Смотри тут https://www.zeitverschiebung.net/en/all-time-zones.html
      - POSTGRES_PASSWORD=random_db_password
      - POSTGRES_DB=nextcloud
      - POSTGRES_USER=nextcloud
    networks:
      - nextcloud

  nextcloud-app:
    image: nextcloud
    container_name: nextcloud-app
    restart: always #unless-stopped
    ports:
      - 8088:80
    links:
      - nextcloud-db
    volumes:
      - ./config:/var/www/html:z
      - /Volume2/NextcloudData:/var/www/html/data:z #Version A. если папка data хранится вместе с остальными папками. тогда - /Volume2/NextcloudData:/var/www/html/data:z меняется на - ./data:/var/www/html/data:z
#      - ./data:/var/www/html/data:z #Version B
    environment:
      - TZ=Europe/Moscow # Смотри тут https://www.zeitverschiebung.net/en/all-time-zones.html
      - POSTGRES_PASSWORD=random_db_password
      - POSTGRES_DB=nextcloud
      - POSTGRES_USER=nextcloud
      - POSTGRES_HOST=nextcloud-db
      - REDIS_HOST=nextcloud-redis
      - PHP_MEMORY_LIMIT=4094M # устанавливает лимит ОЗУ, значение по умолчанию 512М
      - PHP_UPLOAD_LIMIT=50G # устанавливает лимит на загрузку файлов, значение по умолчанию 512М
      - APACHE_BODY_LIMIT=0 # 0 - unlimit
      - NEXTCLOUD_TRUSTED_DOMAINS=testnext.pamyatka.su 192.168.1.113 # NAS ip local net
      - TRUSTED_PROXIES= 192.168.1.113 # NAS ip local net
      - OVERWRITEHOST=testnext.pamyatka.su #domain name
      - OVERWRITEPROTOCOL=https
    networks:
      - nextcloud
    depends_on:
      - nextcloud-db
      - nextcloud-redis

  nextcloud-redis:
    image: redis:alpine
    container_name: nextcloud-redis
    volumes:
      - ./redis:/data:z
    environment:
      - TZ=Europe/Moscow # Смотри тут https://www.zeitverschiebung.net/en/all-time-zones.html
    networks:
      - nextcloud
    restart: always #unless-stopped

  nextcloud-cron:
    image: nextcloud
    container_name: nextcloud-cron
    restart: always #unless-stopped
    volumes:
      - ./config:/var/www/html:z
      - /Volume2/NextcloudData:/var/www/html/data:z #Version A. если папка data хранится вместе с остальными папками. тогда - /Volume2/NextcloudData:/var/www/html/data:z меняется на - ./data:/var/www/html/data:z
#      - ./data:/var/www/html/data:z #Version B
    environment:
      - TZ=Europe/Moscow # Смотри тут https://www.zeitverschiebung.net/en/all-time-zones.html
    entrypoint: /cron.sh
    networks:
      - nextcloud
    depends_on:
      - nextcloud-db
      - nextcloud-redis
#for ssh after install
# docker exec -itd --user www-data nextcloud-app php /var/www/html/occ db:add-missing-indices
# docker exec --user www-data nextcloud-app php occ config:system:set default_phone_region --value="RU" # see your region: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements
# docker exec --user www-data nextcloud-app php occ config:system:set maintenance_window_start --value="100" # default 5, only for use cron add to config/config.php
-------
IMMICH.yaml
-----------

Code: Select all

# this commands for create many directory from terminal.need create root directory("Immich" and "dockers")  from GUI for sharing
# mkdir -p /Volume2/ImmichExternal/user1 /Volume2/ImmichExternal/user2 /Volume2/ImmichExternal/user3 /Volume2/ImmichExternal/user4 /Volume2/ImmichExternal/user5 /Volume2/ImmichExternal/user6 /Volume2/ImmichExternal/user7 /Volume2/ImmichExternal/user8 /Volume2/ImmichExternal/user9 /Volume2/ImmichExternal/user10
# mkdir -p /Volume2/dockers/Immich/library /Volume1/dockers/Immich/cache /Volume1/dockers/Immich/redis /Volume1/dockers/Immich/dbdata
version: "3.8"

services:
  immich-server:
    container_name: immich_server
    image: ghcr.io/immich-app/immich-server:release
    volumes:
      - /Volume2/ImmichExternal/library:/usr/src/app/upload # Основная папка с фото и видео материалами (default folder for users)
      # Дополнительные папки для внешних библиотек. Создайте столько сколько будет у вас пользователей. (external folders for users, for upload without web/smartfon programms)
      - /Volume2/ImmichExternal/user1:/usr/src/app/external/user1
      - /Volume2/ImmichExternal/user2:/usr/src/app/external/user2
      - /Volume2/ImmichExternal/user3:/usr/src/app/external/user3
	  - /Volume2/ImmichExternal/user4:/usr/src/app/external/user4
      - /Volume2/ImmichExternal/user5:/usr/src/app/external/user5
      - /Volume2/ImmichExternal/user6:/usr/src/app/external/user6
      - /Volume2/ImmichExternal/user7:/usr/src/app/external/user7
	  - /Volume2/ImmichExternal/user8:/usr/src/app/external/user8
      - /Volume2/ImmichExternal/user9:/usr/src/app/external/user9
      - /Volume2/ImmichExternal/user10:/usr/src/app/external/user10
      # - /etc/localtime:/etc/localtime:ro
#    user: 1024:101 # Этот параметр только для Synology DSM, установите решетку в начале строки для других ОС
    environment:
      - DB_PASSWORD=immich_postgres
      - DB_HOSTNAME=immich_postgres
      - DB_USERNAME=immich
      - DB_DATABASE_NAME=immich
      - REDIS_HOSTNAME=immich_redis
      - POSTGRES_PASSWORD=immich_postgres
      - POSTGRES_DB=immich
      - POSTGRES_USER=immich
    ports:
      - 2283:2283
    depends_on:
      - immich_redis
      - immich_postgres
    restart: always

  immich-machine-learning:
    container_name: immich_machine_learning
    image: ghcr.io/immich-app/immich-machine-learning:release
#    user: 1024:101 # Этот параметр только для Synology DSM, установите решетку в начале строки для других ОС
    environment:
      - DB_PASSWORD=immich_postgres
      - DB_HOSTNAME=immich_postgres
      - DB_USERNAME=immich
      - DB_DATABASE_NAME=immich
      - REDIS_HOSTNAME=immich_redis
      - POSTGRES_PASSWORD=immich_postgres
      - POSTGRES_DB=immich
      - POSTGRES_USER=immich
    volumes:
      - /Volume2/ImmichExternal/library:/usr/src/app/upload # Основная папка с фото и видео материалами (default folder for users)
      # Дополнительные папки для внешних библиотек. Создайте столько сколько будет у вас пользователей. (external folders for users, for upload without web/smartfon programms)
      - /Volume2/ImmichExternal/user1:/usr/src/app/external/user1
      - /Volume2/ImmichExternal/user2:/usr/src/app/external/user2
      - /Volume2/ImmichExternal/user3:/usr/src/app/external/user3
	  - /Volume2/ImmichExternal/user4:/usr/src/app/external/user4
      - /Volume2/ImmichExternal/user5:/usr/src/app/external/user5
      - /Volume2/ImmichExternal/user6:/usr/src/app/external/user6
      - /Volume2/ImmichExternal/user7:/usr/src/app/external/user7
	  - /Volume2/ImmichExternal/user8:/usr/src/app/external/user8
      - /Volume2/ImmichExternal/user9:/usr/src/app/external/user9
      - /Volume2/ImmichExternal/user10:/usr/src/app/external/user10
      - ./cache:/cache
    restart: always

  immich_redis:
    container_name: immich_redis
    image: docker.io/redis:6.2-alpine@sha256:2ba50e1ac3a0ea17b736ce9db2b0a9f6f8b85d4c27d5f5accc6a416d8f42c6d5
#    user: 1024:101 # Этот параметр только для Synology DSM, установите решетку в начале строки для других ОС
    volumes:
      - ./redis:/data
    restart: always

  immich_postgres:
    container_name: immich_postgres
    image: tensorchord/pgvecto-rs:pg16-v0.2.0
    environment:
      - DB_PASSWORD=immich_postgres
      - DB_HOSTNAME=immich_postgres
      - DB_USERNAME=immich
      - DB_DATABASE_NAME=immich
      - REDIS_HOSTNAME=immich_redis
      - POSTGRES_PASSWORD=immich_postgres
      - POSTGRES_DB=immich
      - POSTGRES_USER=immich
    volumes:
      - ./dbdata:/var/lib/postgresql/data
    restart: always

volumes:
  dbdata:
  cache:
  library:

networks:
  immich:
    external: false

Re: f2-423 installation NGINX+NEXTCLOUD+IMMICH

Posted: 28 Oct 2024, 08:14
by zeran2
added an entry for residents of Russia: https://rutube.ru/video/0a30ee86e3ce351 ... 1df42fdd3/

Re: f2-423 installation NGINX+NEXTCLOUD+IMMICH

Posted: 09 Nov 2024, 03:49
by zeleny
zeran2 wrote: 28 Oct 2024, 08:14
Hi! Thanks for the great instructions :)
I also used the instructions from Bafista.
For Nextcloud, I had some problems with using "docker exec" – the operation was not permitted on my TerraMaster (TOS 6.0.519). So, I made a small correction in the yaml file. Maybe it can help users facing the same issues.

Code: Select all

# Автор Александр Linux сайт bafista.ru
# Век живи - век учись

volumes:
  db:
  config:
  data:
  redis:

networks:
  nextcloud:
    external: false

services:
  nextcloud-db:
    image: postgres:16.4
    container_name: nextcloud-db
    restart: unless-stopped
    volumes:
      - ./db:/var/lib/postgresql/data:Z
    environment:
      - POSTGRES_PASSWORD=random_db_password
      - POSTGRES_DB=nextcloud
      - POSTGRES_USER=nextcloud
    networks:
      - nextcloud

  nextcloud-app:
    image: nextcloud
    container_name: nextcloud-app
    restart: unless-stopped
    ports:
      - 8088:80
    links:
      - nextcloud-db
    volumes:
      - ./config:/var/www/html:z
      - ./data:/var/www/html/data:z
      - /dev/pts:/dev/pts # Добавлено монтирование псевдотерминалов
    environment:
      - TZ=Europe/Moscow
      - POSTGRES_PASSWORD=random_db_password
      - POSTGRES_DB=nextcloud
      - POSTGRES_USER=nextcloud
      - POSTGRES_HOST=nextcloud-db
      - REDIS_HOST=nextcloud-redis
      - PHP_MEMORY_LIMIT=4094M
      - PHP_UPLOAD_LIMIT=16G
      - APACHE_BODY_LIMIT=0 # 0 - unlimit
    networks:
      - nextcloud
    depends_on:
      - nextcloud-db
      - nextcloud-redis
    privileged: true # Привилегированный режим для доступа к устройствам
    stdin_open: true # Открытый stdin для терминала
    tty: true # Включение TTY
    security_opt:
      - seccomp=unconfined # Снятие ограничений безопасности

  nextcloud-redis:
    image: redis:alpine
    container_name: nextcloud-redis
    volumes:
      - ./redis:/data:z
    environment:
      - TZ=Europe/Moscow
    networks:
      - nextcloud
    restart: unless-stopped

  nextcloud-cron:
    image: nextcloud
    container_name: nextcloud-cron
    restart: unless-stopped
    volumes:
      - ./config:/var/www/html:z
      - ./data:/var/www/html/data:z
      - /dev/pts:/dev/pts # Добавлено монтирование псевдотерминалов
    environment:
      - TZ=Europe/Moscow
    entrypoint: /cron.sh
    networks:
      - nextcloud
    depends_on:
      - nextcloud-db
      - nextcloud-redis
    privileged: true # Привилегированный режим
    stdin_open: true # Открытый stdin для терминала
    tty: true # Включение TTY
    security_opt:
      - seccomp=unconfined # Снятие ограничений безопасности

Re: f2-423 installation NGINX+NEXTCLOUD+IMMICH

Posted: 02 Dec 2024, 15:48
by BrandynKunde
Wow it's so detailed and specific thank you so much.