Install Nextcloud on AWS EC2 and using S3 storage
I want more privacy, so I decided to minimize the use of Google products. I can replace Chrome with Firefox, replace Gmail with ProtonMail and replace Google Drive with Nextcloud. Nextcloud allows me to self-host of cloud storage and gives me control over my own data. Here are the steps to install it on AWS:
-
Install nextcloud with snap package manager
sudo snap install nextcloud
-
Create admin user account
sudo nextcloud.manual-install
-
Adding your trusted domain
sudo nextcloud.occ config:system:set trusted_domains 1 –value=
-
Using Route 53, create A record to the IP address of your nextcloud server
-
Setting up SSL certificate with let’s encrypt, enter your email and domain after:
sudo nextcloud.enable-https lets-encrypt
- Go to the your domain and you can now login to your nextcloud:
-
Click on Apps and enable “Default encryption mode” and “External Storage Support mode”
-
Open IAM (Identity and Access Management) in AWS, create a new user with programmatic access.
-
Create new policy with JSON below, replace your NAMEOFYOURBUCKET with your s3 bucket name. Attached the policy to the new user created above.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:GetBucketLocation",
"s3:ListAllMyBuckets"
],
"Resource": "arn:aws:s3:::*"
},
{
"Effect": "Allow",
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::NAMEOFYOURBUCKET",
"arn:aws:s3:::NAMEOFYOURBUCKET*"
]
}
]
}
-
Go to nextcloud setting and select External storage. Fill in the Bucket with NAMEOFYOURBUCKET, checked enable SSL, enable Path Style and fill in the information with credentials of your newly created user.
-
Done. Now go to your d3 folder, and you should be able to upload your file.
Originally published at __https://victorleungtw.com_ on December 7, 2019._

About
Experience in software development, consulting services, and technical product management. Understanding of business and technology with an MBA in Finance and a Master's degree in Computer Science. Certified in AWS, GCP and Kubernetes with experience in building banking products from scratch and serving as a charismatic leader.