Skip to content

A streamlined Docker solution for setting up a WebDAV server with Nginx, featuring automatic SSL management via Certbot and an integrated web-based file browser for seamless file management.

Notifications You must be signed in to change notification settings

GareArc/AutoDav

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AutoDav

Overview

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.

Features

  • 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.

Getting Started

Follow these steps to set up and start your WebDAV service:

  1. Clone the Repository

    git clone https://github.com/GareArc/AutoDav.git
    cd AutoDav
  2. 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
  3. (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 set NGINX_HTTPS_ENABLED to true.

    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.

  4. 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.

Accessing the File Browser

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.

Default Login Credentials

  • Username: admin
  • Password: admin

It is recommended to change these credentials immediately after your first login. You can update them in the settings page. filebrowser_settings_1 filebrowser_settings_2

Notes

  • 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 group 82:82.

Related Projects and Credits

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!

About

A streamlined Docker solution for setting up a WebDAV server with Nginx, featuring automatic SSL management via Certbot and an integrated web-based file browser for seamless file management.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages