Documentation | Nextcloud Developer Portal
Nextcloud's development environment using Docker Compose providing a large variety of services for Nextcloud server and app development and testing.
⚠ DO NOT USE THIS IN PRODUCTION Various settings in this setup are considered insecure and default passwords and secrets are used all over the place
- ☁ Nextcloud containers for running multiple versions
- 🐘 Multiple PHP versions
- 🔒 Nginx proxy with optional SSL termination
- 🛢️ MySQL/PostgreSQL/MariaDB/SQLite/MaxScale, Redis cache
- 💾 Local or S3 primary storage
- 👥 LDAP with example user data, Keycloak
- ✉ Mailhog for testing mail sending
- 🚀 Blackfire, Xdebug for profiling and debugging
- 📄 Lots of integrating service containers: Collabora Online, Onlyoffice, Elasticsearch, ...
You can find a step-by-step tutorial on how to use this setup in the Nextcloud Developer Portal. It will guide you through the setup and show you how to use it for app development: https://cloud.nextcloud.com/s/iyNGp8ryWxc7Efa?path=%2F1%20Setting%20up%20a%20development%20environment
In detail explanation of the setup and its features and configuration options can be found in the nextcloud-docker-dev documentation.
Tip
This is the recommended way to run the setup for development. You will have a local clone of all required source code.
To start the setup run the following commands to clone the repository and bootstrap the setup. This will prepare your setup and clone the Nextcloud server repository and required apps into the workspace
folder.
git clone https://github.com/juliushaertl/nextcloud-docker-dev
cd nextcloud-docker-dev
./bootstrap.sh
Depending on your docker version you will need to use docker-compose
instead of docker compose
in the following commands.
This may take some time depending on your internet connection speed.
Once done you can start the Nextcloud container using:
docker compose up nextcloud
You can also start it in the background using docker compose up -d nextcloud
.
You can then access your Nextcloud instance at http://nextcloud.local. The default username is admin
and the password is admin
. Other users can be found in the documentation.
[!WARN] Note that for performance reasons the server repository might have been cloned with
--depth=1
by default. To get the full history it is highly recommended to run:cd workspace/server git fetch --unshallow git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*" git fetch origin
Tip
This is a very simple way but doesn't cover all features. If you are looking for a fully featured setup you may skip to the next section