Difference between revisions of "NextCloud: Heroku: Install"

From Gratiel's Wiki
(→‎Menu)
Line 29: Line 29:
 
# [[NextCloud: Heroku: Install: Update Config File with Database Credentials | Update Config File with Database Credentials ]]
 
# [[NextCloud: Heroku: Install: Update Config File with Database Credentials | Update Config File with Database Credentials ]]
 
# [[NextCloud: Heroku: Install: Create Heroku Environment Variables | Create Heroku Environment Variables ]]
 
# [[NextCloud: Heroku: Install: Create Heroku Environment Variables | Create Heroku Environment Variables ]]
−
# [[NextCloud: Heroku: Install: S3 Bucket | S3 Bucket ]]
 
 
# [[NextCloud: Heroku: Install: Setup S3 Buckets | Setup S3 Buckets ]]
 
# [[NextCloud: Heroku: Install: Setup S3 Buckets | Setup S3 Buckets ]]
 
# [[NextCloud: Heroku: Install: Update Config File for S3 File Storage | Update Config File for S3 File Storage ]]
 
# [[NextCloud: Heroku: Install: Update Config File for S3 File Storage | Update Config File for S3 File Storage ]]
 
# [[NextCloud: Heroku: Install: Add S3 Environment Variables | Add S3 Environment Variables ]]
 
# [[NextCloud: Heroku: Install: Add S3 Environment Variables | Add S3 Environment Variables ]]
 +
# [[NextCloud: Heroku: Install: Apply S3 Patch to NextCloud | Apply S3 Patch to NextCloud ]]
 
# [[NextCloud: Heroku: Install: Finalize Installation | Finalize Installation ]]
 
# [[NextCloud: Heroku: Install: Finalize Installation | Finalize Installation ]]
 
# [[NextCloud: Heroku: Install: Install NextCloud Apps | Install NextCloud Apps ]]
 
# [[NextCloud: Heroku: Install: Install NextCloud Apps | Install NextCloud Apps ]]

Revision as of 18:04, 2 September 2019

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. Gather Heroku's Credentials
  9. Setup Database & Admin Account
  10. Update Config File with Database Credentials
  11. Create Heroku Environment Variables
  12. Setup S3 Buckets
  13. Update Config File for S3 File Storage
  14. Add S3 Environment Variables
  15. Apply S3 Patch to NextCloud
  16. Finalize Installation
  17. Install NextCloud Apps
  18. Setup NextCloud Security
  19. S3 Storage
  20. Patching NextCloud
  21. WebDAV

Return