2015-01-03 17:39:10 +00:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
# some basic vars
|
|
|
|
project_name="quasseldocker"
|
|
|
|
postgres_image="$project_name/postgres"
|
|
|
|
postgres_container="$project_name-postgres"
|
|
|
|
quassel_image="$project_name/quassel"
|
|
|
|
quassel_container="$project_name-quassel"
|
|
|
|
|
2015-01-03 18:17:10 +00:00
|
|
|
# postgres data dir
|
2015-01-03 22:36:09 +00:00
|
|
|
postgresdata="`pwd`/postgres/data"
|
|
|
|
quasselconf="`pwd`/quassel/quasselcore.conf"
|
2015-01-03 18:17:10 +00:00
|
|
|
|
2015-01-03 19:23:02 +00:00
|
|
|
# prep work
|
|
|
|
|
2015-01-03 22:36:09 +00:00
|
|
|
# build postgres image
|
|
|
|
buildpostgres="docker build -t $postgres_image postgres"
|
|
|
|
|
|
|
|
# build postgres container
|
|
|
|
buildquassel="docker build -t $quassel_image quassel"
|
|
|
|
|
2015-01-03 17:39:10 +00:00
|
|
|
# postgres docker
|
2015-01-03 22:36:09 +00:00
|
|
|
runpostgres="docker run -h $postgres_container --name $postgres_container -v $postgresdata:/var/lib/postgresql/ -d $postgres_image"
|
2015-01-03 17:39:10 +00:00
|
|
|
|
|
|
|
# quassel docker
|
2015-01-03 22:36:09 +00:00
|
|
|
runquassel="docker run -h $quassel_container --link=$postgres_container:$postgres_container -v $quasselconf:/var/lib/quassel/quasselcore.conf --name $quassel_container -d $quassel_image"
|
|
|
|
|
|
|
|
# kill all
|
|
|
|
killall="docker kill $quassel_container $postgres_container"
|
|
|
|
|
|
|
|
# remove all
|
|
|
|
rmall="docker rm -v $quassel_container $postgres_container"
|
|
|
|
|
|
|
|
# do we want to build stuff?
|
|
|
|
if [[ "$1" == "--build" ]]; then
|
|
|
|
echo "
|
|
|
|
|
|
|
|
building
|
|
|
|
|
|
|
|
will run:
|
|
|
|
- $buildpostgres
|
|
|
|
- $buildquassel
|
|
|
|
"
|
|
|
|
|
|
|
|
echo
|
|
|
|
echo "building the postgres container..."
|
|
|
|
$buildpostgres
|
|
|
|
|
|
|
|
echo
|
|
|
|
echo "building the quassel container..."
|
|
|
|
$buildquassel
|
|
|
|
|
|
|
|
echo "
|
|
|
|
|
|
|
|
all built. remember to prep the postgres environment if needed:
|
2015-01-03 23:05:30 +00:00
|
|
|
- docker run --entrypoint /bin/sh -u root -t -i -v $postgresdata:/var/lib/postgresql/ --rm $postgres_image -c /root/prep.sh
|
|
|
|
- docker run --entrypoint /bin/ss -u root -t -i -v $quasselconf:/var/lib/quassel/quasselcore.conf --name $quassel_container --rm $quassel_image -c chown quasselcore:quassel /var/lib/quassel/quasselcore.conf
|
2015-01-03 22:36:09 +00:00
|
|
|
|
|
|
|
root access to both containers:
|
|
|
|
- docker run --entrypoint /bin/sh -u root -h $postgres_container -t -i --name $postgres_container --rm $postgres_image -c /bin/bash
|
2015-01-03 23:05:30 +00:00
|
|
|
- docker run --entrypoint /bin/sh -u root -h $quassel_container --link=$postgres_container:$postgres_container -t -i -v $quasselconf:/var/lib/quassel/quasselcore.conf --name $quassel_container --rm $quassel_image -c /bin/bash
|
2015-01-03 22:36:09 +00:00
|
|
|
"
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
# do we want to clean stuff up?
|
|
|
|
if [[ "$1" == "" || "$1" == "--clean-up" ]]; then
|
|
|
|
echo "
|
|
|
|
|
|
|
|
cleaning up
|
|
|
|
|
|
|
|
will run:
|
|
|
|
- $killall
|
|
|
|
- $rmall
|
|
|
|
"
|
|
|
|
|
|
|
|
$killall
|
|
|
|
$rmall
|
|
|
|
fi
|
|
|
|
|
|
|
|
# do we want to run stuff?
|
|
|
|
if [[ "$1" == "" || "$1" == "--run" ]]; then
|
|
|
|
|
|
|
|
echo "
|
|
|
|
|
|
|
|
running the containers
|
|
|
|
|
|
|
|
will run:
|
|
|
|
- $runpostgres
|
|
|
|
- $runquassel
|
|
|
|
"
|
|
|
|
|
|
|
|
echo
|
|
|
|
echo "running the postgres container..."
|
|
|
|
$runpostgres
|
|
|
|
|
|
|
|
echo
|
|
|
|
echo "running the quassel container..."
|
|
|
|
$runquassel
|
|
|
|
|
|
|
|
echo "
|
|
|
|
|
|
|
|
all done, containers running:
|
|
|
|
- $postgres_container (`docker inspect --format '{{ .NetworkSettings.IPAddress }}' $postgres_container`)
|
|
|
|
- $quassel_container (`docker inspect --format '{{ .NetworkSettings.IPAddress }}' $quassel_container`)
|
|
|
|
"
|
|
|
|
|
|
|
|
fi
|