Dockerのインストール
公式リポジトリからDockerをインストールします。
sudo apt update
sudo apt install ca-certificates curl gnupg
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod 644 /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo docker run hello-world
MariaDBコンテナの起動
docker run -d \
--name=nextcloud_mariadb \
--restart=unless-stopped \
-e MYSQL_ROOT_PASSWORD=your_secure_password \
-p 3306:3306 \
-v /mnt/nextcloud/database:/var/lib/mysql \
mariadb:latest
NextCloudコンテナの設定
docker run -d \
--name=nextcloud_app \
--link nextcloud_mariadb:database \
-p 8080:80 \
-v /mnt/nextcloud/app:/var/www/html \
--restart=unless-stopped \
nextcloud:latest
設定ファイル /mnt/nextcloud/app/config/config.php を編集:
$CONFIG = array (
'trusted_domains' =>
array (
0 => '192.168.1.x:8080',
1 => 'your.domain',
),
'overwriteprotocol' => 'https',
'overwritehost' => 'your.domain',
);
Nginxリバースプロキシの構成
sudo apt install nginx certbot python3-certbot-nginx
sudo certbot --nginx -d your.domain
Nginx設定ファイルに以下を追加:
location / {
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 $server_name;
client_max_body_size 8G;
proxy_pass http://localhost:8080;
}