From 0e5ff097a9c5fae99813eddbed84c136eaafd551 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Fri, 22 Dec 2023 08:27:49 +0200 Subject: more on nextcloud --- Makefile | 2 +- org-buetow-base/network.tf | 7 +++++++ org-buetow-bastion/main.tf | 4 ++++ org-buetow-nextcloud/lb.tf | 2 +- org-buetow-nextcloud/main.tf | 6 +++++- org-buetow-nextcloud/user_data.tpl | 28 ++++++++++++++++++++-------- 6 files changed, 38 insertions(+), 11 deletions(-) diff --git a/Makefile b/Makefile index c4f4ec2..4e6b2b7 100644 --- a/Makefile +++ b/Makefile @@ -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 @@ -78,6 +78,13 @@ resource "aws_security_group" "allow_web" { cidr_blocks = ["0.0.0.0/0"] } + ingress { + from_port = 8080 + to_port = 8080 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + ingress { from_port = 443 to_port = 443 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 -- cgit v1.2.3