Tobias Knöppler b8a990e264
Add ncp-app for prometheus (system) metrics
* metrics.{sh,cfg}: Implement ncp-app for prometheus (system) metrics

letsencrypts.sh, nc-nextcloud.sh, nextcloud.conf.sh: Introduce templating/generator concept to allow multiple ncp apps to edit the same file without conflicts

library.sh: Add convenience function find_app_param

Signed-off-by: Tobias K <6317548+theCalcaholic@users.noreply.github.com>

* letsencrypt.sh: Remove commented code

Signed-off-by: Tobias K <6317548+theCalcaholic@users.noreply.github.com>

* metrics.cfg: Deactivate by default

- Add title, description and remove TODO entries

Signed-off-by: Tobias K <6317548+theCalcaholic@users.noreply.github.com>

* metrics.sh: Restart apache after enabling proxy_http

Signed-off-by: Tobias K <6317548+theCalcaholic@users.noreply.github.com>

* update.sh: Update ncp-templates directory during updates

Signed-off-by: Tobias K <6317548+theCalcaholic@users.noreply.github.com>

* update.sh: Copy ncp-templates directory, not just its content

Signed-off-by: Tobias K <6317548+theCalcaholic@users.noreply.github.com>

* metrics.sh,update.sh: Disable metrics in docker for now

Signed-off-by: Tobias K <6317548+theCalcaholic@users.noreply.github.com>

* metrics.sh: Disable prometheus-node-exporter via systemctl

Signed-off-by: Tobias K <6317548+theCalcaholic@users.noreply.github.com>

* metrics.sh: Move apache mod configuration to updates

Signed-off-by: Tobias K <6317548+theCalcaholic@users.noreply.github.com>

* metrics.cfg: Remove invalid parameter type

Signed-off-by: Tobias K <6317548+theCalcaholic@users.noreply.github.com>

* metrics.sh: Create /etc/default/prometheus-node-exporter via heredoc

Signed-off-by: Tobias K <6317548+theCalcaholic@users.noreply.github.com>

* nextcloud.conf.sh: Prevent template parsing error if metrics.sh is disabled (i.e. on docker)

Signed-off-by: Tobias K <6317548+theCalcaholic@users.noreply.github.com>

* metrics.cfg: Add info directing users to my preconfigured ncp dashboard

Signed-off-by: Tobias K <6317548+theCalcaholic@users.noreply.github.com>

* Various fixes

- metrics.sh: Fix is_active function always returning 1
- metrics.sh: Fix apache2 reload potentially interrupting web ui
- nc-nextcloud.sh: exit if nextcloud.conf templating fails
- various readability and code style improvements

Signed-off-by: Tobias K <6317548+theCalcaholic@users.noreply.github.com>

* letsencrypt.sh: Use consistent return codes in tmpl_letsencrypt_domain

Signed-off-by: Tobias K <6317548+theCalcaholic@users.noreply.github.com>

* nextcloud.conf.sh: Remove obsolete return code escape

Signed-off-by: Tobias K <6317548+theCalcaholic@users.noreply.github.com>

* nextcloud.conf.sh: Ensure that the snakeoil self-signed cert exists before enabling it

Signed-off-by: Tobias K <6317548+theCalcaholic@users.noreply.github.com>

* updates/1.36.4.sh: Reload apache in the background instead of restarting it blockingly

Signed-off-by: Tobias K <6317548+theCalcaholic@users.noreply.github.com>
2021-08-02 15:12:56 -06:00
2021-05-12 21:49:42 -06:00
2021-07-26 21:02:57 -06:00
2020-11-27 14:54:46 -07:00
2018-09-21 23:48:00 -06:00
2019-12-20 20:18:40 -07:00
2019-12-20 20:18:40 -07:00
2021-02-27 08:07:47 -07:00
2020-11-27 14:54:36 -07:00
2019-12-30 15:34:24 -07:00
2020-11-27 14:54:36 -07:00
2019-05-25 19:41:10 -06:00
2018-10-18 23:08:33 -06:00
2019-05-25 19:41:10 -06:00
2021-05-12 21:49:42 -06:00
2021-07-25 07:23:48 -06:00

