Difference between revisions of "NextCloud: Heroku: Install"

From Gratiel's Wiki
(→‎Menu)
Line 33: Line 33:
 
# [[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: Apply S3 Patch to NextCloud | Apply S3 Patch to NextCloud ]]
 +
# [[NextCloud: Heroku: Install: Reset the Database | Reset the Database ]]
 +
# [[NextCloud: Heroku: Install: Redo Database & Admin Account Setup | Redo Database & Admin Account Setup ]]
 +
# [[NextCloud: Heroku: Install: Verify S3 Bucket Setup | Verify S3 Bucket Setup ]]
 +
# [[NextCloud: Heroku: Install: Update Nextcloud Keys | Update Nextcloud Keys ]]
 
# [[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:39, 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. Reset the Database
  17. Redo Database & Admin Account Setup
  18. Verify S3 Bucket Setup
  19. Update Nextcloud Keys
  20. Finalize Installation
  21. Install NextCloud Apps
  22. Setup NextCloud Security
  23. S3 Storage
  24. Patching NextCloud
  25. WebDAV

Return