Nextcloud を docker-compose で起こしてみました
ちなみに、postgreSQLのバージョンは18.3です
DB側の設定
DBは、postgreSQLを使います。
Nextcloud用のDBとユーザを作ります
CREATE USER nextcloud_user WITH PASSWORD 'xxxxxx';
CREATE DATABASE nextclouddb OWNER nextcloud_user;
GRANT ALL PRIVILEGES ON DATABASE nextclouddb TO nextcloud_user;
docker-compose.yml
61005ポートで待ち受けることにしました
vi docker-compose.yml
services:
nextcloud:
image: nextcloud
container_name: nextcloud
restart: always
ports:
- "61005:80"
volumes:
- ./.docker/nextcloud:/var/www/html
environment:
- POSTGRES_HOST=${POSTGRES_HOST}
- POSTGRES_DB=${POSTGRES_DB}
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- NEXTCLOUD_ADMIN_USER=${NEXTCLOUD_ADMIN_USER}
- NEXTCLOUD_ADMIN_PASSWORD=${NEXTCLOUD_ADMIN_PASSWORD}
参考
vi .env
POSTGRES_HOST=192.168.x.x
POSTGRES_DB=nextclouddb
POSTGRES_USER=nextcloud_user
POSTGRES_PASSWORD=xxxxxx
NEXTCLOUD_ADMIN_USER=admin
NEXTCLOUD_ADMIN_PASSWORD=xxxxxx
完成
注意点
インストール直後は、「アプリ」の追加ができないかもしれません。
具体的には、以下の右側のアプリを選んでも、「発見」に何も表示させず、また、左タブの赤枠の「AI~Flow」までが表示されませんでした(黄色で囲った感じだった)
一晩寝かせたら、出るようになったので裏でもってきてくれたのかもしれません。

nginx 経由のアクセス設定の場合
http://x.x.x.x/nextcloud でアクセスしたい場合
この設定をいれると直接アクセス(今回の場合は http://192.168.x.x:61005/)でアクセスできなくなるので認識したおいてください。
まあ、通常はwebサーバ経由すると思うので、この設定でいいかなとは思います。
vi nginx/conf.d/default.conf
# /nextcloud へのリクエストを nextcloudコンテナへ転送
location /nextcloud/ {
proxy_pass http://192.168.x.x:61005/;
# ヘッダー設定
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
# サブディレクトリ運用のためのヘッダー書き換え
proxy_set_header X-Forwarded-Prefix /nextcloud;
# スタイルシートやJSの読み込み対策
proxy_redirect off;
}
nextcloud側の設定
抜粋です
vi /var/www/html/config/config.php
'trusted_domains' =>
array (
0 => '192.168.x.x:61005',
1 => '192.168.x.x', # これを追加
),
'overwritewebroot' => '/nextcloud', # ''だったのを変更
'trusted_proxies' =>
array (
0 => '192.168.x.x', # これを追加
),
感想
セルフホスト可能なグループウェアを使いたくて試しに入れてみました。
使い方が全くわかっていないので、このあといじくってみます
