Skip to content

Instantly share code, notes, and snippets.

@elserhumano
Forked from bnchdrff/gnl-from-scratch.sh
Created December 25, 2019 12:16
Show Gist options
  • Save elserhumano/a128dc9ec22f989ed243b972f00d06f5 to your computer and use it in GitHub Desktop.
Save elserhumano/a128dc9ec22f989ed243b972f00d06f5 to your computer and use it in GitHub Desktop.
Docker orchestra
# Data instances should already be there... but this is how they were made:
docker run -v /var/lib/mysql --name=gnl-db-data busybox true
docker run -v /srv/www -v /etc/nginx/sites-enabled --name=gnl-www-data busybox true
# DB instance uses gnl-db-data volume.
docker run -d --volumes-from=gnl-db-data --name=gnl-db bnchdrff/mariadb
# Backend PHP/nginx links to db instance & also offers ssh access for dirty admin tasks. gnl-www-data has files.
docker run -d -p 2222:22 --link=gnl-db:db --volumes-from=gnl-www-data --name=gnl-backend bnchdrff/nginx-php5-drupal
# Prerender.
docker run -d --name=prerender bnchdrff/prerender
# Frontend links to prerender service.
docker run -d --name=gnl-frontend -e PRERENDER_SERVICE_URL=http://`docker inspect --format='{{.NetworkSettings.IPAddress}}' prerender`:3000 detroitledger/gnl-frontend:`cd ../detroitledger.git; git log --pretty=format:'%h' -n 1`
# "Grand ambassadors" ensure that links are still good after container restarts / destroys.
# See https://github.com/cpuguy83/docker-grand-ambassador
docker run -d -v /var/run/docker.sock:/var/run/docker.sock --name=gnl-backend-ambassador cpuguy83/docker-grand-ambassador -name gnl-backend
docker run -d -v /var/run/docker.sock:/var/run/docker.sock --name=gnl-frontend-ambassador cpuguy83/docker-grand-ambassador -name gnl-frontend
# Nginx reverse proxy links to frontend & backend ambassadors.
docker run -p 80:80 -p 443:443 -d --link gnl-frontend-ambassador:frontend --link gnl-backend-ambassador:backend --name=gnl-nginx-ambassadorized bnchdrff/gnl-nginx-ambassadorized
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment