ユーザ用ツール

サイト用ツール


サイドバー

このページの翻訳:



最近の更新



Tag Cloud

50_dialy:2022:10:01

文書の過去の版を表示しています。


2022.10.01 Nextcloud

公式の docker-compose.yml で環境を作成

https://github.com/nextcloud/docker/tree/master/.examples/docker-compose/with-nginx-proxy/mariadb/fpm

nginx (proxy) + nginx (web) + Nextcloud (php-fpm) + mariaDB + redis の全部入り

docker-compose.yml

root@nextcloud:/app# cat docker-compose.yml 
version: '3'

services:
  db:
    image: mariadb:10.5
    command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
    restart: always
    volumes:
      - ./db:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=[PASSWORD]
      - MARIADB_AUTO_UPGRADE=1
      - MARIADB_DISABLE_UPGRADE_BACKUP=1
    env_file:
      - db.env

  redis:
    image: redis:alpine
    restart: always

  app:
    image: nextcloud:fpm-alpine
    restart: always
    volumes:
      - ./nextcloud:/var/www/html
    environment:
      - MYSQL_HOST=db
      - REDIS_HOST=redis
      - PHP_MEMORY_LIMIT=1G
      - PHP_UPLOAD_LIMIT=5G
      - OVERWRITEPROTOCOL=https
    env_file:
      - db.env
    depends_on:
      - db
      - redis

  web:
    build: ./web
    restart: always
    volumes:
      - ./nextcloud:/var/www/html:ro
    environment:
      - VIRTUAL_HOST=nextcloud.hogehoge.com
      - LETSENCRYPT_HOST=nextcloud.hogehoge.com
      - LETSENCRYPT_EMAIL=matsui@nextcloud.hogehoge.com
    depends_on:
      - app
    networks:
      - proxy-tier
      - default

  cron:
    image: nextcloud:fpm-alpine
    restart: always
    volumes:
      - ./nextcloud:/var/www/html
    entrypoint: /cron.sh
    depends_on:
      - db
      - redis

  proxy:
    build: ./proxy
    restart: always
    ports:
      - 80:80
      - 443:443
    labels:
      com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy: "true"
    volumes:
      - certs:/etc/nginx/certs:ro
      - vhost.d:/etc/nginx/vhost.d
      - html:/usr/share/nginx/html
      - /var/run/docker.sock:/tmp/docker.sock:ro
    networks:
      - proxy-tier

  letsencrypt-companion:
    image: nginxproxy/acme-companion
    restart: always
    volumes:
      - certs:/etc/nginx/certs
      - acme:/etc/acme.sh
      - vhost.d:/etc/nginx/vhost.d
      - html:/usr/share/nginx/html
      - /var/run/docker.sock:/var/run/docker.sock:ro
    networks:
      - proxy-tier
    depends_on:
      - proxy

# self signed
#  omgwtfssl:
#    image: paulczar/omgwtfssl
#    restart: "no"
#    volumes:
#      - certs:/certs
#    environment:
#      - SSL_SUBJECT=nc.kumolabo.com
#      - CA_SUBJECT=shinya.matsui@gmogshd.com
#      - SSL_KEY=/certs/servhostname.local.key
#      - SSL_CSR=/certs/servhostname.local.csr
#      - SSL_CERT=/certs/servhostname.local.crt
#    networks:
#      - proxy-tier

volumes:
  db:
  nextcloud:
  certs:
  acme:
  vhost.d:
  html:

networks:
  proxy-tier:

Preview Generator

Preview Generatorを入れとくと、自動でサムネイルを作成してくれる。

1.UIからアプリを入れる

アプリからPreview Generatorを有効にする。

2.Cronファイルをコピー

docker cp app-cron-1:/etc/crontabs/www-data .

3.cronファイル修正

vi www-data
*/10 * * * * PHP_MEMORY_LIMIT=512M php /var/www/html/occ preview:generate -vvv

4.docker-compose.yml修正

こうすると、Preview Generatorに必要なffmpegがインストールされて、cronファイルも上書き

  cron:
    image: nextcloud:fpm-alpine
    restart: always
    volumes:
      - ./nextcloud:/var/www/html
      - ./www-data:/etc/crontabs/www-data
    entrypoint: sh
    command:
      - -c
      - apk add sudo && apk add ffmpeg && /cron.sh
    depends_on:
      - db
      - redis

5.反映

docker-compose stop
docker-compose up -d
50_dialy/2022/10/01.1664707030.txt.gz · 最終更新: 2022/10/02 19:37 by matsui