Last active
August 30, 2017 06:48
-
-
Save Bevilacqua/c06abc819aab867d74ba5d424a7ef756 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
set -e | |
instanceCount=`docker ps -q | wc -l`; | |
if [[ "$instanceCount" != "0" ]] | |
then | |
docker kill $(docker ps -q) | |
fi | |
if [[ "$1" == "--force" ]] | |
then | |
docker run -itdv `pwd`/db:/Serpico/db -p 443:8443 serpico | |
exit | |
fi | |
if [ -e ./db ] | |
then | |
echo "DB directory found" | |
mkdir -p db/certs | |
mkdir -p db/templates | |
mkdir -p db/attachments | |
else | |
read -p "No db folder found in present working directory. Would you like to start with a blank one? (y/n)" -n 1 -r | |
echo | |
if [[ $REPLY =~ ^[Yy]$ ]] | |
then | |
echo "Creating db directory" | |
mkdir db | |
mkdir db/templates | |
mkdir db/certs | |
mkdir db/attachments | |
else | |
echo | |
echo "Exiting..." | |
echo "Import a db folder at the pwd" | |
exit | |
fi | |
fi | |
docker images > .dockerimagelist | |
if grep -q "serpico" .dockerimagelist; then | |
echo "Docker image found" | |
else | |
echo "Pulling most recent Dockerfile from gist" | |
curl https://gist.githubusercontent.com/Bevilacqua/5754480c2af1e1d222b93c82402533f7/raw/Dockerfile > Dockerfile | |
echo "Enter Github Username:" | |
read git_username | |
echo "Enter Github Token:" | |
read git_token | |
echo "Building Image..." | |
docker build --build-arg GIT_USERNAME=$git_username --build-arg GIT_TOKEN=$git_token --no-cache -t serpico . | |
fi | |
rm .dockerimagelist | |
if [ -e certbot-auto ] | |
then | |
echo "SSL already setup..." | |
else | |
echo "Setting up SSL" | |
wget https://dl.eff.org/certbot-auto | |
chmod a+x certbot-auto | |
fi | |
clear | |
echo "Retreiving certs..." | |
sudo ./certbot-auto certonly --standalone --preferred-challenges http --debug -d reporting.hacklabs.com | |
echo "Coppying certs over..." | |
sudo /bin/cp -rL /etc/letsencrypt/live/reporting.hacklabs.com/. /home/ec2-user/db/certs --remove-destination | |
clear | |
echo "Setting up cron task..." | |
echo "15 03 * * * sudo /home/ec2-user/certbot-auto renew --pre-hook 'docker kill \$(docker ps -q)' --post-hook 'sudo /bin/cp -rL /etc/letsencrypt/live/reporting.hacklabs.com/. /home/ec2-user/db/certs --remove-destination; sudo sh /home/ec2-user/deploy_serpico.sh --force' --debug" > reload_ssl.cronecho "" >> reload_ssl.cron | |
crontab reload_ssl.cron | |
rm reload_ssl.cron | |
echo "Launching Serpico" | |
docker run -itv `pwd`/db:/Serpico/db -p 443:8443 serpico |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment