-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Update the dockerfile to be Debian based, not Alpine based #6373
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
seems like a good idea
|
||
# xmlsec is required for saml support | ||
RUN apk add --no-cache --virtual .runtime_deps \ | ||
libffi \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we need a bunch of this stuff for features that people expect to work in the docker image.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
so because we use the available wheels, we don't, because cffi and etc ship what's required.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we still need xmlsec (or, as debian calls it, xmlsec1
) at least. pysaml relies on the /usr/bin/xmlsec1
binary.
I added some
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
when I run this I get:
$ docker run --rm -it -e SYNAPSE_SERVER_NAME=test -e SYNAPSE_REPORT_STATS=no matrixdotorg/synapse generate
Container running as UserID 0:0, ENV (or defaults) requests 991:991
Creating log config /data/test.log.config
Traceback (most recent call last):
File "/start.py", line 259, in <module>
main(sys.argv, os.environ)
File "/start.py", line 201, in main
return run_generate_config(environ, ownership)
File "/start.py", line 176, in run_generate_config
os.execv("/sbin/su-exec", args)
FileNotFoundError: [Errno 2] No such file or directory
I'm basically a bit concerned this hasn't been tested.
|
||
# xmlsec is required for saml support | ||
RUN apk add --no-cache --virtual .runtime_deps \ | ||
libffi \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we still need xmlsec (or, as debian calls it, xmlsec1
) at least. pysaml relies on the /usr/bin/xmlsec1
binary.
for future reference: this is probably a thing we should do if only to bring the docker image into line with other distros wrt which ssl library we use (see https://cryptography.io/en/latest/installation/) |
Having said that: can't we just build against |
related: #7000 |
I'm going to close this since it hasn't been updated in ~6 months. If this is necessary in the future we can re-open this PR. |
As mentioned in #7397, switching to a debian base should help with multi-arch work to save time on compiling. This is unashamedly based on #6373, but without the extra functionality. Switch python version back to generic 3.7 to always pull the latest. Essentially, keeping this as small as possible. The image is bigger though unfortunately.
This means we don't use libressl instead of openssl, and we get to use a lot of the manylinux1 wheels vs building them with headers ourselves.