Skip to content
This repository has been archived by the owner on Feb 13, 2020. It is now read-only.

Docker for production #513

Open
wants to merge 21 commits into
base: release/CalendarServer-9.3-dev
Choose a base branch
from

Conversation

borgoat
Copy link

@borgoat borgoat commented Jun 10, 2018

Hi

Related to #489
Some key differences:

  • uses requirements-default.txt as bootstrap, should be usable in production
  • Postgres and Memcached are linked as external services (as is customary when running container stacks)
  • either LDAP or XML or other custom configuration may be easily added via volumes (or extending the image)

With the kind help of @mschoengens we prepared a sample docker-compose which may be found in contrib/docker.

As for the Dockerfile, I placed in root directory because this makes for the best scenario for using Docker during development (ie using Docker as the main build tool to make sure the image is always functioning).
Whether to keep it there, I guess it all depends on how you like to work at Apple. If you do keep that file in root, what could be easily done is an integration with Docker Hub to have automated builds for the whole codebase.

An alternative could be to create a Docker build that retrieves the latest content from this GitHub repo instead, making it more "stable" and less developer-oriented.
Happy to discuss this if needed.

As a side note, I'm now working on an Helm chart to provide a setup similar to that of the docker-compose, but with LDAP, and HA for all services.

Cheers
Giorgio

@borgoat borgoat changed the title Release/calendar server 9.3 dev Docker for production Jun 10, 2018
@@ -0,0 +1,58 @@

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this file actually a duplicate by accident?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not a duplicate: it maps the contrib/docker/samples/xml/conf to the /etc/caldavd/ VOLUME, to show how using XML to define resources is done. (And also how to override CCS configuration in general).
See line 20

@dreness
Copy link
Member

dreness commented Jun 19, 2018

Hi - just wanted to say that I haven't gotten around to trying this yet, but I definitely appreciate the contribution and will try to carve out some time for this soon!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants