my goal is local deployment.I do not need publish the service to internet,that could waste money for server,storage or bandwidth.
and if careless it could has security issues.if I want access the service I can rely on wireguard.
so I just need to deploy it on my homeserver.and my homeserver has some other services.I don't want give 80 port to seafile.the offical document tell nothing about the port.
I tried to change caddy.yml port binding.
ports:
- 8001:80that only partial works.I can visit page and login.but file operation failed.by the way if I want visit the page I had to config .env to exact IP address like this
SEAFILE_SERVER_HOSTNAME=192.168.1.100try to change the SEAFILE_SERVER_HOSTNAME to append port after it not work.
try to change SERVICE_URL and FILE_SERVER_ROOT in the seafile-data/seafile/conf/seahub_settings.py still not work.
AI and search has no work answer.finally I figure it out.
I need to change seafile-server.yml this lines.
environment:
- SEAFILE_SERVER_HOSTNAME=${SEAFILE_SERVER_HOSTNAME:?Variable is not set or empty}:8001
- SEADOC_SERVER_URL=${SEAFILE_SERVER_PROTOCOL:-http}://${SEAFILE_SERVER_HOSTNAME:?Variable is not set or empty}:8001/sdoc-serverif I follow offical docs. I had to read the mounted folder using root. but the true answer is
cd /opt/seafile/seafile-server-latest/
./seaf-fuse.sh start -o allow_other /seafile-fuseI made this as a bash file for easy run after restart. and this is ridiculous which I had to manually run this.the project should provide an easy way for this.
there is no resolve for this.I just want to say why I had to give root permission even for the first run.that very unsafe.
I had to delete database,data folder manually to make it re-run from a failed deploy.