-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathuser-data.sh
53 lines (42 loc) · 1.89 KB
/
user-data.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#!/bin/bash
yum update -yq
yum install -yq docker
systemctl start docker.service
systemctl enable docker.service
sh -c "curl -L https://github.com/docker/compose/releases/download/v2.17.3/docker-compose-$(uname -s)-$(uname -m) > /usr/local/bin/docker-compose"
chmod +x /usr/local/bin/docker-compose
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
WP_EFS_URL=$(aws ssm get-parameter --name /wp/efs-url --with-decryption --region=us-east-1 --query "Parameter.Value" --output=text)
WORDPRESS_DB_HOST=$(aws ssm get-parameter --name /wp/db-host --with-decryption --region=us-east-1 --query "Parameter.Value" --output=text)
export WORDPRESS_DB_HOST
WORDPRESS_DB_NAME=$(aws ssm get-parameter --name /wp/db-name --with-decryption --region=us-east-1 --query "Parameter.Value" --output=text)
export WORDPRESS_DB_NAME
WORDPRESS_DB_USER=$(aws ssm get-parameter --name /wp/db-user --with-decryption --region=us-east-1 --query "Parameter.Value" --output=text)
export WORDPRESS_DB_USER
WORDPRESS_DB_PASSWORD=$(aws ssm get-parameter --name /wp/db-password --with-decryption --region=us-east-1 --query "Parameter.Value" --output=text)
export WORDPRESS_DB_PASSWORD
mkdir -p /media/efs/
printf "\n%s:/\t/media/efs/\tnfs4\tnfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport\t0\t0" "$WP_EFS_URL" >> /etc/fstab
mount -a
mkdir -p /media/efs/wordpress
sudo mkdir /opt/wordpress
chown ec2-user. /opt/wordpress/
cd /opt/wordpress/ || exit
envsubst > docker-compose.yml <<EOF
version: '3.1'
services:
wordpress:
image: wordpress:6.2.0-apache
restart: always
ports:
- 8080:80
environment:
WORDPRESS_DB_HOST: "\$WORDPRESS_DB_HOST"
WORDPRESS_DB_USER: "\$WORDPRESS_DB_USER"
WORDPRESS_DB_PASSWORD: "\$WORDPRESS_DB_PASSWORD"
WORDPRESS_DB_NAME: "\$WORDPRESS_DB_NAME"
volumes:
- /media/efs/wordpress:/var/www/html
EOF
chmod 550 docker-compose.yml
docker-compose up -d