diff options
| author | Paul Buetow <paul@buetow.org> | 2023-12-22 08:27:49 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2023-12-22 08:27:49 +0200 |
| commit | 0e5ff097a9c5fae99813eddbed84c136eaafd551 (patch) | |
| tree | c1b7f067dd3a5538b86bdc242287fd62e77449fe | |
| parent | a9dffaaf1f83b76a7567f65f62eb1a6349268b8f (diff) | |
more on nextcloud
| -rw-r--r-- | Makefile | 2 | ||||
| -rw-r--r-- | org-buetow-base/network.tf | 7 | ||||
| -rw-r--r-- | org-buetow-bastion/main.tf | 4 | ||||
| -rw-r--r-- | org-buetow-nextcloud/lb.tf | 2 | ||||
| -rw-r--r-- | org-buetow-nextcloud/main.tf | 6 | ||||
| -rw-r--r-- | org-buetow-nextcloud/user_data.tpl | 28 |
6 files changed, 38 insertions, 11 deletions
@@ -1,6 +1,6 @@ apply: cd org-buetow-base && terraform apply -auto-approve - cd org-buetow-bastion && terraform apply -auto-appove + cd org-buetow-bastion && terraform apply -auto-approve cd org-buetow-elb && terraform apply -auto-approve cd org-buetow-nextcloud && terraform apply -auto-approve cd org-buetow-ecs && terraform apply -auto-approve diff --git a/org-buetow-base/network.tf b/org-buetow-base/network.tf index d32f8ca..a128569 100644 --- a/org-buetow-base/network.tf +++ b/org-buetow-base/network.tf @@ -79,6 +79,13 @@ resource "aws_security_group" "allow_web" { } ingress { + from_port = 8080 + to_port = 8080 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + + ingress { from_port = 443 to_port = 443 protocol = "tcp" diff --git a/org-buetow-bastion/main.tf b/org-buetow-bastion/main.tf index ecf9f59..dc063f5 100644 --- a/org-buetow-bastion/main.tf +++ b/org-buetow-bastion/main.tf @@ -28,6 +28,10 @@ resource "aws_instance" "bastion" { data.terraform_remote_state.base.outputs.allow_outbound_sg_id, ] user_data = data.template_file.user_data.rendered + + tags = { + Name = "bastion" + } } resource "aws_eip" "bastion" { diff --git a/org-buetow-nextcloud/lb.tf b/org-buetow-nextcloud/lb.tf index 5aeb72b..e6d4ef9 100644 --- a/org-buetow-nextcloud/lb.tf +++ b/org-buetow-nextcloud/lb.tf @@ -22,7 +22,7 @@ resource "aws_lb_target_group" "nextcloud_tg" { healthy_threshold = 2 unhealthy_threshold = 2 interval = 30 - path = "/" # Modify if your app has a specific health check path + path = "/" protocol = "HTTP" timeout = 3 matcher = "200-299" diff --git a/org-buetow-nextcloud/main.tf b/org-buetow-nextcloud/main.tf index 3625ec8..a7130d4 100644 --- a/org-buetow-nextcloud/main.tf +++ b/org-buetow-nextcloud/main.tf @@ -17,7 +17,7 @@ resource "aws_key_pair" "id_rsa_pub" { } resource "aws_instance" "nextcloud" { - ami = "ami-024f768332f080c5e" # Amazon Linux 2023 + ami = "ami-024f768332f080c5e" # Amazon Linux 2023 instance_type = "t2.medium" key_name = aws_key_pair.id_rsa_pub.key_name @@ -29,6 +29,10 @@ resource "aws_instance" "nextcloud" { data.terraform_remote_state.base.outputs.allow_outbound_sg_id, ] user_data = data.template_file.user_data.rendered + + tags = { + Name = "nextcloud" # Replace with your desired name + } } resource "aws_route53_record" "nextcloud_ec2_aws_buetow_org" { diff --git a/org-buetow-nextcloud/user_data.tpl b/org-buetow-nextcloud/user_data.tpl index 0bd1892..3041342 100644 --- a/org-buetow-nextcloud/user_data.tpl +++ b/org-buetow-nextcloud/user_data.tpl @@ -2,20 +2,32 @@ # Docker sudo yum update -y -sudo amazon-linux-extras install docker -y -sudo service docker enable -sudo service docker start +sudo yum install docker -y +sudo systemctl enable docker +sudo systemctl start docker sudo usermod -a -G docker ec2-user -# Docker Compose -#sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose -#sudo chmod +x /usr/local/bin/docker-compose - # EFS yum install -y amazon-efs-utils mkdir /mnt/efs echo '${efs_id}.efs.${region}.amazonaws.com:/ /mnt/efs nfs4 defaults,vers=4.1 0 0' >> /etc/fstab -while ! mount -a; do +while ! mountpoint /mnt/efs; do echo 'Retrying to mount file systems after 10s...' + mount -a sleep 10 done + +# Nextcloud +sudo docker run \ + --init \ + -d \ + --sig-proxy=false \ + --name nextcloud-aio-mastercontainer \ + --restart always \ + --publish 8080:8080 \ + --env APACHE_PORT=80 \ + --env APACHE_IP_BINDING=0.0.0.0 \ + --volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config \ + --volume /var/run/docker.sock:/var/run/docker.sock:ro \ + --env NEXTCLOUD_DATADIR="/mnt/efs/ec2/nextcloud/ncdata" \ + nextcloud/all-in-one:latest |