English | Traditional Chinese 繁體中文 | Simplified Chinese 简体中文

NextCloudPi chatroom icon forums icon Donate blog

NC Logo

This is the build code for NextCloudPi.

NextCloudPi is a ready to use image for Raspberry Pi, Odroid HC1, rock64 and other boards.

This code also generates the NextCloudPi docker images for all architectures, and includes an installer for any Debian based system.

Find the full documentation at docs.nextcloudpi.com

Features

  • Debian/Raspbian 10 Buster
  • Nextcloud 20.0.11
  • Apache 2.4.25, with HTTP2 enabled
  • PHP 7.3
  • MariaDB 10
  • Redis memory cache
  • ncp-config for easy setup ( RAM logs, USB drive and more )
  • Automatic redirection to HTTPS
  • ACPU PHP cache
  • PHP Zend OPcache enabled with file cache
  • HSTS
  • Cron jobs for Nextcloud
  • Sane configuration defaults
  • Full emoji support
  • Postfix email
  • Secure

Extras

  • Setup wizard
  • NextCloudPi Web Panel
  • Wi-Fi ready
  • Ram logs
  • Automatic security updates, activated by default.
  • Lets Encrypt for trusted HTTPS certificates.
  • Fail2Ban protection against brute force attacks.
  • UFW firewall
  • Dynamic DNS support for no-ip.org
  • Dynamic DNS support for freeDNS
  • Dynamic DNS support for duckDNS
  • Dynamic DNS support for spDYN
  • Dynamic DNS support for Namecheap
  • dnsmasq DNS server with DNS cache
  • ModSecurity Web Application Firewall
  • NFS ready to mount your files over LAN
  • SAMBA ready to share your files with Windows/Mac/Linux
  • USB automount
  • Remote updates
  • Automatic NCP updates
  • Automatic Nextcloud updates
  • Update notifications
  • NextCloud backup and restore
  • NextCloud online installation
  • Format USB drive to BTRFS
  • BTRFS snapshots
  • Automatic BTRFS snapshots
  • BTRFS snapshot auto sync
  • scheduled rsync
  • UPnP automatic port forwarding
  • Security audits with Lynis and Debsecan
  • ZRAM
  • SMART hard drive health monitoring

Extras can be activated and configured using the web interface at HTTPS port 4443

NCP-config

, or from the command line from

sudo ncp-config

NCP-config

Run in docker

docker run -d -p 4443:4443 -p 443:443 -p 80:80 -v ncdata:/data --name nextcloudpi ownyourbits/nextcloudpi $DOMAIN

How to build

Install git, docker, qemu-user-static, chroot and all the usual building tools.

git clone https://github.com/nextcloud/nextcloudpi.git
cd nextcloudpi
./build-SD-rpi.sh

, or for an Armbian based board

./build-SD-armbian.sh odroidxu4   # supported board code name

In order to generate the Docker images

git clone https://github.com/nextcloud/nextcloudpi.git
cd nextcloudpi
./build-docker.sh x86
./build-docker.sh armhf
./build-docker.sh arm64

NextCloudPi can be installed in any architecture running the latest Debian

Note: this assumes a clean Debian install, and there is no rollback method

# curl -sSL https://raw.githubusercontent.com/nextcloud/nextcloudpi/master/install.sh | bash

Downloads

https://nextcloudpi.com

https://hub.docker.com/r/ownyourbits/nextcloudpi

Contact

You can find us in the forums and a Telegram group

Description
📦 Build code for NextcloudPi: Raspberry Pi, Odroid, Rock64, Docker, curl installer...
Readme 26 MiB
Languages
Shell 51.1%
PHP 23.2%
CSS 8.6%
JavaScript 8.5%
Python 6.6%
Other 2%