added control scripts and updated deploy
parent
fcb591c4c3
commit
f93fd521c1
|
@ -0,0 +1,30 @@
|
|||
#!/bin/bash
|
||||
ACTION=$1
|
||||
|
||||
if [ "$ACTION" = "syncdb" ]; then
|
||||
docker run -it --rm -e DB_USER=postgres -e DB_NAME=postgres --net container:snipt-net snipt/snipt python manage.py syncdb --noinput
|
||||
fi
|
||||
|
||||
if [ "$ACTION" = "migrate" ]; then
|
||||
docker run -it --rm -e DB_USER=postgres -e DB_NAME=postgres --net container:snipt-net snipt/snipt python manage.py migrate --noinput
|
||||
fi
|
||||
|
||||
if [ "$ACTION" = "collectstatic" ]; then
|
||||
docker run -it --rm -v $(pwd)/static:/app/snipt/static --net container:snipt-net snipt/snipt python manage.py collectstatic --noinput
|
||||
fi
|
||||
|
||||
if [ "$ACTION" = "deploy" ]; then
|
||||
echo "pulling latest image"
|
||||
docker pull snipt/snipt
|
||||
echo "stopping app"
|
||||
docker kill snipt-app
|
||||
docker rm snipt-app
|
||||
echo "deploying new container"
|
||||
docker run -it --name snipt-app -d -e DB_USER=postgres -e DB_NAME=postgres -e DEBUG=false --net container:snipt-net snipt/snipt
|
||||
echo "done"
|
||||
fi
|
||||
|
||||
if [ "$ACTION" = "backupdb" ]; then
|
||||
echo "backing up db"
|
||||
docker run --rm --net container:snipt-net --entrypoint pg_dump postgres:9.1 -h 127.0.0.1 -U postgres snipt
|
||||
fi
|
|
@ -7,28 +7,29 @@ fi
|
|||
for CMP in $COMPONENTS; do
|
||||
if [ "$CMP" = "postgres" -o "$CMP" = "all" ]; then
|
||||
echo "destroying postgres"
|
||||
docker kill snipt-pg
|
||||
docker rm snipt-pg
|
||||
docker kill snipt-pg > /dev/null
|
||||
docker rm snipt-pg > /dev/null
|
||||
fi
|
||||
if [ "$CMP" = "elasticsearch" -o "$CMP" = "all" ]; then
|
||||
echo "destroying elasticsearch"
|
||||
docker kill snipt-es
|
||||
docker rm snipt-es
|
||||
docker kill snipt-es > /dev/null
|
||||
docker rm snipt-es > /dev/null
|
||||
fi
|
||||
|
||||
if [ "$CMP" = "app" -o "$CMP" = "all" ]; then
|
||||
echo "destroying app"
|
||||
docker kill snipt-app
|
||||
docker rm snipt-app
|
||||
docker kill snipt-app > /dev/null
|
||||
docker rm snipt-app > /dev/null
|
||||
fi
|
||||
|
||||
if [ "$CMP" = "proxy" -o "$CMP" = "all" ]; then
|
||||
echo "destroying proxy"
|
||||
docker kill snipt-proxy
|
||||
docker rm snipt-proxy
|
||||
docker kill snipt-proxy > /dev/null
|
||||
docker rm snipt-proxy > /dev/null
|
||||
fi
|
||||
if [ "$CMP" = "all" ]; then
|
||||
docker kill snipt-net
|
||||
docker rm snipt-net
|
||||
echo "destroying shared net"
|
||||
docker kill snipt-net > /dev/null
|
||||
docker rm snipt-net > /dev/null
|
||||
fi
|
||||
done
|
||||
|
|
|
@ -17,7 +17,7 @@ http {
|
|||
'$status $body_bytes_sent "$http_referer" '
|
||||
'"$http_user_agent" "$http_x_forwarded_for"';
|
||||
|
||||
access_log /var/log/nginx/access.log main;
|
||||
access_log off;
|
||||
|
||||
sendfile on;
|
||||
#tcp_nopush on;
|
||||
|
@ -29,11 +29,69 @@ http {
|
|||
upstream backend_snipt {
|
||||
server 127.0.0.1:8000;
|
||||
}
|
||||
server {
|
||||
listen 80;
|
||||
server_name *.snipt.net;
|
||||
|
||||
if ($host ~* "^([^.]+(\.[^.]+)*)\.snipt.net$"){
|
||||
set $subd $1;
|
||||
rewrite ^(.*)$ https://$subd.snipt.net$1 permanent;
|
||||
break;
|
||||
}
|
||||
}
|
||||
server {
|
||||
listen 80;
|
||||
server_name snipt.net www.snipt.net beta.snipt.net;
|
||||
rewrite ^(.*) https://snipt.net$1 permanent;
|
||||
}
|
||||
server {
|
||||
listen 443;
|
||||
server_name www.snipt.net;
|
||||
|
||||
access_log off;
|
||||
error_log /logs/nginx.log;
|
||||
|
||||
ssl on;
|
||||
ssl_certificate /etc/certs/2013-dnsimple/snipt.net.crt;
|
||||
ssl_certificate_key /etc/certs/2013-dnsimple/snipt.net.key;
|
||||
|
||||
rewrite ^(.*) https://snipt.net$1 permanent;
|
||||
}
|
||||
server {
|
||||
listen 443;
|
||||
server_name snipt.net *.snipt.net;
|
||||
|
||||
access_log off;
|
||||
error_log /logs/nginx.log;
|
||||
|
||||
ssl on;
|
||||
ssl_certificate /etc/certs/2013-dnsimple/snipt.net.crt;
|
||||
ssl_certificate_key /etc/certs/2013-dnsimple/snipt.net.key;
|
||||
|
||||
location ~* /favicon.ico {
|
||||
root /app/snipt/static/images/;
|
||||
expires max;
|
||||
}
|
||||
|
||||
location / {
|
||||
proxy_pass http://backend_snipt;
|
||||
proxy_set_header Host $host;
|
||||
}
|
||||
|
||||
location /static/ {
|
||||
alias /app/snipt/static/;
|
||||
expires max;
|
||||
}
|
||||
|
||||
location /public/feed/ {
|
||||
rewrite ^/public/feed/$ https://snipt.net/public/?rss permanent;
|
||||
}
|
||||
}
|
||||
server {
|
||||
listen 80 default_server;
|
||||
|
||||
access_log off;
|
||||
error_log /var/log/nginx/snipt.log;
|
||||
error_log /logs/nginx.log;
|
||||
|
||||
location ~* /favicon.ico {
|
||||
root /app/snipt/static/images/;
|
||||
|
@ -52,3 +110,4 @@ http {
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -8,37 +8,39 @@ fi
|
|||
for CMP in $COMPONENTS; do
|
||||
if [ "$CMP" = "all" ]; then
|
||||
# start net container
|
||||
docker run -it -p 8000:80 --name snipt-net -d debian:jessie bash
|
||||
docker run -it -p 80:80 -p 443:443 --name snipt-net -d debian:jessie bash > /dev/null
|
||||
sleep 1
|
||||
fi
|
||||
if [ "$CMP" = "postgres" -o "$CMP" = "all" ]; then
|
||||
echo "starting postgres"
|
||||
docker run -it -d --name snipt-pg --net container:snipt-net postgres:9.1
|
||||
docker run -it -d --name snipt-pg --net container:snipt-net postgres:9.1 > /dev/null
|
||||
# wait for PG to start
|
||||
sleep 5
|
||||
# create db
|
||||
docker run -it --rm --net container:snipt-net --entrypoint createdb postgres:9.1 -h 127.0.0.1 -U postgres -E UTF8 -O postgres snipt
|
||||
fi
|
||||
|
||||
if [ "$CMP" = "elasticsearch" -o "$CMP" = "all" ]; then
|
||||
echo "starting elasticsearch"
|
||||
docker run -it -d --name snipt-es --net container:snipt-net arcus/elasticsearch
|
||||
docker run -it -d --name snipt-es --net container:snipt-net arcus/elasticsearch > /dev/null
|
||||
sleep 1
|
||||
fi
|
||||
|
||||
if [ "$CMP" = "app" -o "$CMP" = "all" ]; then
|
||||
echo "starting app"
|
||||
# migrate
|
||||
docker run -it --rm -e DB_USER=postgres -e DB_NAME=postgres --net container:snipt-net snipt/snipt python manage.py syncdb --noinput
|
||||
docker run -it --rm -e DB_USER=postgres -e DB_NAME=postgres --net container:snipt-net snipt/snipt python manage.py migrate --noinput
|
||||
docker run -it --rm -e DB_USER=postgres -e DB_NAME=snipt --net container:snipt-net snipt/snipt python manage.py syncdb --noinput
|
||||
docker run -it --rm -e DB_USER=postgres -e DB_NAME=snipt --net container:snipt-net snipt/snipt python manage.py migrate --noinput
|
||||
# collect static
|
||||
docker run -it --rm -v $(pwd)/static:/app/snipt/static --net container:snipt-net snipt/snipt python manage.py collectstatic --noinput
|
||||
# run app
|
||||
docker run -it --name snipt-app -d -e DB_USER=postgres -e DB_NAME=postgres -e DEBUG=false --net container:snipt-net snipt/snipt
|
||||
docker run -it --name snipt-app -d -e DB_USER=postgres -e DB_NAME=snipt -e DEBUG=false --net container:snipt-net snipt/snipt > /dev/null
|
||||
sleep 1
|
||||
fi
|
||||
|
||||
if [ "$CMP" = "proxy" -o "$CMP" = "all" ]; then
|
||||
echo "starting proxy"
|
||||
docker run -d --name snipt-proxy -it -v $(pwd)/.docker/nginx.conf:/etc/nginx/nginx.conf -v $(pwd)/static:/app/snipt/static --net container:snipt-net nginx nginx -g 'daemon off;' -c /etc/nginx/nginx.conf
|
||||
docker run -d --name snipt-proxy -it -v /var/log/snipt:/logs -v $(pwd)/.docker/nginx.conf:/etc/nginx/nginx.conf -v $(pwd)/static:/app/snipt/static -v /etc/certs:/etc/certs --net container:snipt-net nginx nginx -g 'daemon off;' -c /etc/nginx/nginx.conf > /dev/null
|
||||
fi
|
||||
|
||||
done
|
||||
|
|
Loading…
Reference in New Issue