1.2.0 build status Docker pulls Licensed under GPLv3 @gitlab.com/flwgns-docker/seafile-client

Available tags

Weekly stable release are built every Monday at 6AM UTC+2.
Permanent stable releases will not be built again.

Weekly stable releases.

1, 1.2, 1.2.0, latest

Developmental releases.

staging: The purpose of this release is to test feature and make them available to anyone.

Purpose

Docker Seafile Client allow you to sync a Seafile library within a container.

Essentially, you can share a Seafile library as a volume to other containers.

Seafile?

Seafile is a cloud storage software.

Usage

The Seafile daemon is running as the user seafuser from it's directories ~/.seafile/ and ~/.ccnet.

The library is synced at /volume/.

The Seafile daemon is managed with supervisord since it can't run as a foreground process. The supervisord is running from ~/.supervisord/, the supervisord.conf, supervisord.log and supervisord.pid can be found there.
supervisord also manage a shell script, ~/infinite-seaf-cli-start.sh which stop then start the Seafile daemon every 20 minutes: the synchronisation might not work properly if the Seafile daemon is not restarted from times to times, for an unresolved reason.

Examples

You would have to share the path /volume/ to other containers, with the following approaches:

Docker CLI

docker run \ 
    -e SEAF_SERVER_URL= \   # The URL to your Seafile server.
    -e SEAF_USERNAME= \     # Your Seafile username.
    -e SEAF_PASSWORD= \     # Your Seafile password
    -e SEAF_LIBRARY_UUID= \ # The Seafile library UUID you want to sync with.
    -e UID= \               # Default is 1000.
    -e GID= \               # Default is 1000.
    -v your/shared/volume:/volume \
    flowgunso/seafile-client:latest

docker-compose

version: "3.4"

services:
  seafile-client:
    image: flowgunso/seafile-client:latest
    restart: on-failure
    volumes:
      - your_shared_volume:/volume
    environment:
      - SEAF_SERVER_URL=    # The URL to your Seafile server.
      - SEAF_USERNAME=      # Your Seafile username.
      - SEAF_PASSWORD=      # Your Seafile password.
      - SEAF_LIBRARY_UUID=  # The Seafile library UUID you want to sync with.
      - UID=                # Default is 1000.
      - GID=                # Default is 1000.

volumes:
  your_shared_volume:

Environment variables

The following environment variable are available.

Seafile

This Docker must be configured with the following, otherwise it will not run:

SEAF_SERVER_URL

The URL to your Seafile server.

SEAF_USERNAME

Your Seafile account's username.

SEAF_PASSWORD

Your Seafile account's password.

SEAF_LIBRARY_UUID

The Seafile library UUID you want to use.

User permissions

This Docker is not running as root but as seafuser. You can override the user/group ID used with:

UID

The user ID defaults to 1000. You may want to override this variable to prevent permission issues.

GID

The group ID defaults to 1000. Similarly, you may want to override this variable to prevent permission issues.

Source code

This Docker image is licensed under GPLv3.
The source code is available in gitlab.com/flwgns-docker/seafile-client.

Description
A Docker client for Seafile. Synchronize one or more Seafile libraries. Password protected, 2FA, network limits and more.
Readme 367 KiB
Languages
Python 50.9%
Shell 20.7%
Jinja 18.4%
Dockerfile 5.4%
Makefile 4.6%