このページの2つのバージョン間の差分を表示します。
次のリビジョン | 前のリビジョン | ||
50_dialy:2022:10:01 [2022/10/01 09:31] – 作成 matsui | 50_dialy:2022:10:01 [2023/10/02 09:20] (現在) – matsui | ||
---|---|---|---|
行 6: | 行 6: | ||
nginx (proxy) + nginx (web) + Nextcloud (php-fpm) + mariaDB + redis の全部入り | nginx (proxy) + nginx (web) + Nextcloud (php-fpm) + mariaDB + redis の全部入り | ||
+ | |||
+ | |||
+ | ===== git で持ってくる ===== | ||
+ | |||
+ | < | ||
+ | git clone https:// | ||
+ | rsync -av docker/ | ||
+ | cd /app | ||
+ | </ | ||
+ | |||
+ | ===== db.env ===== | ||
+ | |||
+ | Nextcloudのdb部分と同じパスワードを設定する。 | ||
+ | < | ||
+ | MYSQL_PASSWORD=[PASSWORD] | ||
+ | MYSQL_DATABASE=nextcloud | ||
+ | MYSQL_USER=nextcloud | ||
+ | |||
+ | </ | ||
+ | |||
+ | ===== docker-compose.yml ===== | ||
+ | |||
+ | < | ||
+ | root@nextcloud:/ | ||
+ | version: ' | ||
+ | |||
+ | services: | ||
+ | db: | ||
+ | image: mariadb: | ||
+ | command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW | ||
+ | restart: always | ||
+ | volumes: | ||
+ | - ./ | ||
+ | environment: | ||
+ | - MYSQL_ROOT_PASSWORD=[PASSWORD] | ||
+ | - MARIADB_AUTO_UPGRADE=1 | ||
+ | - MARIADB_DISABLE_UPGRADE_BACKUP=1 | ||
+ | env_file: | ||
+ | - db.env | ||
+ | |||
+ | redis: | ||
+ | image: redis: | ||
+ | restart: always | ||
+ | |||
+ | app: | ||
+ | image: nextcloud: | ||
+ | restart: always | ||
+ | volumes: | ||
+ | - ./ | ||
+ | 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: | ||
+ | - ./ | ||
+ | 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: | ||
+ | restart: always | ||
+ | volumes: | ||
+ | - ./ | ||
+ | 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: | ||
+ | volumes: | ||
+ | - certs:/ | ||
+ | - vhost.d:/ | ||
+ | - html:/ | ||
+ | - / | ||
+ | networks: | ||
+ | - proxy-tier | ||
+ | |||
+ | letsencrypt-companion: | ||
+ | image: nginxproxy/ | ||
+ | restart: always | ||
+ | volumes: | ||
+ | - certs:/ | ||
+ | - acme:/ | ||
+ | - vhost.d:/ | ||
+ | - html:/ | ||
+ | - / | ||
+ | networks: | ||
+ | - proxy-tier | ||
+ | depends_on: | ||
+ | - proxy | ||
+ | |||
+ | # self signed | ||
+ | # omgwtfssl: | ||
+ | # image: paulczar/ | ||
+ | # restart: " | ||
+ | # volumes: | ||
+ | # - certs:/ | ||
+ | # environment: | ||
+ | # - SSL_SUBJECT=nc.kumolabo.com | ||
+ | # - CA_SUBJECT=shinya.matsui@gmogshd.com | ||
+ | # - SSL_KEY=/ | ||
+ | # - SSL_CSR=/ | ||
+ | # - SSL_CERT=/ | ||
+ | # networks: | ||
+ | # - proxy-tier | ||
+ | |||
+ | volumes: | ||
+ | db: | ||
+ | nextcloud: | ||
+ | certs: | ||
+ | acme: | ||
+ | vhost.d: | ||
+ | html: | ||
+ | |||
+ | networks: | ||
+ | proxy-tier: | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Preview Generator ===== | ||
+ | |||
+ | Preview Generatorを入れとくと、自動でサムネイルを作成してくれる。 | ||
+ | |||
+ | ==== 1.UIからアプリを入れる ==== | ||
+ | |||
+ | アプリからPreview Generatorを有効にする。 | ||
+ | |||
+ | あとはcronコンテナがcron.phpで実行してくれる。 | ||
+ | |||
+ | ==== 2.docker-compose.yml修正 ==== | ||
+ | |||
+ | こうすると、Preview Generatorに必要なffmpegがインストールされる。 | ||
+ | |||
+ | < | ||
+ | app: | ||
+ | image: nextcloud: | ||
+ | restart: always | ||
+ | volumes: | ||
+ | - ./ | ||
+ | environment: | ||
+ | - MYSQL_HOST=db | ||
+ | - REDIS_HOST=redis | ||
+ | - PHP_MEMORY_LIMIT=1G | ||
+ | - PHP_UPLOAD_LIMIT=5G | ||
+ | - OVERWRITEPROTOCOL=https | ||
+ | entrypoint: sh | ||
+ | command: | ||
+ | - -c | ||
+ | - apk add sudo && apk add ffmpeg && / | ||
+ | env_file: | ||
+ | - db.env | ||
+ | depends_on: | ||
+ | - db | ||
+ | - redis | ||
+ | </ | ||
+ | |||
+ | ==== 3.反映 ==== | ||
+ | |||
+ | < | ||
+ | docker-compose stop | ||
+ | docker-compose up -d | ||
+ | </ | ||
+ | |||
+ | |||
+ | ==== 4.手動で実行する場合 ==== | ||
+ | |||
+ | < | ||
+ | # docker-compose exec -u www-data cron php occ preview: | ||
+ | </ | ||
+ | |||
+ | もしくは | ||
+ | |||
+ | < | ||
+ | # docker exec app-cron-1 sudo -u www-data PHP_MEMORY_LIMIT=512M php occ preview: | ||
+ | </ | ||
+ | |||
+ | ==== 5.Cronを設定しておく ==== | ||
+ | |||
+ | preview: | ||
+ | |||
+ | < | ||
+ | # crontab -l | ||
+ | */10 * * * * docker-compose exec -u www-data cron php occ preview: | ||
+ | </ | ||
+ | |||
+ | ===== Maps ===== | ||
+ | |||
+ | 地図上に写真の場所をマッピングしてくれる。 | ||
+ | |||
+ | https:// | ||
+ | |||
+ | ==== 1.Mapsを有効化 ==== | ||
+ | |||
+ | アプリからMapsを有効にする。 | ||
+ | |||
+ | あとはcronコンテキストが有効であれば自動でマッピングしてくれます。 | ||
+ | |||
+ | ※位置情報がない写真は先に位置情報を登録して上げる必要があります。 | ||
+ | [[https:// | ||
+ | ==== 2.手動で実行する場合 ==== | ||
+ | |||
+ | < | ||
+ | # docker-compose exec -u www-data app php occ maps: | ||
+ | </ | ||
+ | |||
+ | もしくは | ||
+ | |||
+ | < | ||
+ | # docker exec app-cron-1 sudo -u www-data PHP_MEMORY_LIMIT=512M php occ maps: | ||
+ | </ | ||
+ | |||
+ | ===== Let's Encrypt ===== | ||
+ | |||
+ | Let's Encrypt は、nginxproxy/ | ||
+ | 下記のような感じで、1時間おきに動作している | ||
+ | |||
+ | < | ||
+ | Creating/ | ||
+ | [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 ' | ||
+ | Sleep for 3600s | ||
+ | Creating/ | ||
+ | [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 ' | ||
+ | Sleep for 3600s | ||
+ | </ | ||
+ | |||
+ | ===== NextCloudでオブジェクトストレージ利用 ===== | ||
+ | |||
+ | < | ||
+ | # cat nextcloud/ | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | array ( | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ), | ||
+ | ), | ||
+ | </ | ||
+ | |||
+ | ===== upgrade ===== | ||
+ | |||
+ | |||
+ | ==== 1 停止 ==== | ||
+ | |||
+ | docker-compose stop | ||
+ | |||
+ | |||
+ | ==== 2 Dockerイメージ変更 ==== | ||
+ | |||
+ | バージョンは1つずつアップデートする必要があります。 | ||
+ | |||
+ | vi docker-compose.yml | ||
+ | app: | ||
+ | image: nextcloud: | ||
+ | cron: | ||
+ | image: nextcloud: | ||
+ | ↓に変更 | ||
+ | app: | ||
+ | image: nextcloud: | ||
+ | cron: | ||
+ | image: nextcloud: | ||
+ | |||
+ | ==== 3 起動 ==== | ||
+ | docker-compose up -d | ||
+ | | ||
+ | ==== 4 アップグレード作業 | ||
+ | |||
+ | docker-compose exec -u www-data cron php occ upgrade | ||
{{tag> | {{tag> |