PHPackages                             marktaborosi/flysystem-nextcloud - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [File &amp; Storage](/categories/file-storage)
4. /
5. marktaborosi/flysystem-nextcloud

ActiveLibrary[File &amp; Storage](/categories/file-storage)

marktaborosi/flysystem-nextcloud
================================

A Flysystem v3 adapter for Nextcloud WebDav integration

1.0.0(1y ago)19MITPHPCI passing

Since Apr 28Pushed 1y ago1 watchersCompare

[ Source](https://github.com/marktaborosi/flysystem-nextcloud)[ Packagist](https://packagist.org/packages/marktaborosi/flysystem-nextcloud)[ RSS](/packages/marktaborosi-flysystem-nextcloud/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)Dependencies (6)Versions (2)Used By (0)

Flysystem Nextcloud Adapter
===========================

[](#flysystem-nextcloud-adapter)

[![Author](https://camo.githubusercontent.com/bc394b2935ae7d40994923fa66d51a4027da43bc8e4c8addc07509b7cd412c8c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f617574686f722d406d61726b7461626f726f73692d626c75652e737667)](https://www.linkedin.com/in/mark-taborosi/)[![Latest Version](https://camo.githubusercontent.com/34e90fe9be90b17805618b2a671dbce1c6ad8d8955a3d3ae063a13e72d40edd5/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f72656c656173652f6d61726b7461626f726f73692f666c7973797374656d2d6e657874636c6f75642e7376673f7374796c653d666c61742d737175617265)](https://github.com/marktaborosi/flysystem-nextcloud/releases)[![Software License](https://camo.githubusercontent.com/55c0218c8f8009f06ad4ddae837ddd05301481fcf0dff8e0ed9dadda8780713e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d627269676874677265656e2e7376673f7374796c653d666c61742d737175617265)](LICENSE)[![Downloads](https://camo.githubusercontent.com/8b8f7c18ade7d9eff186d5ac5ebb7cb82057bc6d46235114575abe5d668cee3f/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6d61726b7461626f726f73692f666c7973797374656d2d6e657874636c6f75642e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/marktaborosi/flysystem-nextcloud)[![PHP 8.2+](https://camo.githubusercontent.com/4aaf143946cd22ad161f9842f7f07c21c0e5f4e531741f629cda07bd58a6cea6/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d382e322b2d7265642e7376673f7374796c653d666c61742d737175617265)](https://camo.githubusercontent.com/4aaf143946cd22ad161f9842f7f07c21c0e5f4e531741f629cda07bd58a6cea6/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d382e322b2d7265642e7376673f7374796c653d666c61742d737175617265)[![CI](https://github.com/marktaborosi/flysystem-nextcloud/actions/workflows/ci.yml/badge.svg)](https://github.com/marktaborosi/flysystem-nextcloud/actions)

---

Flysystem adapter for [Nextcloud WebDAV](https://docs.nextcloud.com/server/latest/developer_manual/api/WebDAV/index.html) integration.

Compatible with **PHP 8.2+** and **Flysystem v3.29+**.

Features
--------

[](#features)

- 📂 Nextcloud storage adapter for [League\\Flysystem](https://github.com/thephpleague/flysystem)
- 🏗️ Fully tested with Flysystem adapter utilities + additional tests

Requirements
------------

[](#requirements)

- PHP 8.2 or higher
- Flysystem v3.29+
- Nextcloud instance (with WebDAV access)
- Docker (for local testing)

Installation
------------

[](#installation)

```
composer require marktaborosi/flysystem-nextcloud
```

Usage
-----

[](#usage)

```
use League\Flysystem\Filesystem;
use Marktaborosi\FlysystemNextcloud\NextCloudAdapter;

$adapter = new NextCloudAdapter([
    'baseUri' => 'http://localhost:8080/remote.php/dav/files/admin/',
    'userName' => 'admin',
    'password' => 'admin',
]);

$filesystem = new Filesystem($adapter);

$filesystem->write('example.txt', 'Hello Nextcloud!');
```

Testing
-------

[](#testing)

This adapter includes a full test suite using [league/flysystem-adapter-test-utilities](https://github.com/thephpleague/flysystem-adapter-test-utilities).

### Running tests locally

[](#running-tests-locally)

1. Start the Docker containers:

```
docker-compose up -d
```

2. Run PHPUnit:

```
vendor/bin/phpunit
```

> **Important:** Ensure the Nextcloud container is running and fully initialized before executing the tests.

Docker Setup
------------

[](#docker-setup)

Provided `docker-compose.yml` includes:

- **MariaDB** database
- **Nextcloud** app

Configuration expects:

- Admin user: `admin`
- Admin password: `admin`
- DB credentials: see `docker-compose.yml` or `.env`.

> **Note:** You can override port mappings easily via the `.env` file.
> Example `.env` variables:
>
> ```
> NEXTCLOUD_HTTP_PORT=8080
> NEXTCLOUD_DB_PORT=3306
>
> MYSQL_ROOT_PASSWORD=root_password
> MYSQL_DATABASE=nextcloud
> MYSQL_USER=nextcloud
> MYSQL_PASSWORD=nextcloud_password
>
> NEXTCLOUD_ADMIN_USER=admin
> NEXTCLOUD_ADMIN_PASSWORD=admin
> ```

### Accessing the Nextcloud Web Interface

[](#accessing-the-nextcloud-web-interface)

Once the Docker containers are up, you can access the Nextcloud web interface locally:

```
http://localhost:[NEXTCLOUD_HTTP_PORT]

```

Default credentials:

- **Username:** `${NEXTCLOUD_ADMIN_USER}` (default: `admin`)
- **Password:** `${NEXTCLOUD_ADMIN_PASSWORD}` (default: `admin`)

You can login and interact directly with your running Nextcloud instance.

Suggested Packages
------------------

[](#suggested-packages)

- `sabre/dav`: Required for WebDAV communication
- `larapack/dd`: Optional, for debugging purposes

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE) for more information.

Acknowledgements
----------------

[](#acknowledgements)

Big thanks to:

- [The PHP League](https://thephpleague.com/) for creating and maintaining [Flysystem](https://flysystem.thephpleague.com/v3/docs/).
- [Nextcloud](https://nextcloud.com/) for providing an excellent WebDAV API.

This adapter would not be possible without these open-source projects. 🙏

---

> Made with ❤️ by [Mark Taborosi](https://github.com/marktaborosi)

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance48

Moderate activity, may be stable

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity37

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

385d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/a9198d441036aea902354f6d4f00fb75f7e1e0f9fa696fd282468cfbe4f13c08?d=identicon)[marktaborosi](/maintainers/marktaborosi)

---

Top Contributors

[![marktaborosi](https://avatars.githubusercontent.com/u/33125644?v=4)](https://github.com/marktaborosi "marktaborosi (6 commits)")

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/marktaborosi-flysystem-nextcloud/health.svg)

```
[![Health](https://phpackages.com/badges/marktaborosi-flysystem-nextcloud/health.svg)](https://phpackages.com/packages/marktaborosi-flysystem-nextcloud)
```

###  Alternatives

[league/flysystem-aws-s3-v3

AWS S3 filesystem adapter for Flysystem.

1.6k263.6M790](/packages/league-flysystem-aws-s3-v3)[unisharp/laravel-filemanager

A file upload/editor intended for use with Laravel 5 to 10 and CKEditor / TinyMCE

2.2k3.3M74](/packages/unisharp-laravel-filemanager)[league/flysystem-bundle

Symfony bundle integrating Flysystem into Symfony applications

40029.5M87](/packages/league-flysystem-bundle)[league/flysystem-sftp-v3

SFTP filesystem adapter for Flysystem.

6129.6M91](/packages/league-flysystem-sftp-v3)[league/flysystem-memory

In-memory filesystem adapter for Flysystem.

8533.6M194](/packages/league-flysystem-memory)[league/flysystem-webdav

WebDAV filesystem adapter for Flysystem.

762.3M56](/packages/league-flysystem-webdav)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
