はじめに
最近、Ubuntu Server 24.04上でDockerを使い、NextcloudとMariaDBを組み合わせて構築したところ、とても快適な環境が整いました。
ここではその手順を紹介します。
UbuntuにDockerをインストールする記事は以下参照。
背景
Nextcloudは、オープンソースのプライベートクラウドストレージソフトウェアで、ファイル同期や共有、グループウェア機能などを備えています。
従来、Raspberry Pi上でNextcloudを運用することもありましたが、パフォーマンス面やMicroSDの書き込み寿命などの問題があり、運用が安定しませんでした。
今回は、余っていたデスクトップPCにUbuntu Server 24.04を導入し、DockerとMariaDBを用いてより安定的かつ高速なNextcloud環境を構築しました。
環境
項目 | スペック・バージョン |
---|---|
ハードウェア | DELL製デスクトップPC |
CPU | Intel Core i7(第3世代) |
メモリ | 24GB |
ストレージ | 500GB SSD + 4TB HDD |
OS | Ubuntu Server 24.04 |
Docker | 24.0.2 |
Docker Compose | 2.17.2 |
Nextcloud | Ver30 (latest) |
MariaDB | 10.5 |
セットアップ手順
1. DockerとDocker Composeのインストール
sudo apt update
sudo apt install docker.io docker-compose -y
sudo systemctl start docker
sudo systemctl enable docker
インストール後はバージョンを確認します。
docker --version
docker-compose --version
2. docker-compose.ymlファイルの作成
以下の内容でdocker-compose.yml
ファイルを作成します。
NextcloudとMariaDBを連携し、データを永続化する設定が含まれています。
version: '3'
services:
db:
image: mariadb:10.5
container_name: nextcloud-db
restart: always
volumes:
- db_data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: mysecretpassword
MYSQL_DATABASE: nextcloud
MYSQL_USER: nextclouduser
MYSQL_PASSWORD: nextcloudpassword
app:
image: nextcloud:latest
container_name: nextcloud-app
ports:
- 8080:80
volumes:
- nextcloud_data:/var/www/html
restart: always
environment:
MYSQL_PASSWORD: nextcloudpassword
MYSQL_DATABASE: nextcloud
MYSQL_USER: nextclouduser
MYSQL_HOST: db
depends_on:
- db
volumes:
db_data:
nextcloud_data:
3. コンテナの起動
docker-compose.yml
ファイルがあるディレクトリで以下を実行します。
sudo docker-compose up -d
起動後、docker ps
でコンテナが正常に稼働しているか確認します。
4. Nextcloud初期設定
ブラウザでhttp://[サーバーのIPアドレス]:8080
にアクセスすると、Nextcloudの初期設定画面が表示されます。以下の情報を入力して設定を完了してください。
- データベースユーザー名:
nextclouduser
- データベースパスワード:
nextcloudpassword
- データベース名:
nextcloud
- データベースホスト:
db
設定を完了すると、Nextcloudが利用可能になります。
使用感とポイント
- Dockerによるコンテナ化で環境構築が非常にシンプルになり、メンテナンスやアップデートが容易です。
- MariaDBとの組み合わせにより、安定したデータベース運用が可能で、Nextcloudのパフォーマンスも向上しました。
- Ubuntu Server 24.04上での稼働は軽快で、大容量のストレージを活用した快適なプライベートクラウド環境が実現できます。
セキュリティや拡張性への配慮
-
docker-compose.yml
内にパスワードを直接記述するのは避け、.env
ファイルで環境変数として管理することを推奨します。 - HTTPS化やリバースプロキシ(NginxやTraefik)を組み合わせることで、よりセキュアなアクセス環境を整えることが可能です。
まとめ
DockerとUbuntu Serverを活用することで、Nextcloud+MariaDBによるプライベートクラウド環境が容易かつ快適に構築できました。
大容量ストレージを備えたPCで運用することで、Raspberry Pi環境では得られなかった安定性や高速性が手に入ります。
「自分だけのプライベートクラウドを作りたい」という方は、ぜひこの手順を参考にしてみてください。
Dockerを使うと環境が簡単に構築でき保守もかなら楽です。
そのあたりについても記事にしていきたいと思います。