ユーザ用ツール

サイト用ツール


50_dialy:2022:10:01

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
50_dialy:2022:10:01 [2022/10/02 10:37] matsui50_dialy:2022:10:01 [2023/10/02 09:20] (現在) matsui
行 7: 行 7:
 nginx (proxy) + nginx (web) + Nextcloud (php-fpm) + mariaDB + redis の全部入り nginx (proxy) + nginx (web) + Nextcloud (php-fpm) + mariaDB + redis の全部入り
  
 +
 +===== git で持ってくる =====
 +
 +<code>
 +git clone https://github.com/nextcloud/docker.git
 +rsync -av docker/.examples/docker-compose/with-nginx-proxy/mariadb/fpm/ /app/
 +cd /app
 +</code>
 +
 +===== db.env =====
 +
 +Nextcloudのdb部分と同じパスワードを設定する。
 +<code>
 +MYSQL_PASSWORD=[PASSWORD]
 +MYSQL_DATABASE=nextcloud
 +MYSQL_USER=nextcloud
 +
 +</code>
  
 ===== docker-compose.yml ===== ===== docker-compose.yml =====
行 137: 行 155:
  
 ==== 1.UIからアプリを入れる ==== ==== 1.UIからアプリを入れる ====
- 
  
 アプリからPreview Generatorを有効にする。 アプリからPreview Generatorを有効にする。
  
-==== 2.Cronファイルをピー ====+あとはcronンテナがcron.phpで実行してくれる。
  
-<code> +==== 2.docker-compose.yml修正 ====
-docker cp app-cron-1:/etc/crontabs/www-data . +
-</code>+
  
-==== 3.cronファイル修正 ====+こうすると、Preview Generatorに必要なffmpegがンストーされる。
  
 <code> <code>
-vi www-data +  app:
-*/10 * * * * PHP_MEMORY_LIMIT=512M php /var/www/html/occ preview:generate -vvv +
-</code> +
- +
-==== 4.docker-compose.yml修正 ==== +
- +
-こうすると、Preview Generatorに必要なffmpegがインストールされて、cronファイルも上書き +
- +
- +
-<code> +
-  cron:+
     image: nextcloud:fpm-alpine     image: nextcloud:fpm-alpine
     restart: always     restart: always
     volumes:     volumes:
       - ./nextcloud:/var/www/html       - ./nextcloud:/var/www/html
-      ./www-data:/etc/crontabs/www-data+    environment: 
 +      MYSQL_HOST=db 
 +      REDIS_HOST=redis 
 +      - PHP_MEMORY_LIMIT=1G 
 +      - PHP_UPLOAD_LIMIT=5G 
 +      OVERWRITEPROTOCOL=https
     entrypoint: sh     entrypoint: sh
     command:     command:
       - -c       - -c
-      - apk add sudo && apk add ffmpeg && /cron.sh+      - apk add sudo && apk add ffmpeg && /entrypoint.sh php-fpm 
 +    env_file: 
 +      - db.env
     depends_on:     depends_on:
       - db       - db
行 175: 行 187:
 </code> </code>
  
-==== 5.反映 ====+==== 3.反映 ====
  
 <code> <code>
