Как научить Nextcloud работать с HEIC, MOV и ffmpeg через docker-compose файл?

Пытаюсь заставить Nextcloud генерировать превью для видео, а также уметь работать с HEIC и MOV.
Однако, во всем интернете не могу найти способа как это заставить работать с использованием docker-compose.
Везде либо имэджи нужно создавать, либо ручками заходить в контейнер и там apt install всякого разного софта делать.
Я не очень силён в докере и хотел бы попросить, если у кого уже всё настроено и работает, дать мне свой docker-compose.yaml. А то я уже замучался искать ответ.

[UPD]
Еще нашел, что есть nextcloud aio, в котором есть nextcloud-aio-imaginary.
Но не могу понять как мне заменить обычный nextcloud на aio-версию.
Простая смена image с nextcloud на nextcloud/all-in-one:latest не увенчалась успехом.

Вот мой текущий docker-compose. Подскажите, пожалуйста, как его следует отредактировать, чтобы aio заработал.
---
version: '2'

volumes:
  nextcloud:
  db:

services:
  db:
    image: mariadb:10.5
    restart: always
    command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
    volumes:
      - /mnt/cloud/nextclouddb:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=***********
      - MYSQL_PASSWORD=************
      - MYSQL_DATABASE=************
      - MYSQL_USER=************

  app:
    image: nextcloud
    #image: nextcloud/all-in-one:latest
    restart: always
    ports:
      - 9999:80
    links:
      - db
    volumes:
      - /mnt/cloud/nextcloud:/var/www/html
      - /mnt/cloud/data:/var/www/html/data
    environment:
      - PUID=1000
      - PGID=1000
      - MYSQL_PASSWORD=************
      - MYSQL_DATABASE=************
      - MYSQL_USER=************
      - MYSQL_HOST=db
      - NEXTCLOUD_TRUSTED_DOMAINS=************
      - OVERWRITEHOST=************
      - OVERWRITEPROTOCOL=https
   
  nextcloud-cron:
    image: nextcloud
    container_name: nextcloud-cron
    restart: unless-stopped
    environment:
      - PUID=1000
      - PGID=1000
      - MYSQL_ROOT_PASSWORD=************
      - MYSQL_PASSWORD=************
      - MYSQL_DATABASE=************
      - MYSQL_USER=************
      - MYSQL_HOST=db
      - NEXTCLOUD_TRUSTED_DOMAINS=************
      - OVERWRITEHOST=************
      - OVERWRITEPROTOCOL=************
    volumes:
      - /mnt/cloud/nextcloud:/var/www/html
      - /mnt/cloud/data:/var/www/html/data
      - /mnt/cloud/nextcloud/config:/var/www/html/config
    entrypoint: /cron.sh
    depends_on:
      - app
  • Вопрос задан
  • 493 просмотра
Пригласить эксперта
Ответы на вопрос 3
@Drno
для того чтобы заработало то что ты хочешь - нужен определенный софт.
т.к. ты зачем то поставил всё из докера - то и софт ставить надо внутрь докер контейнера

как перейти на AiO - у некстклауда на офф сайте(или в гитхабе) вроде как была инструкция. но она не особо простая
Ответ написан
ky0
@ky0
Миллиардер, филантроп, патологический лгун
"Ручками в контейнере apt install" и docker-compose - это про разное. Если вам не хватает функциональности стандартных образов - составьте Dockerfile, где описаны все недостающие телодвижения, и скормите его композу. Получится гибко и симпатично.

Примеры такого подхода можно посмотреть тут:
https://github.com/flemay/docker-images
Ответ написан
Комментировать
JustJew
@JustJew Автор вопроса
Сделал вот так, вроде даже запустилось, но попасть в ui не могу.
При переходе по домену либо по ip:9999/9998 редиректит на 127.0.0.1, а там, конечно же, ничего нет.

---
version: '3.8'

volumes:
  nextcloud_aio_mastercontainer:
    name: nextcloud_aio_mastercontainer
  db:

services:
  db:
    image: mariadb:10.5
    restart: always
    command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
    volumes:
      - /mnt/cloud/nextclouddb:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=nextcloud
      - MYSQL_PASSWORD=ttT12qEwbZ4242
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud

  nextcloud:
    #image: nextcloud
    image: nextcloud/all-in-one:latest
    container_name: nextcloud-aio-mastercontainer
    restart: always
    ports:
      - 9999:80
      - 9998:8080
    links:
      - db
    volumes:
      - nextcloud_aio_mastercontainer:/mnt/docker-aio-config
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - /mnt/cloud/nextcloud:/var/www/html
      - /mnt/cloud/data:/var/www/html/data
    environment:
      - PUID=1000
      - PGID=1000
      - MYSQL_PASSWORD=ttT12qEwbZ4242
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
      - MYSQL_HOST=db
      - NEXTCLOUD_TRUSTED_DOMAINS=cloud.justjew.ru
      - OVERWRITEHOST=cloud.justjew.ru
      - OVERWRITEPROTOCOL=https
   
  nextcloud-cron:
    image: nextcloud
    container_name: nextcloud-cron
    restart: unless-stopped
    environment:
      - PUID=1000
      - PGID=1000
      - MYSQL_ROOT_PASSWORD=nextcloud
      - MYSQL_PASSWORD=ttT12qEwbZ4242
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
      - MYSQL_HOST=db
      - NEXTCLOUD_TRUSTED_DOMAINS=cloud.justjew.ru
      - OVERWRITEHOST=cloud.justjew.ru
      - OVERWRITEPROTOCOL=https
    volumes:
      - /mnt/cloud/nextcloud:/var/www/html
      - /mnt/cloud/data:/var/www/html/data
      - /mnt/cloud/nextcloud/config:/var/www/html/config
    entrypoint: /cron.sh
    depends_on:
      - nextcloud


Trying to fix docker.sock permissions internally...
Creating docker group internally with id 998
Initial startup of Nextcloud All-in-One complete!
You should be able to open the Nextcloud AIO Interface now on port 8080 of this server!
E.g. https://internal.ip.of.this.server:8080
If your server has port 80 and 8443 open and you point a domain to your server, you can get a valid certificate automatically by opening the Nextcloud AIO Interface via:
https://your-domain-that-points-to-this-server.tld:8443
[07-May-2023 15:38:51] NOTICE: fpm is running, pid 119
[07-May-2023 15:38:51] NOTICE: ready to handle connections
INF ts=1683473931.6963575 msg=using provided configuration config_file=/Caddyfile config_adapter=
INF ts=1683473931.6990001 msg=failed to sufficiently increase receive buffer size (was: 208 kiB, wanted: 2048 kiB, got: 416 kiB). See https://github.com/quic-go/quic-go/wiki/UDP-Receive-Buffer-Size for details.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы