Skip to content

Instantly share code, notes, and snippets.

@pry0cc
Last active December 10, 2019 16:52
Show Gist options
  • Save pry0cc/9740ad7ebb50e865fb03acecc6241a4a to your computer and use it in GitHub Desktop.
Save pry0cc/9740ad7ebb50e865fb03acecc6241a4a to your computer and use it in GitHub Desktop.
Deploy
#!/bin/bash
### Usage: chmod +x easy-wordpress.sh && ./easy-wordpress.sh yourapp.yourdomain.com
NAME="wordpress"
DOMAIN="$1"
SUBDOMAIN="www"
WWW="$SUBDOMAIN.$DOMAIN"
DB="_db"
DB_NAME="$NAME$DB"
DB_PASS=$(echo "$RANDOM$RANDOM$RANDOM$(cat /etc/passwd)" | sha256sum | awk '{ print $1 }')
EMAIL="[email protected]"
# If SSL is desirable, start a nginx letsencrypt reverse proxy
docker run --detach --name nginx-proxy --restart=always --publish 80:80 --publish 443:443 --volume /etc/nginx/certs --volume /etc/nginx/vhost.d --volume /usr/share/nginx/html --volume /var/run/docker.sock:/tmp/docker.sock:ro jwilder/nginx-proxy
docker run --detach --name nginx-proxy-letsencrypt --restart=always --volumes-from nginx-proxy --volume /var/run/docker.sock:/var/run/docker.sock:ro jrcs/letsencrypt-nginx-proxy-companion
sudo docker run -d --name $DB_NAME --restart=always \
-e MYSQL_DATABASE=$NAME \
-e MYSQL_USER=$NAME \
-e MYSQL_PASSWORD=$DB_PASS \
-e MYSQL_RANDOM_ROOT_PASSWORD='1' \
mysql:5.7
sudo docker run -d --name=$NAME --restart=always \
--link $DB_NAME:$DB_NAME\
-e "VIRTUAL_HOST=$DOMAIN,$WWW" \
-e "LETSENCRYPT_HOST=$DOMAIN" \
-e "LETSENCRYPT_EMAIL=$EMAIL" \
-e WORDPRESS_DB_HOST=$DB_NAME \
-e WORDPRESS_DB_USER=$NAME \
-e WORDPRESS_DB_NAME=$NAME \
-e WORDPRESS_DB_PASSWORD=$DB_PASS \
wordpress
# sudo docker run -d --name=$NAME --restart=always \
# --link $DB_NAME:$DB_NAME\
# -p 80:80 \
# -e WORDPRESS_DB_HOST=$DB_NAME \
# -e WORDPRESS_DB_USER=$NAME \
# -e WORDPRESS_DB_NAME=$NAME \
# -e WORDPRESS_DB_PASSWORD=$DB_PASS \
# wordpress
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment