Installing Seafile with Docker Compose
Seafile is a free open source file hosting and sync too that is easy to use and secure, In this post I will talk you through how to install this through docker compose
Edit the below docker-compose.yml file
version: '2.0'
services:
db:
image: mariadb:10.11
container_name: seafile-mysql
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.6.18
container_name: seafile-memcached
entrypoint: memcached -m 256
networks:
- seafile-net
seafile:
image: seafileltd/seafile-mc:latest
container_name: seafile
ports:
- "80: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 should be root's password of MySQL service.
- TIME_ZONE=Etc/UTC # Optional, default is UTC. Should be uncomment and set to your local time zone.
- [email protected] # Specifies Seafile admin user, default is '[email protected]'.
- 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:
Dont forget to modify the following
- The password of MySQL root (MYSQL_ROOT_PASSWORD and DB_ROOT_PASSWD)
- The volume directory of MySQL data (volumes)
- The volume directory of Seafile data (volumes).
- SEAFILE_SERVER_HOSTNAME=docs.seafile.com
- SEAFILE_ADMIN_EMAIL=example@email
- SEAFILE_ADMIN_PASSWORD=
Then start the docker containers:
docker-compose uponce the containers are up headf to your hostname that you sepcified in SEAFILE_SERVER_HOSTNAME and log in using the SEAFILE_ADMIN_EMAIL and SEAFILE_ADMIN_PASSWORD
and enjoy using seafile!