A simple WebDAV server with a basic web UI, authentication, and permissions.
DAVOxide provides a simple and lightweight interface to a folder on your server through WebDAV and a simple web UI. Most operations are intended to be performed over WebDAV such as modifying files or directories. The web UI exists strictly for permission management and read-only filesystem access. Permissions can be defined for individual files or entire directories. Simply specify the path and the desired action, and it will instantly be applied.
Primary authentication is delegated to a SSO proxy such as Authelia. WebDAV clients can authenticate using HTTP basic authentication with a username and access token.
Docker:
docker run -d --name davoxide \
-e BASE_PATH=/files \
-e DATABASE_URL=postgres://postgres:[email protected]:5432/postgres \
-v $PWD:/files \
ghcr.io/akrantz01/davoxide:latest
A few motivating and useful examples of how your product can be used. Spice this up with code blocks and potentially more screenshots.
To run DAVOxide, you will need a Postgres database instance. To get started quickly, you can launch one using Docker.
All configuration is done through environment variables. There are only 4 options to configure:
RUST_LOG
- The logging configuration (see env_logger for options)ADDRESS
- The listen addressBASE_PATH
- The path files should be served fromDATABASE_URL
The database URL to connect to
All options are optional except for DATABASE_URL
.
Alexander Krantz – [email protected]
Distributed under the MIT license. See LICENSE
for more information.
https://github.com/akrantz01
Some future improvements that will be added eventually:
- Allow sharing single files
- Multiple access tokens per user
- User groups
- Fork it (https://github.com/akrantz01/davoxide/fork)
- Create your feature branch (
git checkout -b feature/fooBar
) - Commit your changes (
git commit -am 'Add some fooBar'
) - Push to the branch (
git push origin feature/fooBar
) - Create a new Pull Request
- Install Rust, NodeJS, and Docker
- Start the development containers:
docker compose up -d
- Start the development servers:
- API:
cargo run
- UI:
cd frontend && yarn dev
- API: