how-to sync with source repo 1 year ago
templates adapt template to new Vagrant box, based on Ubuntu 24.04 8 months ago
.gitignore adapt templates to Ubuntu 22.04 2 years ago
LICENSE Initial commit 3 years ago
README.md template04 and template05 have been upgraded to ubuntu2404 8 months ago
README.md

Introduction

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

nc-env is developed and maintained by RCA Systems, a company dedicated to consulting and services on Nextcloud.

Code repositories

Features

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.

:zap: 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 Vagrant Box
template00-clean-server Clean server YES
template01-nextcloud-standalone Nextcloud standalone server YES rcasys/ubuntu2404
template02-collabora-online Collabora Online server - CODE or Enterprise YES rcasys/ubuntu2404
template03-keycloak Keycloak standalone server YES rcasys/ubuntu2404
template04-ldap OpenLDAP server + phpLDAPadmin YES rcasys/ubuntu2404
template05-elasticsearch ElasticSearch server YES rcasys/ubuntu2404
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
template12-lookup-server Nextcloud lookup server YES
template13-talk-hpb Talk High Performance Backend YES
template14-self-hosted-appstore Nextcloud Self-Hosted Appstore NO
template15-notify-push-server Nextcloud Notify Push Server (a.k.a. Files HPB) YES
template16-zabbix-server Zabbix Monitoring Server YES
template17-mail-server Mox Mail Server YES

Setup

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.

Resources