AutoDav
helps you quickly set up a WebDAV service in Docker with automatic SSL support via Certbot. Additionally, it includes a web-based file browser UI (powered by Filebrowser) for easy management of your WebDAV data.
- WebDAV Service: Securely store and access your files using WebDAV protocol.
- Automatic SSL: Automate SSL certificate management with Certbot.
- File Browser UI: Manage your files effortlessly via a user-friendly web interface.
- Customizable: Configure all settings using a .env file.
Follow these steps to set up and start your WebDAV service:
-
Clone the Repository
git clone https://github.com/GareArc/AutoDav.git cd AutoDav
-
Configure Environment Variables
Copy the example .env file and customize it to fit your needs:
cp .env.example .env
Edit the .env file to configure WebDAV, Nginx, and Certbot settings:
Variable Description Default/Example WEBDAV_AUTH_TYPE
Authentication type. Digest
WEBDAV_USERNAME
Username for WebDAV authentication. yourusername
WEBDAV_PASSWORD
Password for WebDAV authentication. yourpassword
NGINX_SSL_CERT_KEY_FILENAME
Filename of the SSL certificate private key. privkey.pem
NGINX_SSL_CERT_FILENAME
Filename of the SSL certificate. fullchain.pem
NGINX_KEEPALIVE_TIMEOUT
Timeout setting for Nginx keepalive connections. (0 for ) 0
NGINX_WEDAV_TIMEOUT
Timeout for communication between Nginx and client. 86400s
NGINX_HTTPS_ENABLED
Enable HTTPS for Nginx. false
NGINX_ENABLE_CERTBOT_CHALLENGE
Enable Certbot challenge for SSL certificate issuance. false
EXPOSE_NGINX_SSL_PORT
Port to expose Nginx HTTPS (SSL) service. 443
EXPOSE_NGINX_PORT
Port to expose Nginx HTTP service. 80
CERTBOT_OPTIONS
Additional options for Certbot. (Optional, leave blank) CERTBOT_EMAIL
Email address for Certbot notifications and registration. (Optional) [email protected]
CERTBOT_DOMAIN
Domain for which to issue the SSL certificate using Certbot. your-domain.com
-
(Optional) Enable TLS/SSL
To enable HTTPS with TLS/SSL, configure Certbot by following the Certbot Configuration Guide. Ensure that you update the
.env
file with your certificate details and setNGINX_HTTPS_ENABLED
totrue
.You can also use existing certificate files directly by specifying their paths in the
.env
file. Refer to the environment variable settings in the table above for more details. -
Start the WebDAV Service
Launch the service using Docker Compose:
docker compose up -d
The service will start with the configurations defined in your
.env
file.
Once the service is running, you can access the file browser at:
# http
http://{YOUR_SERVER_URL}/fb
# with TLS/SSL
https://{YOUR_SERVER_URL}/fb
For example: http://localhost/fb
.
- Username:
admin
- Password:
admin
It is recommended to change these credentials immediately after your first login. You can update them in the settings page.
- WebDAV Authentication: The WebDAV username and password are configured in the .env file and are different from the Filebrowser credentials.
- Certbot Setup: Ensure you set up Certbot correctly if you plan to use HTTPS.
- Permission Issue: If you encounter any permission issues, please ensure that all folders and files within
./volumes/webdav/data
are correctly owned by the user and group82:82
.
This project builds upon and integrates several excellent tools and projects. Special thanks to the developers and maintainers of the following:
- bytemark/webdav: A Docker solution for WebDAV.
- Filebrowser: A fantastic open-source file browser for managing files via a web UI.
- Certbot: A tool that automates the process of setting up and managing TLS/SSL certificates.
- Nginx: A powerful and flexible web server and reverse proxy.
- Docker Compose: Simplifies multi-container Docker applications.
These projects made AutoDav
possible. Explore and support these tools to enhance your development experience!