gronis / docker-seafile-client Goto Github PK
View Code? Open in Web Editor NEWRun a seafile client inside docker which can sync files from seafile repositories
License: MIT License
Run a seafile client inside docker which can sync files from seafile repositories
License: MIT License
Hi,
I am using the latest image and the synchronization doesn't work. This is the command
seaf-cli sync -l my_lib_id -s https://my_url -d /my_data -u my_username@home
and I get this error
File "/usr/lib/python3.9/urllib/request.py", line 1346, in do_open
h.request(req.get_method(), req.selector, req.data, headers,
File "/usr/lib/python3.9/http/client.py", line 1255, in request
self._send_request(method, url, body, headers, encode_chunked)
File "/usr/lib/python3.9/http/client.py", line 1301, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File "/usr/lib/python3.9/http/client.py", line 1250, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "/usr/lib/python3.9/http/client.py", line 1010, in _send_output
self.send(msg)
File "/usr/lib/python3.9/http/client.py", line 950, in send
self.connect()
File "/usr/lib/python3.9/http/client.py", line 1424, in connect
self.sock = self._context.wrap_socket(self.sock,
File "/usr/lib/python3.9/ssl.py", line 500, in wrap_socket
return self.sslsocket_class._create(
File "/usr/lib/python3.9/ssl.py", line 1040, in _create
self.do_handshake()
File "/usr/lib/python3.9/ssl.py", line 1309, in do_handshake
self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1123)
During handling of the above exception, another exception occurred:
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)
File "/usr/bin/seaf-cli", line 301, in get_token
token_json = urlopen("%s/api2/auth-token/" % url, data=data, headers=headers)
File "/usr/bin/seaf-cli", line 234, in urlopen
resp = urllib.request.urlopen(req)
File "/usr/lib/python3.9/urllib/request.py", line 214, in urlopen
return opener.open(url, data, timeout)
File "/usr/lib/python3.9/urllib/request.py", line 517, in open
response = self._open(req, data)
File "/usr/lib/python3.9/urllib/request.py", line 534, in _open
result = self._call_chain(self.handle_open, protocol, protocol +
File "/usr/lib/python3.9/urllib/request.py", line 494, in _call_chain
result = func(*args)
File "/usr/lib/python3.9/urllib/request.py", line 1389, in https_open
return self.do_open(http.client.HTTPSConnection, req,
File "/usr/lib/python3.9/urllib/request.py", line 1349, in do_open
raise URLError(err)
urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1123)>
and I also tried to use
seaf-cli config -k disable_verify_certificate -v true
but I think that this setting is not adopted. Is there a config in which I can check the settings?
Hi there,
I have just installed this today and having troubles getting the docker to load. Whenever I start the docker it sits in a reboot cycle. It seems to be falling over on the following command:
seaf-cli: error: unrecognized arguments: Library
For reference i'm installing it on a synology NAS, and this is an example log output that i receive:
date | stream | content |
---|---|---|
2019-08-07 06:40:18 | stdout | seaf-cli: error: unrecognized arguments: Library |
2019-08-07 06:40:18 | stdout | ... |
2019-08-07 06:40:18 | stdout | {init,start,stop,list,list-remote,status,download,download-by-name,sync,desync,create,config} |
2019-08-07 06:40:18 | stdout | |
2019-08-07 06:40:18 | stdout | usage: seaf-cli [-h] |
2019-08-07 06:40:18 | stdout | Syncing My Library |
2019-08-07 06:40:16 | stdout | Started: seafile daemon ... |
2019-08-07 06:40:16 | stdout | Starting seafile daemon ... |
2019-08-07 06:40:15 | stdout | Started: ccnet daemon ... |
2019-08-07 06:40:15 | stdout | Starting ccnet daemon ... |
2019-08-07 06:40:12 | stdout | seaf-cli: error: unrecognized arguments: Library |
2019-08-07 06:40:12 | stdout | ... |
2019-08-07 06:40:12 | stdout | {init,start,stop,list,list-remote,status,download,download-by-name,sync,desync,create,config} |
2019-08-07 06:40:12 | stdout | |
2019-08-07 06:40:12 | stdout | usage: seaf-cli [-h] |
2019-08-07 06:40:12 | stdout | Syncing My Library |
2019-08-07 06:40:10 | stdout | Started: seafile daemon ... |
2019-08-07 06:40:10 | stdout | Starting seafile daemon ... |
2019-08-07 06:40:09 | stdout | Started: ccnet daemon ... |
2019-08-07 06:40:09 | stdout | Starting ccnet daemon ... |
2019-08-07 06:40:06 | stdout | seaf-cli: error: unrecognized arguments: Library |
2019-08-07 06:40:06 | stdout | ... |
2019-08-07 06:40:06 | stdout | {init,start,stop,list,list-remote,status,download,download-by-name,sync,desync,create,config} |
2019-08-07 06:40:06 | stdout | |
2019-08-07 06:40:06 | stdout | usage: seaf-cli [-h] |
2019-08-07 06:40:06 | stdout | Syncing My Library |
2019-08-07 06:40:05 | stdout | Started: seafile daemon ... |
2019-08-07 06:40:05 | stdout | Starting seafile daemon ... |
2019-08-07 06:40:04 | stdout | Started: ccnet daemon ... |
2019-08-07 06:40:04 | stdout | Starting ccnet daemon ... |
2019-08-07 06:40:01 | stdout | seaf-cli: error: unrecognized arguments: Library |
2019-08-07 06:40:01 | stdout | ... |
2019-08-07 06:40:01 | stdout | {init,start,stop,list,list-remote,status,download,download-by-name,sync,desync,create,config} |
2019-08-07 06:40:01 | stdout | |
2019-08-07 06:40:01 | stdout | usage: seaf-cli [-h] |
2019-08-07 06:40:00 | stdout | Syncing My Library |
2019-08-07 06:39:59 | stdout | Started: seafile daemon ... |
2019-08-07 06:39:59 | stdout | Starting seafile daemon ... |
2019-08-07 06:39:58 | stdout | Started: ccnet daemon ... |
2019-08-07 06:39:58 | stdout | Starting ccnet daemon ... |
2019-08-07 06:39:55 | stdout | seaf-cli: error: unrecognized arguments: Library |
2019-08-07 06:39:55 | stdout | ... |
2019-08-07 06:39:55 | stdout | {init,start,stop,list,list-remote,status,download,download-by-name,sync,desync,create,config} |
2019-08-07 06:39:55 | stdout | |
2019-08-07 06:39:55 | stdout | usage: seaf-cli [-h] |
2019-08-07 06:39:55 | stdout | Syncing My Library |
2019-08-07 06:39:54 | stdout | Started: seafile daemon ... |
2019-08-07 06:39:54 | stdout | Starting seafile daemon ... |
2019-08-07 06:39:53 | stdout | Started: ccnet daemon ... |
2019-08-07 06:39:53 | stdout | Starting ccnet daemon ... |
2019-08-07 06:39:50 | stdout | seaf-cli: error: unrecognized arguments: Library |
2019-08-07 06:39:50 | stdout | ... |
2019-08-07 06:39:50 | stdout | {init,start,stop,list,list-remote,status,download,download-by-name,sync,desync,create,config} |
2019-08-07 06:39:50 | stdout | |
2019-08-07 06:39:50 | stdout | usage: seaf-cli [-h] |
2019-08-07 06:39:49 | stdout | Syncing My Library |
2019-08-07 06:39:47 | stdout | Started: seafile daemon ... |
2019-08-07 06:39:46 | stdout | Starting seafile daemon ... |
2019-08-07 06:39:45 | stdout | Started: ccnet daemon ... |
2019-08-07 06:39:45 | stdout | Starting ccnet daemon ... |
Thanks,
Adam.
I can't get it to detect changes made to files in the mounted volume. If I restart the container, it detects the changes and uploads them, but if changes are made during its execution, it doesn't detect them. I've been testing to see if it was a permissions issue, and it doesn't seem to be. I've created files as root, as seafile user, with more and less permissions. I've tried assigning user 1000 with environment variables and nothing. What could it be?
Set up in docker-compose.yml:
- SEAFILE_UID=0
- SEAFILE_GID=100
on machine sysadmins group have GID 1000, users group have GID 100
what I expect:
drwxrwsr-x+ 2 root users 4096 Feb 26 12:02 test-folder
what I found:
drwxrwsr-x+ 2 root sysadmins 4096 Feb 26 12:02 test-folder
UID changes are reflected correctly, GID no.
Any idea what's going on? Syncing only works from Seafile to NAS, but not from NAS to Seafile. In other words, uploading does not work. I see the following errors in the log.
sync-mgr.c(580): Repo 'Documents' sync state transition from 'synchronized' to 'committing'.
repo-mgr.c(2221): Failed to stat myfile.odt.part: No such file or directory.
cdc.c(239): CDC: failed to open /ds-data/Documents/myfile.odt.
../common/fs-mgr.c(906): Failed to chunk file with CDC.
repo-mgr.c(1277): Failed to index file /ds-data/Documents/myfile.odt.
repo-mgr.c(3946): All events are processed for repo xxx.
sync-mgr.c(573): Repo 'Documents' sync is finished but with error: Error when indexing
sync-mgr.c(580): Repo 'Documents' sync state transition from 'committing' to 'error'.
Syncing (one-way) continues after this, but there is no retry of this failed upload. I've tried with different files, even from within the Docker container. The NAS created files are always displayed on the NAS, but they're never uploaded to Seafile.
Hi,
am trying to run you container on a Synology NAS:
docker run -d --name=seafile-client \
--restart=always \
-v /volume1/docker/seafile-test:/test \
-e DATA_DIR=/test \
-e PASSWORD=*** \
-e [email protected] \
-e SERVER_PORT=443 \
-e SERVER_URL=https://cloud.example.com \
-e LIBRARY_ID=UUID \
gronis/seafile-client
Maybe I miss something obvious (mapping, data_dir) but it always fails with the following error messages:
date,stream,content
2020-11-03 16:43:10,stdout,Starting seafile daemon ...
2020-11-03 16:43:12,stdout,Started: seafile daemon ...
2020-11-03 16:43:13,stdout, args.func(args)
2020-11-03 16:43:13,stdout, main()
2020-11-03 16:43:13,stdout, ret_str = self.call_remote_func_sync(fcall_str)
2020-11-03 16:43:13,stdout, self.pipe_fd.connect(self.socket_path)
2020-11-03 16:43:13,stdout, self.transport.connect()
2020-11-03 16:43:13,stdout, tasks = seafile_rpc.get_clone_tasks()
2020-11-03 16:43:13,stdout," return getattr(self._sock,name)(*args)"
2020-11-03 16:43:13,stdout," File \"/usr/bin/seaf-cli\", line 660, in seaf_status"
2020-11-03 16:43:13,stdout," File \"/usr/bin/seaf-cli\", line 865, in main"
2020-11-03 16:43:13,stdout," File \"/usr/bin/seaf-cli\", line 869, in <module>"
2020-11-03 16:43:13,stdout," File \"/usr/lib/python2.7/dist-packages/pysearpc/client.py\", line 110, in newfunc"
2020-11-03 16:43:13,stdout," File \"/usr/lib/python2.7/dist-packages/pysearpc/named_pipe.py\", line 44, in connect"
2020-11-03 16:43:13,stdout," File \"/usr/lib/python2.7/dist-packages/pysearpc/named_pipe.py\", line 82, in call_remote_func_sync"
2020-11-03 16:43:13,stdout," File \"/usr/lib/python2.7/socket.py\", line 228, in meth"
2020-11-03 16:43:13,stdout,"Retry 1/5 exited 1, retrying in 1 seconds..."
2020-11-03 16:43:13,stdout,socket.error: [Errno 111] Connection refused
2020-11-03 16:43:13,stdout,Traceback (most recent call last):
2020-11-03 16:43:14,stdout,
2020-11-03 16:43:14,stdout,# Name Status
2020-11-03 16:43:14,stdout,# Name Status Progress
2020-11-03 16:43:14,stdout,exiting
2020-11-03 16:43:15,stdout,Syncing test
2020-11-03 16:43:16,stdout,The local directory does not exists
Any idea?
At least for some domains secured by letsencrypt, the image no longer is able to receive a token, due to certificate failure in start.sh in this line:
TOKEN_JSON=$(curl -d "username=$USERNAME" -d "password=$PASSWORD" {SERVER_URL}:${SERVER_PORT}/api2/auth-token/ 2> /dev/null)
An update to a newer debian release should help.
I don't know why, but since some weeks, some older versions of curl other used by curl ssl-libs are no longer able to verify certs and report them as invalid.
running su - seafile -c "seaf-cli list"
while seafile is not yet up and runnign results in an error "socket.error: [Errno 2] No such file or directory"
If doing it manually and waiting a couple of seconds after su - seafile -c "seaf-cli start"
then everything is fine.
Starting seafile daemon ...
Started: seafile daemon ...
Traceback (most recent call last):
File "/usr/bin/seaf-cli", line 869, in <module>
main()
File "/usr/bin/seaf-cli", line 865, in main
args.func(args)
File "/usr/bin/seaf-cli", line 660, in seaf_status
tasks = seafile_rpc.get_clone_tasks()
File "/usr/lib/python2.7/dist-packages/pysearpc/client.py", line 110, in newfunc
ret_str = self.call_remote_func_sync(fcall_str)
File "/usr/lib/python2.7/dist-packages/pysearpc/named_pipe.py", line 82, in call_remote_func_sync
self.transport.connect()
File "/usr/lib/python2.7/dist-packages/pysearpc/named_pipe.py", line 44, in connect
self.pipe_fd.connect(self.socket_path)
File "/usr/lib/python2.7/socket.py", line 228, in meth
return getattr(self._sock,name)(*args)
socket.error: [Errno 2] No such file or directory
Retry 1/5 exited 1, retrying in 1 seconds...
Traceback (most recent call last):
File "/usr/bin/seaf-cli", line 869, in <module>
main()
File "/usr/bin/seaf-cli", line 865, in main
args.func(args)
File "/usr/bin/seaf-cli", line 660, in seaf_status
tasks = seafile_rpc.get_clone_tasks()
File "/usr/lib/python2.7/dist-packages/pysearpc/client.py", line 110, in newfunc
ret_str = self.call_remote_func_sync(fcall_str)
File "/usr/lib/python2.7/dist-packages/pysearpc/named_pipe.py", line 82, in call_remote_func_sync
self.transport.connect()
File "/usr/lib/python2.7/dist-packages/pysearpc/named_pipe.py", line 44, in connect
self.pipe_fd.connect(self.socket_path)
File "/usr/lib/python2.7/socket.py", line 228, in meth
return getattr(self._sock,name)(*args)
socket.error: [Errno 2] No such file or directory
Retry 2/5 exited 1, retrying in 2 seconds...
Traceback (most recent call last):
File "/usr/bin/seaf-cli", line 869, in <module>
main()
File "/usr/bin/seaf-cli", line 865, in main
args.func(args)
File "/usr/bin/seaf-cli", line 660, in seaf_status
tasks = seafile_rpc.get_clone_tasks()
File "/usr/lib/python2.7/dist-packages/pysearpc/client.py", line 110, in newfunc
ret_str = self.call_remote_func_sync(fcall_str)
File "/usr/lib/python2.7/dist-packages/pysearpc/named_pipe.py", line 82, in call_remote_func_sync
self.transport.connect()
File "/usr/lib/python2.7/dist-packages/pysearpc/named_pipe.py", line 44, in connect
self.pipe_fd.connect(self.socket_path)
File "/usr/lib/python2.7/socket.py", line 228, in meth
return getattr(self._sock,name)(*args)
socket.error: [Errno 2] No such file or directory
Retry 3/5 exited 1, retrying in 4 seconds...
Traceback (most recent call last):
File "/usr/bin/seaf-cli", line 869, in <module>
main()
File "/usr/bin/seaf-cli", line 865, in main
args.func(args)
File "/usr/bin/seaf-cli", line 660, in seaf_status
tasks = seafile_rpc.get_clone_tasks()
File "/usr/lib/python2.7/dist-packages/pysearpc/client.py", line 110, in newfunc
ret_str = self.call_remote_func_sync(fcall_str)
File "/usr/lib/python2.7/dist-packages/pysearpc/named_pipe.py", line 82, in call_remote_func_sync
self.transport.connect()
File "/usr/lib/python2.7/dist-packages/pysearpc/named_pipe.py", line 44, in connect
self.pipe_fd.connect(self.socket_path)
File "/usr/lib/python2.7/socket.py", line 228, in meth
return getattr(self._sock,name)(*args)
socket.error: [Errno 2] No such file or directory
Retry 4/5 exited 1, retrying in 8 seconds...
Traceback (most recent call last):
File "/usr/bin/seaf-cli", line 869, in <module>
main()
File "/usr/bin/seaf-cli", line 865, in main
args.func(args)
File "/usr/bin/seaf-cli", line 660, in seaf_status
tasks = seafile_rpc.get_clone_tasks()
File "/usr/lib/python2.7/dist-packages/pysearpc/client.py", line 110, in newfunc
ret_str = self.call_remote_func_sync(fcall_str)
File "/usr/lib/python2.7/dist-packages/pysearpc/named_pipe.py", line 82, in call_remote_func_sync
self.transport.connect()
File "/usr/lib/python2.7/dist-packages/pysearpc/named_pipe.py", line 44, in connect
self.pipe_fd.connect(self.socket_path)
File "/usr/lib/python2.7/socket.py", line 228, in meth
return getattr(self._sock,name)(*args)
socket.error: [Errno 2] No such file or directory
Retry 5/5 exited 1, no more retries left.
Traceback (most recent call last):
File "/usr/bin/seaf-cli", line 869, in <module>
main()
File "/usr/bin/seaf-cli", line 865, in main
args.func(args)
File "/usr/bin/seaf-cli", line 360, in seaf_list
repos = seafile_rpc.get_repo_list(-1, -1)
File "/usr/lib/python2.7/dist-packages/pysearpc/client.py", line 110, in newfunc
ret_str = self.call_remote_func_sync(fcall_str)
File "/usr/lib/python2.7/dist-packages/pysearpc/named_pipe.py", line 82, in call_remote_func_sync
self.transport.connect()
File "/usr/lib/python2.7/dist-packages/pysearpc/named_pipe.py", line 44, in connect
self.pipe_fd.connect(self.socket_path)
File "/usr/lib/python2.7/socket.py", line 228, in meth
return getattr(self._sock,name)(*args)
socket.error: [Errno 2] No such file or directory
Syncing Sync
Traceback (most recent call last):
File "/usr/bin/seaf-cli", line 869, in <module>
Starting to download ...
main()
File "/usr/bin/seaf-cli", line 865, in main
args.func(args)
File "/usr/bin/seaf-cli", line 600, in seaf_sync
email, random_key, enc_version, more_info)
File "/usr/lib/python2.7/dist-packages/pysearpc/client.py", line 110, in newfunc
ret_str = self.call_remote_func_sync(fcall_str)
File "/usr/lib/python2.7/dist-packages/pysearpc/named_pipe.py", line 82, in call_remote_func_sync
self.transport.connect()
File "/usr/lib/python2.7/dist-packages/pysearpc/named_pipe.py", line 44, in connect
self.pipe_fd.connect(self.socket_path)
File "/usr/lib/python2.7/socket.py", line 228, in meth
return getattr(self._sock,name)(*args)
socket.error: [Errno 2] No such file or directory
Running on unraid.
Screenshot of setup:
https://dl.dropboxusercontent.com/s/ys7odqh9h1aytmv/chrome_v8YLbgQhY4.png
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.