Quick Start
Get Ferro running in under 30 seconds with Docker.
Docker Quickstart
docker compose up -d
The server is available at http://localhost:8080. The Docker image includes the bundled Leptos web UI and a Caddy reverse proxy with automatic HTTPS.
Basic Operations
Upload a file
curl -X PUT http://localhost:8080/hello.txt \
-H "Content-Type: text/plain" \
-d "Hello, Ferro!"
Download a file
curl http://localhost:8080/hello.txt
List files
curl -X PROPFIND http://localhost:8080/ \
-H "Depth: 1" \
-H "Content-Type: application/xml" \
-d '<?xml version="1.0" encoding="utf-8"?>
<D:propfind xmlns:D="DAV:">
<D:prop>
<D:resourcetype/>
<D:getcontentlength/>
<D:getlastmodified/>
</D:prop>
</D:propfind>'
Create a folder
curl -X MKCOL http://localhost:8080/documents/
Delete a file
curl -X DELETE http://localhost:8080/hello.txt
Move a file
curl -X MOVE http://localhost:8080/hello.txt \
-H "Destination: /documents/hello.txt"
Copy a file
curl -X COPY http://localhost:8080/hello.txt \
-H "Destination: /documents/hello-backup.txt"
Connecting with a WebDAV Client
rclone
rclone config
# Choose: WebDAV, vendor: Other, URL: http://localhost:8080
rclone ls ferro:
rclone copy local-file.txt ferro:documents/
macOS Finder
- Open Finder
- Go > Connect to Server (Cmd+K)
- Enter
http://localhost:8080/ - Click Connect
Windows Explorer
- Open File Explorer
- Right-click "This PC" > Map network drive
- Enter
http://localhost:8080/
Linux (GNOME)
- Open Files (Nautilus)
- Other Locations > Connect to Server
- Enter
dav://localhost:8080/
Health Check
Verify the server is running:
curl http://localhost:8080/.well-known/ferro
Next Steps
- Configuration -- Customize your server
- Architecture -- Understand how it works
- Deployment -- Production deployment options