2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Ubuntu Server 24.04でDocker+MariaDBを用いてNextcloudを快適にセットアップする手順

Last updated at Posted at 2024-12-13

はじめに

最近、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を使うと環境が簡単に構築でき保守もかなら楽です。
そのあたりについても記事にしていきたいと思います。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?