if [ -z "$command" -o -z "$config" -a "$command" != "cleanup" ]; then
usage
- exit 1
fi
# Docker doesn't like uppercase characters, spaces or special characters, catch it now before we build everything out and then find out
config_file=containers/"$config".yml
cidbootstrap=cids/"$config"_bootstrap.cid
local_discourse=local_discourse
-image="discourse/base:2.0.20200512-1735"
+image="discourse/base:2.0.20201221-2020"
docker_path=`which docker.io 2> /dev/null || which docker`
git_path=`which git`
# 2. running an approved storage driver?
if ! $docker_path info 2> /dev/null | egrep -q 'Storage Driver: (aufs|zfs|overlay2)$'; then
echo "Your Docker installation is not using a supported storage driver. If we were to proceed you may have a broken install."
- echo "aufs is the recommended storage driver, although zfs and overlay2 may work as well."
+ echo "overlay2 is the recommended storage driver, although zfs and aufs may work as well."
echo "Other storage drivers are known to be problematic."
echo "You can tell what filesystem you are using by running \"docker info\" and looking at the 'Storage Driver' line."
echo
df -h $safe_folder
echo
if tty >/dev/null; then
- read -p "Would you like to attempt to recover space by cleaning docker images and containers in the system?(y/N)" -n 1 -r
+ read -p "Would you like to attempt to recover space by cleaning docker images and containers in the system? (y/N)" -n 1 -r
echo
if [[ $REPLY =~ ^[Yy]$ ]]
then
check_prereqs
fi
-host_run() {
- read -r -d '' env_ruby << 'RUBY'
- require 'yaml'
-
- input = STDIN.readlines.join
- yaml = YAML.load(input)
-
- if host_run = yaml['host_run']
- params = yaml['params'] || {}
- host_run.each do |run|
- params.each do |k,v|
- run = run.gsub("$#{k}", v)
- end
- STDOUT.write "#{run}--SEP--"
- end
- end
-RUBY
-
- host_run=`cat $config_file | $docker_path run $user_args --rm -i -a stdout -a stdin $image ruby -e "$env_ruby"`
-
- while [ "$host_run" ] ; do
- iter=${host_run%%--SEP--*}
- echo
- echo "Host run: $iter"
- $iter || exit 1
- echo
- host_run="${host_run#*--SEP--}"
- done
-}
-
-
set_volumes() {
volumes=`cat $config_file | $docker_path run $user_args --rm -i -a stdout -a stdin $image ruby -e \
"require 'yaml'; puts YAML.load(STDIN.readlines.join)['volumes'].map{|v| '-v ' << v['volume']['host'] << ':' << v['volume']['guest'] << ' '}.join"`
p e
end
end
+ env.each{|k,v| puts "*ERROR." if v.is_a?(Hash)}
puts env.map{|k,v| "-e\n#{k}=#{v}" }.join("\n")
RUBY
if [ -d /var/discourse/shared/standalone/postgres_data_old ]; then
echo
echo "Old PostgreSQL backup data cluster detected taking up $(du -hs /var/discourse/shared/standalone/postgres_data_old | awk '{print $1}') detected"
- read -p "Would you like to remove it? (Y/n): " -n 1 -r && echo
+ read -p "Would you like to remove it? (y/N): " -n 1 -r && echo
if [[ $REPLY =~ ^[Yy]$ ]]; then
echo "removing old PostgreSQL data cluster at /var/discourse/shared/standalone/postgres_data_old..."
then
(
set -x
- $docker_path stop -t 10 $config
+ $docker_path stop -t 30 $config
)
else
echo "$config was not started !"
fi
fi
- host_run
-
set_template_info
set_volumes
set_links
}
run_bootstrap() {
- host_run
-
# Is the image available?
# If not, pull it here so the user is aware what's happening.
$docker_path history $image >/dev/null 2>&1 || pull_image