docker composeを使ってonlyofficeが使用できるnextcloudを構築する
docker composerを利用してofficeのドキュメントが編集できる「onlyofficer」が使用できるnextcloudを構築するまでの手順を記述してます。
環境
- OS ubuntu21.04
- docker 20.10.6
- docker-compose 1.28.6
事前準備
事前にdockerや必要ツールをインストールしておきます。
curlとgitのインストール
sudo apt install curl git
dockerインストール
curl -sSL https://get.docker.com/ | sh
systemctl start docker
sudo usermod -aG docker ${USER}
docker-composeインストール
sudo curl -L "https://github.com/docker/compose/releases/download/1.28.6/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
インストールが終われば、一旦セッションを抜けます。
su - ${USER}
docker-compos.yml作成
gitから入手可能です。
git clone https://github.com/ONLYOFFICE/docker-onlyoffice-nextcloud
移動します。
cd docker-onlyoffice-nextcloud
docker-compos.ymlの中は、以下のようになってます。
version: '3'
services:
app:
container_name: app-server
image: nextcloud:fpm
restart: always
expose:
- '80'
- '9000'
volumes:
- app_data:/var/www/html
onlyoffice-document-server:
container_name: onlyoffice-document-server
image: onlyoffice/documentserver:latest
restart: always
expose:
- '80'
- '443'
volumes:
- document_data:/var/www/onlyoffice/Data
- document_log:/var/log/onlyoffice
nginx:
container_name: nginx-server
image: nginx
restart: always
ports:
- 80:80
- 443:443
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf
- app_data:/var/www/html
volumes:
document_data:
document_log:
app_data:
mysql_data:
mysqlを使用する場合は、以下のように編集します。
version: '3'
services:
app:
container_name: app-server
image: nextcloud:fpm
restart: always
expose:
- '80'
- '9000'
volumes:
- app_data:/var/www/html
db:
image: mariadb
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
restart: always
volumes:
- mysql_data:/var/lib/mysql
ports:
- 3309:3306
environment:
- MYSQL_ROOT_PASSWORD=pwd
- MYSQL_PASSWORD=pwd
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
onlyoffice-document-server:
container_name: onlyoffice-document-server
image: onlyoffice/documentserver:latest
restart: always
expose:
- '80'
- '443'
volumes:
- document_data:/var/www/onlyoffice/Data
- document_log:/var/log/onlyoffice
nginx:
container_name: nginx-server
image: nginx
restart: always
ports:
- 80:80
- 443:443
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf
- app_data:/var/www/html
volumes:
document_data:
document_log:
app_data:
mysql_data:
※DBに接続できない場合は、「command」部分を以下に変更してください。
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW --innodb-file-per-table=1 --skip-innodb-read-only-compressed
nextcloud起動
以下のコマンドを実行して「nextcloud」を起動します。
docker-compose up -d
sudo bash set_configuration.sh
ブラウザから https://プライベートIP or サーバーアドレスにアクセスします。
ログイン画面が表示されます。
管理者アカウントを作成すればでログイン可能です。
DBはMysqlを使用する場合は、ymlの設定通りに入力します。
user : nextcloud
password : pwd
database : nextcloud
host : docker-onlyoffice-nextcloud_db_1
※設定後に「504」がでたらリロードしてみて下さい。
ログイン後に設定より「ONLYOFFICE」が設定されていれば構築は完了です。
-
前の記事
go言語 ファイル内の全データを取得する 2021.05.25
-
次の記事
Deno ファイルに書き込みを行う 2021.05.26
コメントを書く