Please add some escaping in password env, I have password similar "xxxx&zzzz", and "&" broke syncing: ``` 2023-10-16 12:50:04,655 Listing local libraries: seaf-cli list 2023-10-16 12:50:05,108 Syncing library btsync: seaf-cli sync -l 3XX2-XXX-2eXXea -s https://xxxxxxxx.xx -d /dsc/seafile/btsync -u xxx@xx.xx -p ******** -bash: line 1: zzzz: command not found Traceback (most recent call last): File "/usr/bin/seaf-cli", line 1023, in <module> main() File "/usr/bin/seaf-cli", line 1019, in main args.func(args) File "/usr/bin/seaf-cli", line 675, in seaf_sync token = get_token(url, username, password, tfa, conf_dir) ``` |
||
|---|---|---|
| .github/workflows | ||
| dsc | ||
| .gitignore | ||
| Dockerfile | ||
| LICENSE | ||
| README.md | ||
| requirements.txt | ||
| start.py | ||
docker-seafile-client
Docker image for Seafile terminal client.
Docker-compose example:
services:
seafile-client:
restart: always
image: snegov/seafile-client
environment:
- LIBRARY_ID="79867cbf-2944-488d-9105-852463ecdf9e:my_library"
- SERVER_HOST=seafile.example.com
- USERNAME=user
- PASSWORD=password
- SEAFILE_UID=1000
- SEAFILE_GID=100
hostname: dsc
volumes:
- /home/johndow/seafile:/dsc/seafile
- sync-data:/dsc/seafile-data
container_name: seafile-client
volumes:
sync-data:
Environment variables:
LIBRARY_ID- library to sync, ID or name. Multiple libraries could be separated by colon:.SERVER_HOST- hostname of your Seafile server, eg:seafile.example.com. If you're using non-standard port, you can specify it here, eg:seafile.example.com:8080.USERNAME/PASSWORD- credentials to access Seafile server.SEAFILE_UID/SEAFILE_GID- UID/GID of user inside container. You can use it to set permissions on synced files. Default values are1000/1000.
Volumes:
/dsc/seafile-dataSeafile client data directory (sync status, etc)./dsc/seafileSeafile libraries content.
Some notes
LIBRARY_ID could be library ID or library name. Library ID is a 36-character string, which is a part of URI when you open library in webUI. Library name is a name you gave to library when you created it.
Libraries will be synced in subdirectories of /dsc/seafile directory inside container. You can mount it to host directory to access files.
hostname parameter is optional, but it's recommended to set it to some unique value, it will be shown in Seafile webUI as client name (terminal-dsc in given example).
sync-data volume is optional too, but it's recommended to use it. Otherwise, sync status will be lost when container is recreated.