GitXplorerGitXplorer
q

nextcloud-aws-deploy

public
0 stars
2 forks
0 issues

Commits

List of commits on branch master.
Unverified
dac5c311bcbf6a223ac2035d160880617a56773b

Closed a few more ticks

qqugu committed 7 years ago
Unverified
98649881a04a807e55cc3a32eeadf3be7e4ea295

Fixing EC2/ELB procedure

qqugu committed 7 years ago
Unverified
b900a31c463167a4363b2b82cbbe531d4dafb04b

Added VPC/Caching Tier/DB Tier from ground up

qqugu committed 7 years ago
Unverified
7d5a66872cde983d6f524dd1d741386cfeb163c4

Change backends to unique values

qqugu committed 7 years ago
Unverified
e96a0741fcd7d355be3ac3ae3ffe7f4e10e17dcf

Added a new default variable to omit use on command line

qqugu committed 7 years ago
Unverified
644b5613c8a9727c4c7a843d00504b2cdcefcc01

Implemented a module to manage ELB + EC2

qqugu committed 7 years ago

README

The README file for this repository.

nextcloud-aws-deploy

Terraform and Ansible configurations to roll-out a mid-size Nextcloud deployment in AWS (https://docs.nextcloud.com/server/11/admin_manual/installation/deployment_recommendations.html#mid-sized-enterprises)

This is a personal assessment project. Some hard requirements and stuff to think about:

  • [x] Multiple environments (test/dev/prod)
  • [ ] Must support EC2, RDS, ELB, Security Groups, S3, CloudWatch Alerts
  • [x] Modular structure for everything possible
  • [x] File/directory layout best practices
  • [x] Secrets management made wisely
  • [x] Add/remove components 1-by-1
  • [x] Storing state remotely (remote state)
  • [x] Must support terraform outputs

Some Ansible requirements:

  • [ ] AWS as Ansible inventory
  • [ ] Conflict resolution? Application deployment?
  • [ ] How to test code? How to rollback?
  • [ ] File/directory layout best practices

This project is under development. Alpha stage, don't run it, bro!

In the end we should get a completely working NextCloud deployment.

Usage:

  1. Create a keypair with ssh-keygen on Linux.
  2. Edit init/backend.tf and comment out terraform {} block. Rename bucket in bucket = to a unique value.
  3. Run terraform specifying the desired keypair name in AWS and the path to your new public key. In example: $ terraform plan -var 'key_name=terraform-nextcloud-keypair' -var 'public_key_path=~/.ssh/terraform-nextcloud-rsa.pub' -out "nx.plan" $ terraform apply "nx-plan.plan"
  4. Uncomment change done in step 2 to enable a remote backend in AWS S3.