1.0.6 status docker pulls

Available tags

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

You can rely on the weekly stable releases. They are stable.

Weekly stable releases.

1, 1.0, 1.0.6, latest (see tag/release 1.0.6)

Permanent stable releases.

1.0.3 (see tag/release 1.0.3)
1.0.2 (see tag/release 1.0.2)
1.0.0 (see tag/release 1.0.0)

Developmental releases.

staging (see branch staging)

Purpose

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

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

Seafile?

Seafile is a cloud storage software.

Usage

The Seafile daemon is running from /.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 run seaf-cli start every hour: the synchronisation might not work properly if seaf-cli start is not run 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
    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%