This dockerfile provides a ready-to-go InfCloud server. It was inspired and requested in ckulka/baikal-docker#13.
For more details, see ckulka/infcloud-docker (GitHub).
I follow the same version naming scheme as InfCloud themselves.
The following tags are support multiple architectures, e.g. amd64
, arm32v7
and arm64v8
.
- Where to file issues: https://github.com/ckulka/infcloud-docker/issues
- Supported architectures (more info):
amd64
,arm32v7
,arm64v8
- Image updates: PRs for ckulka/infcloud-docker
- Source of this description: https://github.com/ckulka/infcloud-docker
From inf-it.com/open-source/clients/infcloud:
InfCloud is an open source CalDAV/CardDAV web client implementation released under GNU Affero General Public License (version 3.0).
InfCloud is the integrated version of CalDavZAP and CardDavMATE, and includes all features of both clients:
(...)
NEW: demo available at https://www.inf-it.com/infcloud/ (see the browser requirements below)
(...)
Tested with the following CalDAV servers: DAViCal, OS X server, Cyrus IMAP CalDAV (beta), SabreDAV, Baïkal, Radicale (>=0.8), openCRX and Oracle Communications Calendar Server
This image serves the static content with nginx and renders the PHP files with PHP-FPM.
This repository contains a Docker Compose example in examples/docker-compose.yaml to give an easy example:
# The examples/config.js file used by this example is the default one that ships with InfCloud
docker-compose up
If you only need the static files without PHP, you can also just run the Nginx container:
docker run --rm -it -v config.js:/usr/share/nginx/html/config.js:ro -p 80:80 ckulka/infcloud
Then you can hit http://localhost or http://host-ip in your browser and use InfCloud.
The last step is to configure InfCloud; for setup instructions see the official readme.txt and comments in InfCloud's config.js.
The examples folder contains an example Docker Compose file to demonstrate the setup with Baikal, where Baikal and InfCloud use different domain names, e.g. baikal.example.com
and infcloud.example.com
.
# Start Baikal and InfCloud
docker-compose -f examples/docker-compose.baikal.yaml up
Baikal is now listening on http://baikal.localhost/ and waiting for you to set it up.
As a prerequisite for InfCloud can communicate with Baikal, go to http://baikal.localhost/admin/?/settings/standard/ and change the WebDAV authentication type to Basic
.
Once all that is done, go to http://infcloud.localhost/ and log in with one of the user credentials you set up.
The only adjustment in this example to the examples/config-baikal.js file were modifications to the globalNetworkCheckSettings.href
settings.
The main reason to not package PHP and Nginx (or Apache httpd) in the same container is maintainablility.
By leveraging the official PHP image instead of installing PHP into the Nginx container, users can benefit from timely updates being made to the official PHP image and do not have to wait for this image to be updated.
This image is also built automatically by Docker Hub whenever a new version of Nginx is published.