---
title: "Deploy Davis Calendars and Contacts"
description: "CalDAV and CardDAV with a protected administration dashboard."
category: "Other"
url: https://railway.com/deploy/davis-calendars-and-contacts
---

# Deploy Davis Calendars and Contacts

CalDAV and CardDAV with a protected administration dashboard.

**[Deploy Davis Calendars and Contacts on Railway](https://railway.com/template/davis-calendars-and-contacts)**

Machine-readable deploy manifest (JSON, validated by TemplateCI): https://railway.com/deploy/davis-calendars-and-contacts/manifest.json

- **Creator:** orenaksakal
- **Category:** Other

## Template content

### mariadb

- **Image:** mariadb:10.11@sha256:7f22313fc130a377a44999965bcb0a08dd5b21e8502824c1b864f792f9bc66ab

### davis

- **Image:** ghcr.io/tchapi/davis-standalone:5.4.4@sha256:18c38a54b86d15fc6f7f51c7cc68ab45c958da3175f68bc5e4ebe69b1da4ce8b
- **Start command:** `sh -ec 'until php bin/console doctrine:query:sql "SELECT 1" >/dev/null 2>&1; do sleep 2; done
php bin/console doctrine:migrations:migrate --no-interaction
exec /usr/bin/supervisord -c /etc/supervisord.conf'`
- **Public domain:** Yes

## Documentation

# Deploy and Host Davis Calendars and Contacts on Railway

CalDAV and CardDAV with a protected administration dashboard.

**Draft status:** Configuration and upstream documentation reviewed. Container startup, Railway application workflows, restart behavior, backup restoration and costs remain unverified.

## About Hosting

CalDAV and CardDAV with a protected administration dashboard.

| Service | Role | Persistent path |
| --- | --- | --- |
| `mariadb` | Private application or dependency | `/var/lib/mysql` |
| `davis` | Public application | `None` |

## Why Deploy

Run this application in your own Railway project, with explicit configuration and storage under your control.

## Common Use Cases

- Synchronize calendars through CalDAV.
- Maintain contacts using standard CardDAV clients.

## Dependencies for Davis Calendars and Contacts

### Deployment Dependencies

The application images are pinned by registry digest. Database services, when included, stay on the private network. One replica is supported for each volume-backed service.

## First use

Open the application HTTPS domain and follow the native authentication steps below.

Open the public application and log in as admin with davis.ADMIN_PASSWORD.
Create regular DAV users in the dashboard; use those credentials for calendar/contact clients.

## Scope and limitations

- Unpublished draft; container startup, application workflows and recovery are not runtime-verified.
- Uses native admin and DAV credentials instead of the owner gateway so standard DAV clients work.
- WebDAV file storage and public calendars are disabled. Create ordinary calendar/contact users in the admin interface.

## Acceptance checks before use

- Verify the admin dashboard and DAV endpoint reject unauthenticated access.
- Verify incorrect credentials are rejected, create a user, and sync a test event and contact with a DAV client.
- Back up all persistent storage; restart and restore a copy before production use.
- Confirm generated credentials are distinct on a second fresh deployment.
- Back up every listed persistent path and database, then restore into a separate test project.
- Measure Railway usage with representative data and workload before estimating operating costs.

## Backups and upgrades

Back up databases, file volumes, encryption keys and configuration together. Keep a copy outside the running project. Review upstream migration notes before changing a digest; rollback can require restoring a compatible database and files, not just selecting an older image.

## Sources and selection evidence

- [Upstream deployment documentation](https://github.com/tchapi/davis): Admin credentials, auth flags, database settings and migrations.
- [Upstream deployment documentation](https://github.com/tchapi/davis/blob/v5.4.4/docker/docker-compose-standalone.yml): Standalone image HTTP9000.
- [Upstream deployment documentation](https://github.com/tchapi/davis/blob/v5.4.4/docker/Dockerfile-standalone): Supervisor startup and Caddy/PHP deployment.
- [Upstream project](https://github.com/tchapi/davis)

Product and alias searches found no matching public Railway listing during this research. This is a bounded search result; private, unindexed or differently named listings may exist. It is not evidence of demand or revenue.

Upstream software retains its own license and edition restrictions. This deployment draft does not imply upstream endorsement.


## Similar templates

- [Rocky Linux](https://railway.com/deploy/rocky-linux) — Hosted Rocky Linux 9 workspace with SSH and persistent storage. 🚀
- [Foundry Virtual Tabletop](https://railway.com/deploy/X5tR6G) — A Self-Hosted & Modern Roleplaying Platform
- [Letta Code Remote](https://railway.com/deploy/letta-code-remote) — Run a Letta Code agent 24/7. No inbound ports, just deploy.

Open this page in a browser: https://railway.com/deploy/davis-calendars-and-contacts
