#!/bin/bash if [ "$EUID" -e 0 ]; then printf "Please run as user. I will invoke sudo when needed." exit fi pushd $(dirname "$0") if [ ! -d "home" ]; then mkdir home fi if [ ! -d "home/.ssh" ]; then mkdir home/.ssh fi ident=$(<~/.ssh/id_rsa.pub) grep -sqF -- "$ident" "home/.ssh/authorized_keys" || echo "$ident" >> "home/.ssh/authorized_keys" sudo docker-compose down echo U_ID="$(id -u)" > $(dirname "$0")/.env echo G_ID="$(id -g)" >> $(dirname "$0")/.env sudo U_ID="$(id -u)" G_ID="$(id -g)" docker-compose build sudo U_ID="$(id -u)" G_ID="$(id -g)" docker-compose up -d up_result=$(sudo docker-compose ps -q) hosts=() while read line; do hosts+=(`sudo docker inspect --format='{{ .Config.Hostname }}' $line`) #xhost +local:`sudo docker inspect --format='{{ .Config.Hostname }}' $line` done <<< "$up_result" echo "Adding to xhost:" for host in ${hosts[@]}; do echo " + $host" xhost "+local:$host" done echo "Attaching." sudo docker-compose up echo "Removing from xhost:" for host in ${hosts[@]}; do echo " - $host" xhost "-local:$host" done popd