summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2023-12-22 08:27:49 +0200
committerPaul Buetow <paul@buetow.org>2023-12-22 08:27:49 +0200
commit0e5ff097a9c5fae99813eddbed84c136eaafd551 (patch)
treec1b7f067dd3a5538b86bdc242287fd62e77449fe
parenta9dffaaf1f83b76a7567f65f62eb1a6349268b8f (diff)
more on nextcloud
-rw-r--r--Makefile2
-rw-r--r--org-buetow-base/network.tf7
-rw-r--r--org-buetow-bastion/main.tf4
-rw-r--r--org-buetow-nextcloud/lb.tf2
-rw-r--r--org-buetow-nextcloud/main.tf6
-rw-r--r--org-buetow-nextcloud/user_data.tpl28
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
@@ -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