-
Notifications
You must be signed in to change notification settings - Fork 185
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Many fixes to allow use inside kubernetes + webdav working #187
base: master
Are you sure you want to change the base?
Conversation
Fixes: - patch applied to one seafdav file to make seafdav *start* - export more environment variables to child processes so that they really are taken into account (like USE_EXISTING_DB, etc) - use MEMCACHED_* environment variables to allow changing the server name from hardcoded value - use 'ENABLE_WEBDAV' environment variable to enable/disable this feature - on container start, ALWAYS update seahub_settings.py and seafdav.conf based on environment variables. This is a requirement to allow it to work inside a kubernetes cluster - nginx configuration for webdav/seafdav changed to NOT use fastcgi mode - small change in nginx configuration in case it is behind a SSL termination proxy Others: - a little bit of refactoring nginx related functions from bootstrap.py - docker Makefile changed to take seafile version from the actual Dockerfile files, especially since standard and Pro versions can be different
@renfeipeng @lins05 we haven't seen any commits or progress for a while now. #194 also targets a subset of this pr (e.g). I think it is a very common use-case to run docker behind a proxy like |
Is this repo still maintained? |
The configuration files like seahub_settings.py and seafdav.conf should not be changed on every start up. They should only be written in the first time when setting up the server. Then they should be updated manually if needed. I don't understand why in kubernetes they need to be updated on every start up. |
@freeplant kubernetes runs docker images (well, not only docker, but that's not related to current story), so it drives them via environment variables. And for those cases where you really need configuration files, you generate them from ConfigMap. You still don't manually edit files to apply some change. It does not mean that you can not, but it would be bad practice. Get this - we're in a world where you try not editing things manually anymore. Code and configuration now stay in a revision control system (git usually) and from there it gets into a live system. Heck - now even whole computer clusters are created directly from config/code stored in git ("infrastructure as a code") - no more manually going to run a new instance and a new database server and configuring things. Hope that helps. |
That's how it's done in docker. See every major docker image. |
OTHERS: - updated README.md to contain information of the environment variables that can be used - added a docker-compose/ directory with example to run - updated README.md to refer to the current docker-compose/ example - fix situation where an nginx reload could happen before nginx was started
I updated this PR with:
Until this gets merged, whoever needs the docker image:
|
There is no progress here, sadly the response / community support does not seem to be a high priority here :-( |
Fixes:
really are taken into account (like USE_EXISTING_DB, etc)
from hardcoded value
based on environment variables. This is a requirement to allow it
to work inside a kubernetes cluster
proxy
Others:
Dockerfile files, especially since standard and Pro versions can be
different