docker composeを使って「seafile」を構築する

docker composeを使って「seafile」を構築する

docker composeをを使って「seafile」を構築するまでの手順を記述してます。

環境

  • OS MIRACLE LINUX release 8.4 (Peony)
  • docker 20.10.9
  • docker-compose v2.0.1

docker-compose.yml作成

まずは任意のディレクトリ内に、下記の内容で「docker-compose.yml」を作成します。
※ポートは任意のものを指定して下さい

version: '2.0'
services:
  db:
    image: mariadb:10.5
    container_name: seafile-mysql
    ports:
      - "4306:3306"
    environment:
      - MYSQL_ROOT_PASSWORD=db_dev  # Requested, set the root's password of MySQL service.
      - MYSQL_LOG_CONSOLE=true
    volumes:
      - /opt/seafile-mysql/db:/var/lib/mysql  # Requested, specifies the path to MySQL data persistent store.
    networks:
      - seafile-net

  memcached:
    image: memcached:1.5.6
    container_name: seafile-memcached
    entrypoint: memcached -m 256
    networks:
      - seafile-net
          
  seafile:
    image: seafileltd/seafile-mc:latest
    container_name: seafile
    ports:
      - "81:80"
#     - "443:443"  # If https is enabled, cancel the comment.
    volumes:
      - /opt/seafile-data:/shared   # Requested, specifies the path to Seafile data persistent store.
    environment:
      - DB_HOST=db
      - DB_ROOT_PASSWD=db_dev  # Requested, the value shuold be root's password of MySQL service.
      - TIME_ZONE=Asia/Tokyo  # Optional, default is UTC. Should be uncomment and set to your local time zone.
      - SEAFILE_ADMIN_EMAIL=me@example.com # Specifies Seafile admin user, default is 'me@example.com'.
      - SEAFILE_ADMIN_PASSWORD=asecret     # Specifies Seafile admin password, default is 'asecret'.
      - SEAFILE_SERVER_LETSENCRYPT=false   # Whether to use https or not.
      - SEAFILE_SERVER_HOSTNAME=docs.seafile.com # Specifies your host name if https is enabled.
    depends_on:
      - db
      - memcached
    networks:
      - seafile-net

networks:
  seafile-net:

「seafile」起動

以下のコマンドを実行して起動します。

docker-compose up -d

ブラウザから http://プライベートIP or サーバーIP:81 にアクセスします。

「seafile」が起動していることが確認できます。

me@example.com / asecret

でログインします。

ログイン後の画面となります。