Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/feralducka/zero-to-nextcloud

A setup script for making a fresh-installed, bare-metal, Ubuntu/Debian machine a full fledged Nextcloud server.
https://github.com/feralducka/zero-to-nextcloud

apache apache2 apcu debian duckdns fail2ban infiniband installation-scripts installer mariadb mysql nextcloud nextcloud-installation nut php php-fpm redis ubuntu ufw ufw-firewall

Last synced: 14 days ago
JSON representation

A setup script for making a fresh-installed, bare-metal, Ubuntu/Debian machine a full fledged Nextcloud server.

Awesome Lists containing this project

README

        

# ✨ Zero-to-Nextcloud ✨
My personal setup script for making a fresh-installed, bare-metal, Ubuntu/Debian machine in to a hardened full-fledge NextCloud server.



The setup include:


  • Nextcloud

  • Apache2 (with ModSecurity and ModEvasive) as WebServer

  • PHP-FPM as PHP engine

  • CertBot for HTTPS certificate

  • MySQL as DBMS

  • Redis and APCu for caching

  • NUT for monitoring the UPS

  • Fail2Ban and UFW firewall for security

  • + various scripts to keep everything in check






The setup take in consideration that my Nextcloud instance is divided on multiple server (one for compute and one for storage) connected via InfiniBand.



This setup is personal, but feel free to fork it and use it as you want.



* \( ゚ヮ゚)/ *






# Setup ✅
Remember to customize the variables, in ```setup.sh```, and the configuration files, in base of your needs.

The script must be run as **root**.

```
wget https://raw.githubusercontent.com/FeralDucka/zero-to-nextcloud/main/setup.sh
```
```
chmod +x setup.sh
```
```
sudo setup.sh
```






# If things go wrong ⚠
If the installation process does not complete successfully, is possbile to restart the process.

First must be run ```reset.sh``` to prepare the files and MariaDB database (if it was installed).

Then is possible to run ```setup.sh``` again.



Remember to customize the variables, in ```reset.sh``` and ```setup.sh```

The script must be run as **root**.

```
wget https://raw.githubusercontent.com/FeralDucka/zero-to-nextcloud/main/reset.sh
```
```
chmod +x reset.sh
```
```
sudo reset.sh
```






# Recommended enabled/disabled default Apps 🔧 🔨
```
sudo -u www-data php /var/www/nextcloud/occ app:disable app_api
sudo -u www-data php /var/www/nextcloud/occ app:disable circles
sudo -u www-data php /var/www/nextcloud/occ app:disable dashboard
sudo -u www-data php /var/www/nextcloud/occ app:disable firstrunwizard
sudo -u www-data php /var/www/nextcloud/occ app:disable nextcloud_announcements
sudo -u www-data php /var/www/nextcloud/occ app:disable photos
sudo -u www-data php /var/www/nextcloud/occ app:disable sharebymail
sudo -u www-data php /var/www/nextcloud/occ app:disable support
sudo -u www-data php /var/www/nextcloud/occ app:disable weather_status
sudo -u www-data php /var/www/nextcloud/occ app:disable webhook_listeners
```
```
sudo -u www-data php /var/www/nextcloud/occ app:enable suspicious_login
sudo -u www-data php /var/www/nextcloud/occ app:enable twofactor_nextcloud_notification
sudo -u www-data php /var/www/nextcloud/occ app:enable twofactor_totp
```






# Recommended Apps to install 🔭 🌠
```
sudo -u www-data php /var/www/nextcloud/occ app:install camerarawpreviews --force
sudo -u www-data php /var/www/nextcloud/occ app:install epubviewer --force
sudo -u www-data php /var/www/nextcloud/occ app:install files_3dmodelviewer --force
sudo -u www-data php /var/www/nextcloud/occ app:install files_automatedtagging --force
sudo -u www-data php /var/www/nextcloud/occ app:install files_downloadactivity --force
sudo -u www-data php /var/www/nextcloud/occ app:install files_markdown --force
sudo -u www-data php /var/www/nextcloud/occ app:install htmlviewer --force
sudo -u www-data php /var/www/nextcloud/occ app:install integration_giphy --force
sudo -u www-data php /var/www/nextcloud/occ app:install integration_openstreetmap --force
sudo -u www-data php /var/www/nextcloud/occ app:install memories --force
sudo -u www-data php /var/www/nextcloud/occ app:install metadata --force
sudo -u www-data php /var/www/nextcloud/occ app:install music --force
sudo -u www-data php /var/www/nextcloud/occ app:install ownershiptransfer --force
sudo -u www-data php /var/www/nextcloud/occ app:install previewgenerator --force
sudo -u www-data php /var/www/nextcloud/occ app:install quota_warning --force
sudo -u www-data php /var/www/nextcloud/occ app:install richdocuments --force
sudo -u www-data php /var/www/nextcloud/occ app:install richdocumentscode --force
sudo -u www-data php /var/www/nextcloud/occ app:install user_usage_report --force
```