2026-04-11 20:58:34 +02:00
# Quick Start
## Docker (recommended)
```bash
2026-04-22 07:50:41 +02:00
git clone https://github.com/DioCrafts/OxiCloud.git
cd OxiCloud
2026-04-11 20:58:34 +02:00
cp example.env .env
docker compose up -d
```
Open **http://localhost:8086** . That's it.
### Docker Compose
```yaml
services :
postgres :
2026-04-22 07:50:41 +02:00
image : postgres:18.2-alpine3.23
2026-04-11 20:58:34 +02:00
environment :
POSTGRES_DB : oxicloud
POSTGRES_USER : postgres
POSTGRES_PASSWORD : postgres
2026-04-22 07:50:41 +02:00
ports :
- "5432:5432"
2026-04-11 20:58:34 +02:00
volumes :
2026-04-22 07:50:41 +02:00
- pg_data:/var/lib/postgresql/
2026-04-11 20:58:34 +02:00
healthcheck :
test : [ "CMD-SHELL" , "pg_isready -U postgres" ]
interval : 5s
timeout : 5s
retries : 5
oxicloud :
2026-04-17 21:52:59 +00:00
image : diocrafts/oxicloud:latest
2026-04-22 07:50:41 +02:00
build :
context : .
dockerfile : Dockerfile
2026-04-11 20:58:34 +02:00
ports :
- "8086:8086"
env_file :
- .env
volumes :
- storage_data:/app/storage
depends_on :
postgres :
condition : service_healthy
volumes :
pg_data :
storage_data :
```
## From Source
Requires **Rust 1.93+** and **PostgreSQL 13+** .
```bash
2026-04-22 07:50:41 +02:00
git clone https://github.com/DioCrafts/OxiCloud.git
cd OxiCloud
cp example.env .env
# Edit .env and set OXICLOUD_DB_CONNECTION_STRING for runtime
export DATABASE_URL = postgres://user:pass@localhost:5432/oxicloud
2026-04-11 20:58:34 +02:00
cargo build --release
cargo run --release
```
2026-04-22 07:50:41 +02:00
`OXICLOUD_DB_CONNECTION_STRING` is the runtime setting read by OxiCloud. `DATABASE_URL` is only needed for SQLx build-time checks.
2026-04-11 20:58:34 +02:00
## Kubernetes (Helm)
2026-05-31 03:53:33 +02:00
* Please note the and external postgresql is required (for instance, create it with cncf postgreqsl operator), More information [HERE ](https://cloudnative-pg.io/ )
* Please pay attention to pvc name change if you are using this charte with an already existing installation, you'll have to migrate the data.
2026-04-11 20:58:34 +02:00
```bash
helm upgrade --install oxicloud charts/oxicloud \
-f charts/oxicloud/values.yaml
```
Verify:
```bash
kubectl get pods -n oxicloud
kubectl logs statefulset/oxicloud -n oxicloud
```
## Client Setup
| Client | Protocol | URL |
|--------|----------|-----|
2026-04-22 07:50:41 +02:00
| Windows Explorer | WebDAV | `https://host/webdav/` |
| macOS Finder | WebDAV | `https://host/webdav/` |
| Nautilus / Dolphin | WebDAV | `davs://host/webdav/` |
| Thunderbird (calendar) | CalDAV | `https://host/caldav/` |
| Thunderbird (contacts) | CardDAV | `https://host/carddav/` |
| DAVx⁵ (Android) | CalDAV + CardDAV | `https://host/` |
| GNOME Calendar | CalDAV | `https://host/caldav/` |
| GNOME Contacts | CardDAV | `https://host/carddav/` |
2026-04-11 20:58:34 +02:00
| Collabora / OnlyOffice | WOPI | See [WOPI configuration ](/config/wopi ) |
## What's Next?
- [Environment Variables → ](/config/env )
- [OIDC / SSO Setup → ](/config/oidc )
- [WebDAV Guide → ](/guide/webdav )
2026-04-22 07:50:41 +02:00
- [DAV Client Setup → ](/guide/dav-client-setup )