行 181: 行 193:
 docker-compose up -d docker-compose up -d
 </code> </code>
 +
 +
 +==== 4.手動で実行する場合 ====
 +
 +<code>
 +# docker-compose exec -u www-data cron php occ preview:generate-all -vvv
 +</code>
 +
 +もしくは
 +
 +<code>
 +# docker exec app-cron-1 sudo -u www-data PHP_MEMORY_LIMIT=512M php occ preview:generate-all -vvv
 +</code>
 +
 +==== 5.Cronを設定しておく ====
 +
 +preview:pre-generate で実行すると、まだサムネイルができてないものだけ実行
 +
 +<code>
 +# crontab -l
 +*/10 * * * * docker-compose exec -u www-data cron php occ preview:pre-generate -vvv
 +</code>
 +
 +===== Maps =====
 +
 +地図上に写真の場所をマッピングしてくれる。
 +
 +https://apps.nextcloud.com/apps/maps
 +
 +==== 1.Mapsを有効化 ====
 +
 +アプリからMapsを有効にする。
 +
 +あとはcronコンテキストが有効であれば自動でマッピングしてくれます。
 +
 +※位置情報がない写真は先に位置情報を登録して上げる必要があります。
 +[[https://join.biglobe.ne.jp/mobile/sim/gurashi/ios_0060/]]
 +==== 2.手動で実行する場合 ====
 +
 +<code>
 +# docker-compose exec -u www-data app php occ maps:scan-photos
 +</code>
 +
 +もしくは
 +
 +<code>
 +# docker exec app-cron-1 sudo -u www-data PHP_MEMORY_LIMIT=512M php occ maps:scan-photos
 +</code>
 +
 +===== Let's Encrypt =====
 +
 +Let's Encrypt は、nginxproxy/acme-companionで動いててて \\
 +下記のような感じで、1時間おきに動作している
 +
 +<code>
 +Creating/renewal nextcloud.hogehoge.com certificates... (nextcloud.hogehoge.com)
 +[Wed Dec 21 21:46:22 UTC 2022] Domains not changed.
 +[Wed Dec 21 21:46:22 UTC 2022] Skip, Next renewal time is: Fri Jan 27 07:34:32 UTC 2023
 +[Wed Dec 21 21:46:22 UTC 2022] Add '--force' to force to renew.
 +Sleep for 3600s
 +Creating/renewal nextcloud.hogehoge.com certificates... (nextcloud.hogehoge.com)
 +[Wed Dec 21 22:46:23 UTC 2022] Domains not changed.
 +[Wed Dec 21 22:46:23 UTC 2022] Skip, Next renewal time is: Fri Jan 27 07:34:32 UTC 2023
 +[Wed Dec 21 22:46:23 UTC 2022] Add '--force' to force to renew.
 +Sleep for 3600s
 +</code>
 +
 +===== NextCloudでオブジェクトストレージ利用 =====
 +
 +<code>
 +# cat nextcloud/config/config.php
 +'objectstore' => array (
 +  'class' => 'OC\\Files\\ObjectStore\\S3',
 +  'arguments' => 
 +  array (
 +    'bucket' => 'testbuckets', //オブジェクトストレージのバケット名
 +    'autocreate' => true, 
 +    'key' => 'XXXXXXXXXXXXXXXXXXXXX', // Access key
 +    'secret' => 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', // Secret access key:
 +    'hostname' => 's3.hoghoge.com', //オブジェクトストレージのホスト名
 +    'port' => 443, //
 +    'use_ssl' => true, //ssl 
 +    'use_path_style' => true, // 
 +  ),
 +),
 +</code>
 +
 +===== upgrade =====
 +
 +
 +==== 1 停止 ====
 +
 +  docker-compose stop
 +
 +
 +==== 2 Dockerイメージ変更 ====
 +
 +バージョンは1つずつアップデートする必要があります。
 +
 +vi docker-compose.yml
 +  app:
 +    image: nextcloud:24-fpm-alpine
 +  cron:
 +    image: nextcloud:24-fpm-alpine
 +  ↓に変更
 +  app:
 +    image: nextcloud:25-fpm-alpine
 +  cron:
 +    image: nextcloud:25-fpm-alpine
 +
 +==== 3 起動 ====
 +  docker-compose up -d
 +  
 +==== 4 アップグレード作業  ====
 +
 +  docker-compose exec -u www-data cron php occ upgrade
 +
  
 {{tag>日記 Nextcloud}} {{tag>日記 Nextcloud}}
50_dialy/2022/10/01.1664707030.txt.gz · 最終更新: 2022/10/02 10:37 by matsui