Web Distributed Authoring and Versioning (WebDAV) — это расширение протокола HTTP, которое позволяет совместно редактировать файлы и управлять ими на удалённых серверах.

Он работает как система облачного хранения, позволяя пользователям загружать, скачивать, создавать и удалять файлы напрямую через HTTP. Популярность WebDAV обусловлена его способностью обеспечивать бесперебойную совместную работу на разных устройствах. Многие приложения используют его для синхронизации файлов с удалёнными серверами.
WebDAV позволяет:
- Совместное редактирование документов
- Удаленное хранение файлов и управление
- Синхронизация файлов между устройствами (аналогично облачным сервисам)
- Управление контентом веб-сайта и публикация
Сервер WebDAV упрощает эти операции, предоставляя удалённый файловый сервер, который позволяет пользователям безопасно получать доступ к своим файлам и управлять ими через Интернет.
Что такое hacdias / webdav?
Проект hacdias/webdav — это лёгкий и настраиваемый сервер WebDAV с открытым исходным кодом, написанный на языке Go. Он позволяет пользователям без труда настроить собственный сервер WebDAV, обеспечивая полный контроль над файлами и инфраструктурой сервера.
В отличие от традиционных решений для облачного хранения данных, этот подход обеспечивает повышенную конфиденциальность и возможности настройки.
Простота проекта, функции безопасности и удобная настройка делают его отличным выбором для разработчиков и системных администраторов, которым нужно быстрое, надёжное и гибкое решение WebDAV для различных приложений и сценариев использования.
Ключевые особенности hacdias/webdav:
- Простая настройка: процесс настройки оптимизирован и не требует особых усилий.
- Безопасность: благодаря поддержке HTTPS и базовой аутентификации hacdias/webdav обеспечивает безопасную передачу файлов и доступ к ним. Для зашифрованной связи можно настроить сертификаты SSL/TLS.
- Кроссплатформенность: поскольку hacdias/webdav написан на Go, его можно скомпилировать и запустить на различных платформах, включая Linux, macOS и Windows.
- Широкие возможности настройки: сервер предлагает широкий спектр параметров конфигурации, позволяя пользователям адаптировать его настройки под свои конкретные требования.
- Безопасность: в сервер встроены надёжные функции безопасности, включая поддержку шифрования HTTPS и базовые механизмы аутентификации.
- Лёгкость в использовании: сервер, разработанный на языке программирования Go, отличается исключительной эффективностью с точки зрения использования ресурсов. Благодаря своей лёгкости он потребляет минимум ресурсов процессора и памяти, что делает его идеальным выбором для развёртывания на различных аппаратных конфигурациях, от маломощных устройств до высокопроизводительных серверов.
- Автономный: Пользователи могут развертывать сервер в своей собственной инфраструктуре и управлять им, что дает им полный контроль над хранением данных и управлением ими. Таким образом, устраняется зависимость от сторонних облачных сервисов, повышается конфиденциальность и расширяются возможности настройки.
Запуск hacdias/webdav в Docker
Образы Docker доступны как в реестре GitHub, так и в Docker Hub. Вы можете получить образы с помощью одной из следующих двух команд. Обратите внимание, что эти команды извлекают последнюю выпущенную версию. Вы можете использовать специальные теги для привязки к конкретным версиям или использовать main
для ветки разработки.
# Реестр GitHub docker pull ghcr.io/hacdias/webdav:latest # Реестр Docker docker pull hacdias/webdav:latest
Чтобы запустить hacdias/webdav с Docker, вам нужно подготовить файл конфигурации и подключить каталоги с данными.
Создадим файл конфигурации config.yml
в рабочей директории пользователя.
Вот пример файла конфигурации, в котором порт установлен на 6060
и каталог — на /data
:
port: 6060
directory: /data
Теперь вы можете запустить контейнер Docker с помощью следующей команды. Это позволит подключить файл конфигурации и каталог данных внутри контейнера и перенаправить порт 6060. Не забудьте изменить команду в соответствии с вашей конкретной конфигурацией:
docker run \
-p 6060:6060 \
-v $(pwd)/config.yml:/config.yml:ro \
-v $(pwd)/data:/data \
ghcr.io/hacdias/webdav -c /config.yml
Ссылки: