NextCloud: Heroku: Install

From Gratiel's Wiki
Revision as of 19:46, 1 September 2019 by Ewanchic (talk | contribs)

Preface

Heroku is not like other IaaS cloud services such as Amazon Web Services (AWS), Rackspace, Digital Ocean, or Linode. Instead, Heroku is a PaaS and with this comes some unique challenges to installing nextcloud.

Ephemeral Drives

Heroku uses Ephemeral Drives. Ephemeral drives are virtual storage that are created for the sole purpose of booting a virtual machine and should be thought of as temporary. Ephemeral disks are useful if you aren't worried about needing to duplicate an instance or destroy an instance and save the data.

Locked Code

Your code will always be locked and based on the git repository. During the installation process, nextcloud writes ans saves changes to your config file. If this information is not saved and stored into your git repo, then it will be lost on the next spin-up.

No file storage

Heroku only give you a limited amount of space for your app only. Any files that are uploaded to nextcloud are typically saved in the app folder. Since a new spin-up will erase all uploaded files, saving them to Heroku is NOT an option.
Instead, we will need to utilize Amazon's S3 storage to store our files and information.

Databases

PostgreSQL

We will be utilizing PostgreSQL instead of MySQL. This can provide unique options in Heroku Shield that are not available in regular Heroku or MySQL.

Security

Since locked code will be dependent on the git repo, we will need to store our config information within Heroku's Config Vars section.

Menu

The following instructions are for users of Ubuntu/Debian based Linux.
  1. Prerequisites
  2. Setup Heroku
  3. Downloading NextCloud
  4. Prepping NextCloud for Heroku
  5. Heroku Add-Ons
  6. Push Up the Code
  7. Capture Initial Config
  8. First Installation
  9. S3 Bucket
  10. Finalize Installation
  11. Install NextCloud Apps
  12. Setup NextCloud Security
  13. S3 Storage
  14. Patching NextCloud
  15. WebDAV

Return