Difference between revisions of "NextCloud: Heroku: Install"
| (17 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
== Preface == | == Preface == | ||
| − | + | [https://www.heroku.com Heroku] is not like other IaaS cloud services such as [https://aws.amazon.com Amazon Web Services (AWS)], [https://www.rackspace.com Rackspace], [https://www.digitalocean.com Digital Ocean], or [https://www.linode.com 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 == | == Menu == | ||
| + | The following instructions are for users of '''Ubuntu/Debian''' based Linux. | ||
# [[NextCloud: Heroku: Install: Prerequisites | Prerequisites ]] | # [[NextCloud: Heroku: Install: Prerequisites | Prerequisites ]] | ||
# [[NextCloud: Heroku: Install: Setup Heroku | Setup Heroku ]] | # [[NextCloud: Heroku: Install: Setup Heroku | Setup Heroku ]] | ||
| Line 14: | Line 29: | ||
# [[NextCloud: Heroku: Install: Push Up the Code | Push Up the Code ]] | # [[NextCloud: Heroku: Install: Push Up the Code | Push Up the Code ]] | ||
# [[NextCloud: Heroku: Install: Capture Initial Config | Capture Initial Config ]] | # [[NextCloud: Heroku: Install: Capture Initial Config | Capture Initial Config ]] | ||
| − | # [[NextCloud: Heroku: Install: | + | # [[NextCloud: Heroku: Install: Gather Heroku's Credentials | Gather Heroku's Credentials ]] |
| − | # [[NextCloud: Heroku: Install: S3 Bucket | S3 Bucket ]] | + | # [[NextCloud: Heroku: Install: Setup Database & Admin Account | Setup Database & Admin Account ]] |
| − | # [[NextCloud: Heroku: Install: | + | # [[NextCloud: Heroku: Install: Update Config File with Database Credentials | Update Config File with Database Credentials ]] |
| − | # [[NextCloud: Heroku: Install: Install NextCloud | + | # [[NextCloud: Heroku: Install: Create Heroku Environment Variables | Create Heroku Environment Variables ]] |
| − | # [[NextCloud: Heroku: Install: Setup NextCloud | + | # [[NextCloud: Heroku: Install: Setup S3 Access Key | Setup S3 Access Key ]] |
| − | # [[NextCloud: Heroku: Install: S3 | + | # [[NextCloud: Heroku: Install: Setup S3 Database Bucket(s) | Setup S3 Database Bucket(s) ]] |
| − | # [[NextCloud: Heroku: Install: | + | ## [[NextCloud: Heroku: Install: Setup S3 Database Bucket(s): Log Bucket(s) | Log Bucket(s) ]] |
| + | ## [[NextCloud: Heroku: Install: Setup S3 Database Bucket(s): Replication Bucket | Replication Bucket ]] | ||
| + | ## [[NextCloud: Heroku: Install: Setup S3 Database Bucket(s): Main Bucket | Main Bucket ]] | ||
| + | # [[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: Apply S3 Patch to NextCloud | Apply S3 Patch to NextCloud ]] | ||
| + | # [[NextCloud: Heroku: Install: Reset the Database | Reset the Database ]] | ||
| + | # [[NextCloud: Heroku: Install: Push Up the Code, Simplified | Push Up the Code, Simplified ]] | ||
| + | # [[NextCloud: Heroku: Install: Setup Database & Admin Account with S3 File Storage | Setup Database & Admin Account with S3 File Storage ]] | ||
| + | # [[NextCloud: Heroku: Install: Verify S3 Bucket Setup | Verify S3 Bucket Setup ]] | ||
| + | # [[NextCloud: Heroku: Install: Update Nextcloud Keys | Update Nextcloud Keys ]] | ||
| + | # [[NextCloud: Heroku: Install: Update Config File with S3 & Database Credentials | Update Config File with S3 & Database Credentials ]] | ||
| + | # [[NextCloud: Heroku: Install: Finalize Installation | Finalize Installation ]] | ||
| + | |||
== Return == | == Return == | ||
Latest revision as of 14:46, 17 September 2019
Contents
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.
- Prerequisites
- Setup Heroku
- Downloading NextCloud
- Prepping NextCloud for Heroku
- Heroku Add-Ons
- Push Up the Code
- Capture Initial Config
- Gather Heroku's Credentials
- Setup Database & Admin Account
- Update Config File with Database Credentials
- Create Heroku Environment Variables
- Setup S3 Access Key
- Setup S3 Database Bucket(s)
- Update Config File for S3 File Storage
- Add S3 Environment Variables
- Apply S3 Patch to NextCloud
- Reset the Database
- Push Up the Code, Simplified
- Setup Database & Admin Account with S3 File Storage
- Verify S3 Bucket Setup
- Update Nextcloud Keys
- Update Config File with S3 & Database Credentials
- Finalize Installation