Provisioning Nextcloud environments with vagrant and LXD
Go to file
pmarini 35bce013b4 update template to ES8 and add TLS 2023-08-02 15:59:44 +02:00
how-to first commit for mail server template 2023-06-29 14:01:00 +02:00
templates update template to ES8 and add TLS 2023-08-02 15:59:44 +02:00
.gitignore adapt templates to Ubuntu 22.04 2023-02-10 22:26:41 +01:00
LICENSE Initial commit 2022-04-13 11:26:06 +02:00 Add Mail Server to the list of templates 2023-07-25 14:21:28 +02:00

This project is a personal initiative, without any official support by Nextcloud GmbH


nc-env is a tool that enables you to provision isolated Nextcloud test environments in your machine. It is built on vagrant and LXD.


You can leverage this tool to:

  • Quickly setup and run an isolated Nextcloud instance in your machine.
  • Try features or troubleshoot issues without any manual installation and minimal configuration.
  • Learn and explore the integration of Nextcloud with common enterprise systems, such as LDAP, ElasticSearch, Single Sign-On or an Office Editing Service.

Available Templates

nc-env is based on templates. A template is a set of instructions and artifacts sufficient to have a service up and running in a container.

The templates in this repository are designed and developed for testing and development environments, not for production

The following table summarizes the list of available templates:

Template Description Maintained
template00-clean-server Clean server YES
template01-nextcloud-standalone Nextcloud standalone server YES
template02-collabora-online Collabora Online server - CODE or Enterprise YES
template03-keycloak Keycloak standalone server YES
template04-ldap OpenLDAP server + phpLDAPadmin YES
template05-elasticsearch ElasticSearch server YES
template06-nextcloud-db-standalone Database node (to be used in a cluster) YES
template07-glusterfs-server GlusterFS node (to be used in a cluster) YES
template08-haproxy-server HAproxy (to be used in a cluster) YES
template09-web-server-node Web Server Node (to be used in a cluster) YES
template10-redis-server Redis server(to be used in a cluster) YES
template11-minio-storage-server MinIO Storage Server YES
template13-talk-hpb Talk High Performance Backend YES
template14-self-hosted-appstore Nextcloud Self-Hosted Appstore NO
template16-zabbix-server Zabbix Monitoring Server YES
template17-mail-server Mox Mail Server YES


This section aims at giving an high-level procedure to setup your environment.

Please head to the how-to folder to find step-by-step guides for the most common Linux Desktop distributions (Fedora, Ubuntu, Debian).

  1. Install and configure LXD
  2. Configure the host to resolve container hostnames
  3. Install and configure vagrant
  4. Install LXD plugin vagrant-lxd
  5. Install mkcert
  6. Get the latest release of nc-env
  7. Start provisioning

A Virtual Machine is also available for those that want to have a fully isolated environment, instructions are available here.