This repository provides AWS CloudFormation templates to deploy NextCloud on AWS completely. No need to manage servers or manually react to monitoring events with adding capacity manually.
You can use the following link to deploy this solution directly into your AWS account. Ensure you are logged into the AWS Console before following it.
Quickstart CloudFormation Link
This project assumes a familiarity with AWS CLI and AWS CloudFormation. Additional reference can be found at the following links: https://aws.amazon.com/cli/ https://aws.amazon.com/cloudformation/
aws cloudformation package --template-file ecs-nextcloud.yml --s3-bucket <cfn-artifact-bucket-name> --output-template-file packaged.yaml
packaged.yaml
) with appropriate parameters
aws cloudformation deploy --template-file packaged.yaml --stack-name nextcloud-test-env --parameter-overrides DbPassword=<DB-Admin-Password> NextCloudAdminPassword=<Nextcloud-Admin-Password> IsolationLevel=Public --capabilities CAPABILITY_IAM
Public
places containers within the public subnetsPrivate
places containers into private subnets, deploys one NAT Gateway for outbound internet accessPrivateHA
same as privat, but deploys two NAT GatewaysThe recommendation is to use the at least the default values to get decent performance (cpu: 1024, mem: 2048
).
A desired container capacity of 2 allows scaling and re-deployment without downtime. For initialization go with a single container to avoid clashes when copying files during the setup phase.
The baseline cost drivers are the AWS RDS database, ElastiCache Redis and Fargate task costs. Find the hourly charged costs for your AWS region within the AWS pricing pages:
Sample CloudWatch Dashboard pre-configured with basic metrics will be deployed within CloudFormation
Public
VPC isolation level is the most cost efficient one, the suggestion is, for production workloads keep instances and containers in private subnets. This lowers risk, e.g. opening up ports with wrongly configured inbound port on VPC security groups.See CONTRIBUTING for more information.
This library is licensed under the MIT-0 License. See the LICENSE file.
This deployment references the official Nextcloud Docker image which is published under AGPL-3.0 License.