hangar18/setup.sh

143 lines
3.4 KiB
Bash
Executable File

#!/bin/bash
#
# zestawianie całej magii
#
# konfiguracja
static_data_dir="/opt/hangar18"
if [[ "$1" != "" ]]; then
static_data_dir="$1"
fi
# katalog obecny
startdir=`pwd`
# prefix obrazów, kontenerów, ...
prefix="plug"
# budujemy nowy dom...
cd images/
for img in *; do
# informujemy
echo -ne "\n\n - buduję: $prefix/$img\n"
# budujemy
docker build -t "$prefix/$img" $img || exit 1
done
# wracamy
cd "$startdir"
#
# katalog konfiguracji, danych, i tak dalej
#
# potrzebujemy sudo
echo "By jechać dalej, potrzebujemy sudo. To ja poproszę..."
sudo echo -ne " ...mamy sudo, jedziemy dalej.\n\n\n" || exit 2
# tworzymy
sudo mkdir -p "$static_data_dir"
# run
sudo mkdir "$static_data_dir/run"
sudo mkdir "$static_data_dir/run/php-fpm"
sudo mkdir "$static_data_dir/run/openldap"
# logi
sudo mkdir "$static_data_dir/logs/"
sudo mkdir "$static_data_dir/logs/postgres"
sudo mkdir "$static_data_dir/logs/php-fpm"
sudo mkdir "$static_data_dir/logs/openldap"
sudo mkdir "$static_data_dir/logs/nginx-public"
sudo mkdir "$static_data_dir/logs/nginx-internal"
# dane
sudo mkdir "$static_data_dir/data"
sudo mkdir "$static_data_dir/data/postgres"
sudo mkdir "$static_data_dir/data/php-fpm"
sudo mkdir "$static_data_dir/data/php-fpm/frontend"
sudo mkdir "$static_data_dir/data/php-fpm/rest"
sudo mkdir "$static_data_dir/data/php-fpm/pgadmin"
sudo mkdir "$static_data_dir/data/php-fpm/ldapadmin"
# configs if needed
if [ ! -e "$static_data_dir/configs" ]; then
sudo mv static_data/configs "$static_data_dir/configs"
fi
# uprawnienia
sudo chown -R root:root "$static_data_dir"
#
# obrazy
#
# postgres
img_postgres="$prefix/postgres"
img_nginx="$prefix/nginx"
img_phpfpm="$prefix/php-fpm"
#
# kontenery
#
# postgres
cnt_postgres="$prefix-postgres"
# nginx
cnt_nginx_public="$prefix-nginx.public"
cnt_nginx_internal="$prefix-nginx.internal"
# php-fpm
cnt_phpfpm_frontend="$prefix-php-fpm.frontend"
cnt_phpfpm_rest="$prefix-php-fpm.rest"
cnt_phpfpm_pgadmin="$prefix-php-fpm.pgadmin"
cnt_phpfpm_ldapadmin="$prefix-php-fpm.ldapadmin"
#
# odpalamy kolejno dockery
#
# postgres wpierw, inne się doń łączą
#docker run -d \
# -v "$static_data_dir/data/postgres":/var/lib/postgresql/
# czas na nginxy
# - publiczny
docker run -d \
-v "$static_data_dir/configs/nginx-public/":/etc/nginx/sites-enabled:ro \
-v "$static_data_dir/logs/nginx-public/"/var/log/nginx/ \
-v "$static_data_dir/run/php-fpm/":/var/run/php-fpm/ \
--name $cnt_nginx_public \
$img_nginx
# - wewnętrzny
docker run -d \
-v "$static_data_dir/configs/nginx-internal/":/etc/nginx/sites-enabled:ro \
-v "$static_data_dir/logs/nginx-internal/"/var/log/nginx/ \
-v "$static_data_dir/run/php-fpm/":/var/run/php-fpm/ \
--name $cnt_nginx_internal \
$img_nginx
# a teraz php-fpmy!
# - frontend
docker run -d \
-v "$static_data_dir/logs/php-fpm/":/var/log/php-fpm \
-v "$static_data_dir/run/php-fpm/":/var/run/php-fpm \
--name $cnt_phpfpm_frontend \
$img_phpfpm
# - rest
docker run -d \
-v "$static_data_dir/logs/php-fpm/":/var/log/php-fpm \
-v "$static_data_dir/run/php-fpm/":/var/run/php-fpm \
--name $cnt_phpfpm_rest \
$img_phpfpm
# - pgadmin
docker run -d \
-v "$static_data_dir/logs/php-fpm/":/var/log/php-fpm \
-v "$static_data_dir/run/php-fpm/":/var/run/php-fpm \
--name $cnt_phpfpm_pgadmin \
$img_phpfpm
# - ldapadmin
#docker run -d \
# -v "$static_data_dir/logs/php-fpm/":/var/log/php-fpm \
# -v "$static_data_dir/run/php-fpm/":/var/run/php-fpm \
# --name $cnt_phpfpm_ldapadmin \
# $img_phpfpm