annotate docker/libervia_cont.sh @ 89:09099ce530da

docker (libervia_cont): domain can now be specified with "SAT_CONT_DOMAIN" env variable in addition to command line argument + use https for help site (wiki)
author Goffi <goffi@goffi.org>
date Fri, 19 Feb 2016 14:14:16 +0100
parents f7d275afc4f2
children 64623a78af2f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
21
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
1 #!/bin/sh
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
2
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
3 # Libervia container manager
86
f5067e3112ba docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents: 28
diff changeset
4 # Copyright (C) 2014-2016 Jérôme Poisson (goffi@goffi.org)
21
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
5
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
6 # This program is free software: you can redistribute it and/or modify
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
7 # it under the terms of the GNU Affero General Public License as published by
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
8 # the Free Software Foundation, either version 3 of the License, or
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
9 # (at your option) any later version.
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
10
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
11 # This program is distributed in the hope that it will be useful,
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
14 # GNU Affero General Public License for more details.
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
15
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
16 # You should have received a copy of the GNU Affero General Public License
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
17 # along with this program. If not, see <http://www.gnu.org/licenses/>.
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
18
86
f5067e3112ba docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents: 28
diff changeset
19 VERSION="0.3.0"
21
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
20 ACCOUNT="salutatoi"
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
21
88
f7d275afc4f2 docker (libervia_cont): TLS dir (directory with certificate) can now be specified with env variable "SAT_CONT_TLS_DIR"
Goffi <goffi@goffi.org>
parents: 87
diff changeset
22 # environment variables that can be used for configuration:
f7d275afc4f2 docker (libervia_cont): TLS dir (directory with certificate) can now be specified with env variable "SAT_CONT_TLS_DIR"
Goffi <goffi@goffi.org>
parents: 87
diff changeset
23 # SAT_CONT_TLS_DIR for TLS certificates directory
89
09099ce530da docker (libervia_cont): domain can now be specified with "SAT_CONT_DOMAIN" env variable in addition to command line argument + use https for help site (wiki)
Goffi <goffi@goffi.org>
parents: 88
diff changeset
24 # SAT_CONT_DOMAIN for the host name
88
f7d275afc4f2 docker (libervia_cont): TLS dir (directory with certificate) can now be specified with env variable "SAT_CONT_TLS_DIR"
Goffi <goffi@goffi.org>
parents: 87
diff changeset
25
21
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
26 CONTAINERS="prosody sat_pubsub salut sat libervia"
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
27
86
f5067e3112ba docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents: 28
diff changeset
28 DK_DETACH="-d"
f5067e3112ba docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents: 28
diff changeset
29 DK_TERM="-ti"
21
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
30
24
f0a59c8f3490 docker: added docker presence check + if image are not present locally on run, download them without catching the output (so we can se the progress)
Goffi <goffi@goffi.org>
parents: 23
diff changeset
31 VOLUME_NAME="data"
f0a59c8f3490 docker: added docker presence check + if image are not present locally on run, download them without catching the output (so we can se the progress)
Goffi <goffi@goffi.org>
parents: 23
diff changeset
32 VOLUME_CONT="$ACCOUNT/$VOLUME_NAME"
21
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
33 VOLUME_ALIAS="sat_data"
86
f5067e3112ba docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents: 28
diff changeset
34 DK_VOLUME="--volumes-from $VOLUME_ALIAS"
21
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
35
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
36 PUBLIC=0
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
37
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
38 PROSODY_PORTS="5222 5269"
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
39 PORT_5222_NAME="XMPP client to server"
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
40 PORT_5269_NAME="XMPP server to server"
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
41 SAT_PORTS="10143 10125 28915"
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
42 PORT_10143_NAME="IMAP server"
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
43 PORT_10125_NAME="SMTP server"
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
44 PORT_28915_NAME="XMPP file transfer"
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
45 LIBERVIA_PORTS="8080 8443"
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
46 PORT_8080_NAME="HTTP"
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
47 PORT_8443_NAME="HTTPS"
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
48 NO_PORT="No public port"
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
49
24
f0a59c8f3490 docker: added docker presence check + if image are not present locally on run, download them without catching the output (so we can se the progress)
Goffi <goffi@goffi.org>
parents: 23
diff changeset
50 DOCKER_EXE="docker"
f0a59c8f3490 docker: added docker presence check + if image are not present locally on run, download them without catching the output (so we can se the progress)
Goffi <goffi@goffi.org>
parents: 23
diff changeset
51
87
53a579906c32 docker(libervia_cont): added a "restore" command
Goffi <goffi@goffi.org>
parents: 86
diff changeset
52 USAGE="Usage: $0 [start|stop|restart|update|backup|restore|ports|config] [ARGS...]"
21
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
53
89
09099ce530da docker (libervia_cont): domain can now be specified with "SAT_CONT_DOMAIN" env variable in addition to command line argument + use https for help site (wiki)
Goffi <goffi@goffi.org>
parents: 88
diff changeset
54 HELP_SITE="https://wiki.goffi.org/wiki/Docker/en"
21
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
55 HELP_MUC="sat@chat.jabberfr.org"
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
56
88
f7d275afc4f2 docker (libervia_cont): TLS dir (directory with certificate) can now be specified with env variable "SAT_CONT_TLS_DIR"
Goffi <goffi@goffi.org>
parents: 87
diff changeset
57 CONT_CERT_DIR="/usr/share/sat/certificates"
86
f5067e3112ba docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents: 28
diff changeset
58 DEFAULT_TMP_DIR="/tmp/tmp_sat_docker"
f5067e3112ba docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents: 28
diff changeset
59
21
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
60 get_dyn_var() {
26
a5e4c6c2a37d docker: replaces tabs by spaces, download first app containers then data container + minor changes
Goffi <goffi@goffi.org>
parents: 25
diff changeset
61 # get dynamicly variable based on given name
21
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
62
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
63 name=$1
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
64 var_type=$2
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
65 name_upp=$(echo "$name" | tr '[:lower:]' '[:upper:]')
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
66 case $var_type in
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
67 ports) eval echo $(echo "\$${name_upp}_PORTS");;
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
68 port_name) eval echo $(echo "\$PORT_${name_upp}_NAME");;
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
69 esac
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
70 }
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
71
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
72 list_ports() {
26
a5e4c6c2a37d docker: replaces tabs by spaces, download first app containers then data container + minor changes
Goffi <goffi@goffi.org>
parents: 25
diff changeset
73 # list used ports in currently running containers
21
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
74
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
75 for cont in $CONTAINERS; do
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
76 # we get variable name with uppercase container name
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
77 # some magic to get the ports
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
78 ports=$(get_dyn_var $cont ports)
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
79
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
80 [ -n "$ports" ] && printf "== $cont ==\n\n"
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
81
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
82 for port in $ports; do
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
83 # some magic to get port human readable name
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
84 port_name=$(get_dyn_var $port port_name)
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
85 real_port=$(docker port $cont $port 2>&1)
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
86 if [ $? -ne 0 ]; then
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
87 real_port=$NO_PORT
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
88 fi
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
89
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
90 # we now show the ports with nice alignment
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
91 desc="port $port ($port_name):"
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
92 nb_tabs=$((5-${#desc}/8))
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
93 printf "$desc"
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
94 for i in $(seq $nb_tabs); do
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
95 printf "\t"
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
96 done
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
97 printf "$real_port\n"
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
98 done
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
99 [ -n "$ports" ] && printf '\n'
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
100 done
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
101 }
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
102
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
103 public_ports_arg() {
26
a5e4c6c2a37d docker: replaces tabs by spaces, download first app containers then data container + minor changes
Goffi <goffi@goffi.org>
parents: 25
diff changeset
104 # create Docker arg to have public ports corresponding to container ports
21
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
105
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
106 if [ $PUBLIC -ne 1 ]; then
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
107 return
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
108 fi
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
109 cont=$1
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
110 ports=$(get_dyn_var $cont ports)
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
111 ARG=""
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
112 for port in $ports; do
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
113 ARG="$ARG -p $port:$port"
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
114 done
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
115 echo $ARG
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
116 }
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
117
24
f0a59c8f3490 docker: added docker presence check + if image are not present locally on run, download them without catching the output (so we can se the progress)
Goffi <goffi@goffi.org>
parents: 23
diff changeset
118 download_missing() {
26
a5e4c6c2a37d docker: replaces tabs by spaces, download first app containers then data container + minor changes
Goffi <goffi@goffi.org>
parents: 25
diff changeset
119 # download images wich are not present locally
a5e4c6c2a37d docker: replaces tabs by spaces, download first app containers then data container + minor changes
Goffi <goffi@goffi.org>
parents: 25
diff changeset
120 for cont in $CONTAINERS $VOLUME_NAME; do
a5e4c6c2a37d docker: replaces tabs by spaces, download first app containers then data container + minor changes
Goffi <goffi@goffi.org>
parents: 25
diff changeset
121 image="$ACCOUNT/$cont"
a5e4c6c2a37d docker: replaces tabs by spaces, download first app containers then data container + minor changes
Goffi <goffi@goffi.org>
parents: 25
diff changeset
122 docker inspect $image:latest > /dev/null 2>&1
a5e4c6c2a37d docker: replaces tabs by spaces, download first app containers then data container + minor changes
Goffi <goffi@goffi.org>
parents: 25
diff changeset
123 if [ $? -ne 0 ]; then
a5e4c6c2a37d docker: replaces tabs by spaces, download first app containers then data container + minor changes
Goffi <goffi@goffi.org>
parents: 25
diff changeset
124 printf "$image is not present locally, downloading it\n"
a5e4c6c2a37d docker: replaces tabs by spaces, download first app containers then data container + minor changes
Goffi <goffi@goffi.org>
parents: 25
diff changeset
125 docker pull $image:latest
a5e4c6c2a37d docker: replaces tabs by spaces, download first app containers then data container + minor changes
Goffi <goffi@goffi.org>
parents: 25
diff changeset
126 if [ $? -eq 0 ]; then
a5e4c6c2a37d docker: replaces tabs by spaces, download first app containers then data container + minor changes
Goffi <goffi@goffi.org>
parents: 25
diff changeset
127 printf "\nDownload of latest $image finished\n\n"
a5e4c6c2a37d docker: replaces tabs by spaces, download first app containers then data container + minor changes
Goffi <goffi@goffi.org>
parents: 25
diff changeset
128 else
a5e4c6c2a37d docker: replaces tabs by spaces, download first app containers then data container + minor changes
Goffi <goffi@goffi.org>
parents: 25
diff changeset
129 printf "\nError while downloading $image, please check your connection and logs\n"
a5e4c6c2a37d docker: replaces tabs by spaces, download first app containers then data container + minor changes
Goffi <goffi@goffi.org>
parents: 25
diff changeset
130 return 1
a5e4c6c2a37d docker: replaces tabs by spaces, download first app containers then data container + minor changes
Goffi <goffi@goffi.org>
parents: 25
diff changeset
131 fi
a5e4c6c2a37d docker: replaces tabs by spaces, download first app containers then data container + minor changes
Goffi <goffi@goffi.org>
parents: 25
diff changeset
132 fi
a5e4c6c2a37d docker: replaces tabs by spaces, download first app containers then data container + minor changes
Goffi <goffi@goffi.org>
parents: 25
diff changeset
133 done
24
f0a59c8f3490 docker: added docker presence check + if image are not present locally on run, download them without catching the output (so we can se the progress)
Goffi <goffi@goffi.org>
parents: 23
diff changeset
134 }
f0a59c8f3490 docker: added docker presence check + if image are not present locally on run, download them without catching the output (so we can se the progress)
Goffi <goffi@goffi.org>
parents: 23
diff changeset
135
f0a59c8f3490 docker: added docker presence check + if image are not present locally on run, download them without catching the output (so we can se the progress)
Goffi <goffi@goffi.org>
parents: 23
diff changeset
136 check_docker() {
26
a5e4c6c2a37d docker: replaces tabs by spaces, download first app containers then data container + minor changes
Goffi <goffi@goffi.org>
parents: 25
diff changeset
137 which $DOCKER_EXE > /dev/null 2>&1
a5e4c6c2a37d docker: replaces tabs by spaces, download first app containers then data container + minor changes
Goffi <goffi@goffi.org>
parents: 25
diff changeset
138 if [ $? -ne 0 ]; then
86
f5067e3112ba docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents: 28
diff changeset
139 printf "Docker is not installed or not accessible, please install it.\nYou can check $HELP_SITE for instructions\n"
26
a5e4c6c2a37d docker: replaces tabs by spaces, download first app containers then data container + minor changes
Goffi <goffi@goffi.org>
parents: 25
diff changeset
140 return 1
a5e4c6c2a37d docker: replaces tabs by spaces, download first app containers then data container + minor changes
Goffi <goffi@goffi.org>
parents: 25
diff changeset
141 fi
24
f0a59c8f3490 docker: added docker presence check + if image are not present locally on run, download them without catching the output (so we can se the progress)
Goffi <goffi@goffi.org>
parents: 23
diff changeset
142 }
f0a59c8f3490 docker: added docker presence check + if image are not present locally on run, download them without catching the output (so we can se the progress)
Goffi <goffi@goffi.org>
parents: 23
diff changeset
143
21
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
144 parse_run_args() {
26
a5e4c6c2a37d docker: replaces tabs by spaces, download first app containers then data container + minor changes
Goffi <goffi@goffi.org>
parents: 25
diff changeset
145 # manage arguments for run command
21
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
146
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
147 while [ $# -gt 0 ]; do
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
148 case "$1" in
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
149
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
150 -h|--help)
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
151 cat << OPT_END
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
152 options available for the run command:
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
153
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
154 -h, --help display this help message
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
155 -p, --public publish using true ports
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
156 -d DOMAIN, --domain DOMAIN use DOMAIN as domain name
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
157 OPT_END
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
158 exit 0
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
159 ;;
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
160
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
161 -d|--domain)
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
162 shift
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
163 if [ $# -eq 0 ]; then
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
164 printf "no domain given, --domain must be followed by a domain\n"
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
165 exit 1
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
166 fi
89
09099ce530da docker (libervia_cont): domain can now be specified with "SAT_CONT_DOMAIN" env variable in addition to command line argument + use https for help site (wiki)
Goffi <goffi@goffi.org>
parents: 88
diff changeset
167 SAT_CONT_DOMAIN="$1"
21
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
168 shift
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
169 ;;
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
170
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
171 -p|--public)
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
172 shift
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
173 PUBLIC=1
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
174 ;;
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
175
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
176 *) printf "Invalid argument, please check \"$0 run --help\"\n"
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
177 exit 1
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
178 ;;
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
179 esac
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
180 done
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
181 }
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
182
24
f0a59c8f3490 docker: added docker presence check + if image are not present locally on run, download them without catching the output (so we can se the progress)
Goffi <goffi@goffi.org>
parents: 23
diff changeset
183 check_docker || exit 1
21
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
184
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
185 if [ $# -ge 1 ];then
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
186 case $1 in
86
f5067e3112ba docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents: 28
diff changeset
187 start) CMD=START;;
21
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
188 stop) CMD=STOP;;
86
f5067e3112ba docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents: 28
diff changeset
189 restart) CMD=RESTART;;
21
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
190 update) CMD=UPDATE;;
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
191 backup) CMD=BACKUP;;
87
53a579906c32 docker(libervia_cont): added a "restore" command
Goffi <goffi@goffi.org>
parents: 86
diff changeset
192 restore) CMD=RESTORE;;
21
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
193 ports) CMD=PORTS;;
86
f5067e3112ba docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents: 28
diff changeset
194 config) CMD=CONFIG;;
26
a5e4c6c2a37d docker: replaces tabs by spaces, download first app containers then data container + minor changes
Goffi <goffi@goffi.org>
parents: 25
diff changeset
195 -v|--version) printf "$VERSION\n"; exit 0;;
a5e4c6c2a37d docker: replaces tabs by spaces, download first app containers then data container + minor changes
Goffi <goffi@goffi.org>
parents: 25
diff changeset
196 -h|--help) printf "$USAGE\n\nYou can check $HELP_SITE for instructions, or go to $HELP_MUC XMPP MUC room for help\n"; exit 0;;
21
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
197 *) echo $USAGE
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
198 exit 1
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
199 esac
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
200 shift
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
201 else
86
f5067e3112ba docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents: 28
diff changeset
202 CMD=START
21
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
203 fi
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
204
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
205 case $CMD in
86
f5067e3112ba docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents: 28
diff changeset
206 START)
21
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
207 parse_run_args "$@"
24
f0a59c8f3490 docker: added docker presence check + if image are not present locally on run, download them without catching the output (so we can se the progress)
Goffi <goffi@goffi.org>
parents: 23
diff changeset
208 download_missing || exit 1
f0a59c8f3490 docker: added docker presence check + if image are not present locally on run, download them without catching the output (so we can se the progress)
Goffi <goffi@goffi.org>
parents: 23
diff changeset
209
21
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
210 printf "Running data container... "
89
09099ce530da docker (libervia_cont): domain can now be specified with "SAT_CONT_DOMAIN" env variable in addition to command line argument + use https for help site (wiki)
Goffi <goffi@goffi.org>
parents: 88
diff changeset
211 # we use -d even if data container doesn't stay in background to get id of the container
09099ce530da docker (libervia_cont): domain can now be specified with "SAT_CONT_DOMAIN" env variable in addition to command line argument + use https for help site (wiki)
Goffi <goffi@goffi.org>
parents: 88
diff changeset
212 docker_id=$(docker run -d --name $VOLUME_ALIAS $VOLUME_CONT 2>&1)
21
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
213 if [ $? -eq 0 ]; then
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
214 printf "OK ($docker_id)\n"
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
215 else
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
216 echo $docker_id | grep Conflict > /dev/null 2>&1
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
217 if [ $? -eq 0 ]; then
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
218 printf "A data container already exists ($VOLUME_ALIAS), use \"docker ps -a\" to see it\n"
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
219 else
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
220 printf "Error, please check data volume\nerror message: $docker_id\n"
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
221 exit 1
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
222 fi
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
223 fi
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
224 printf "\nRunning Libervia\n\n"
88
f7d275afc4f2 docker (libervia_cont): TLS dir (directory with certificate) can now be specified with env variable "SAT_CONT_TLS_DIR"
Goffi <goffi@goffi.org>
parents: 87
diff changeset
225 # we first check if we need to mount TLS directory
f7d275afc4f2 docker (libervia_cont): TLS dir (directory with certificate) can now be specified with env variable "SAT_CONT_TLS_DIR"
Goffi <goffi@goffi.org>
parents: 87
diff changeset
226 if [ -n "$SAT_CONT_TLS_DIR" ]; then
f7d275afc4f2 docker (libervia_cont): TLS dir (directory with certificate) can now be specified with env variable "SAT_CONT_TLS_DIR"
Goffi <goffi@goffi.org>
parents: 87
diff changeset
227 printf "$SAT_CONT_TLS_DIR will be used for TLS certificate\n"
f7d275afc4f2 docker (libervia_cont): TLS dir (directory with certificate) can now be specified with env variable "SAT_CONT_TLS_DIR"
Goffi <goffi@goffi.org>
parents: 87
diff changeset
228 DK_TLS="--volume=$SAT_CONT_TLS_DIR:$CONT_CERT_DIR"
f7d275afc4f2 docker (libervia_cont): TLS dir (directory with certificate) can now be specified with env variable "SAT_CONT_TLS_DIR"
Goffi <goffi@goffi.org>
parents: 87
diff changeset
229 fi
21
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
230 for CONT in $CONTAINERS; do
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
231 case $CONT in
88
f7d275afc4f2 docker (libervia_cont): TLS dir (directory with certificate) can now be specified with env variable "SAT_CONT_TLS_DIR"
Goffi <goffi@goffi.org>
parents: 87
diff changeset
232 prosody) OPTS="$DK_DETACH $DK_TERM $DK_VOLUME $DK_TLS $(public_ports_arg $CONT) --name prosody"
89
09099ce530da docker (libervia_cont): domain can now be specified with "SAT_CONT_DOMAIN" env variable in addition to command line argument + use https for help site (wiki)
Goffi <goffi@goffi.org>
parents: 88
diff changeset
233 if [ -n "$SAT_CONT_DOMAIN" ]; then
09099ce530da docker (libervia_cont): domain can now be specified with "SAT_CONT_DOMAIN" env variable in addition to command line argument + use https for help site (wiki)
Goffi <goffi@goffi.org>
parents: 88
diff changeset
234 OPTS="-e DOMAIN=$SAT_CONT_DOMAIN $OPTS"
21
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
235 fi
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
236 ;;
86
f5067e3112ba docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents: 28
diff changeset
237 sat_pubsub) OPTS="$DK_DETACH $DK_TERM $DK_VOLUME --name sat_pubsub --link=prosody:prosody";;
f5067e3112ba docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents: 28
diff changeset
238 salut) OPTS="$DK_DETACH $DK_TERM $DK_VOLUME --name salut --link=prosody:prosody";;
f5067e3112ba docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents: 28
diff changeset
239 sat) OPTS="$DK_DETACH $DK_TERM $DK_VOLUME -P $(public_ports_arg $CONT) --name sat --link=prosody:prosody";;
88
f7d275afc4f2 docker (libervia_cont): TLS dir (directory with certificate) can now be specified with env variable "SAT_CONT_TLS_DIR"
Goffi <goffi@goffi.org>
parents: 87
diff changeset
240 libervia) OPTS="$DK_DETACH $DK_TERM $DK_VOLUME --volumes-from sat $DK_TLS -P $(public_ports_arg $CONT) --name libervia --link=sat:sat";;
21
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
241 *) printf "Unkown container $CONT\n"; exit 1
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
242 esac
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
243 printf "Launching $CONT... "
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
244 docker_id=$(docker run $OPTS $ACCOUNT/$CONT 2>&1)
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
245 if [ $? -eq 0 ]; then
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
246 printf "OK ($docker_id)\n"
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
247 else
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
248 printf "Error, please check container or ask help on XMPP MUC sat@chat.jabberfr.org\nerror message: $docker_id\n"
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
249 printf "Abandon\n"
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
250 exit 1
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
251 fi
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
252 done
26
a5e4c6c2a37d docker: replaces tabs by spaces, download first app containers then data container + minor changes
Goffi <goffi@goffi.org>
parents: 25
diff changeset
253 printf '\nLibervia is launched and should be reachable in a couple of seconds.\nYou can check logs with "docker logs libervia" (or any other container name).\n'
a5e4c6c2a37d docker: replaces tabs by spaces, download first app containers then data container + minor changes
Goffi <goffi@goffi.org>
parents: 25
diff changeset
254 printf "An \"admin\" account has been created, you can check its password on $VOLUME_ALIAS container, in file /home/sat/ADMIN_PWD. Config can be tuned on this container.\n"
a5e4c6c2a37d docker: replaces tabs by spaces, download first app containers then data container + minor changes
Goffi <goffi@goffi.org>
parents: 25
diff changeset
255 printf 'Below are the ports used to connect, you can go with your browser to Libervia HTTP port.\n\n'
21
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
256 list_ports
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
257 ;;
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
258 STOP)
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
259 printf "stopping Libervia\n"
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
260 REVERSED=""
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
261 for CONT in $CONTAINERS; do
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
262 REVERSED="$CONT $REVERSED"
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
263 done;
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
264 for CONT in $REVERSED; do
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
265 printf "\nStopping container $CONT"
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
266 docker stop $CONT > /dev/null 2>&1 || printf "... Error while stopping $CONT\n"
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
267 printf "\rDeleting container $CONT"
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
268 docker rm $CONT > /dev/null 2>&1 || printf "... Error while removing $CONT\n"
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
269 done
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
270 printf "\n"
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
271 ;;
87
53a579906c32 docker(libervia_cont): added a "restore" command
Goffi <goffi@goffi.org>
parents: 86
diff changeset
272 RESTART)
53a579906c32 docker(libervia_cont): added a "restore" command
Goffi <goffi@goffi.org>
parents: 86
diff changeset
273 printf "restarting containers...\n"
53a579906c32 docker(libervia_cont): added a "restore" command
Goffi <goffi@goffi.org>
parents: 86
diff changeset
274 "$0" stop && "$0" start "$@"
53a579906c32 docker(libervia_cont): added a "restore" command
Goffi <goffi@goffi.org>
parents: 86
diff changeset
275 ;;
21
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
276 UPDATE)
28
9ca1e7fe0f87 Docker: we update images, not containers
Goffi <goffi@goffi.org>
parents: 26
diff changeset
277 printf "updating images...\n"
21
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
278 errors=0
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
279 for CONT in $CONTAINERS data; do
25
25b7452c2d5a docker: "docker pull" result is not hidden anymore in libervia_cons.sh update, so download progress can be followed
Goffi <goffi@goffi.org>
parents: 24
diff changeset
280 printf "\n*** updating $CONT ***\n"
25b7452c2d5a docker: "docker pull" result is not hidden anymore in libervia_cons.sh update, so download progress can be followed
Goffi <goffi@goffi.org>
parents: 24
diff changeset
281 docker pull $ACCOUNT/$CONT:latest
21
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
282 if [ $? -ne 0 ]; then
25
25b7452c2d5a docker: "docker pull" result is not hidden anymore in libervia_cons.sh update, so download progress can be followed
Goffi <goffi@goffi.org>
parents: 24
diff changeset
283 printf "\nError while updating $ACCOUNT/$CONT\n"
21
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
284 errors=1
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
285 fi
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
286 done
23
b10f01885949 docker: fixed libervia_cont update + added some newlines
Goffi <goffi@goffi.org>
parents: 22
diff changeset
287 if [ $errors -eq 0 ]; then
28
9ca1e7fe0f87 Docker: we update images, not containers
Goffi <goffi@goffi.org>
parents: 26
diff changeset
288 printf "\n\nImages are up-to-date\n"
21
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
289 else
28
9ca1e7fe0f87 Docker: we update images, not containers
Goffi <goffi@goffi.org>
parents: 26
diff changeset
290 printf "\n\nSome errors happened while updating images\n"
21
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
291 exit 1
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
292 fi
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
293 ;;
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
294 BACKUP)
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
295 filename="sat_data_backup_$(date '+%Y-%m-%d_%H:%M:%S').tar.gz"
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
296 printf "backing up data container to $filename\n\n"
86
f5067e3112ba docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents: 28
diff changeset
297 docker run --rm $DK_VOLUME -v "$(pwd):/backup" debian:jessie tar zcvf "/backup/$filename" -C / -h volumes
21
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
298 if [ $? -eq 0 ]; then
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
299 printf "\nBackup finished\n"
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
300 else
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
301 printf "\nBackup Error !\n"
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
302 exit 1
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
303 fi
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
304 ;;
87
53a579906c32 docker(libervia_cont): added a "restore" command
Goffi <goffi@goffi.org>
parents: 86
diff changeset
305 RESTORE)
53a579906c32 docker(libervia_cont): added a "restore" command
Goffi <goffi@goffi.org>
parents: 86
diff changeset
306 if [ $# -ne 1 ]; then
53a579906c32 docker(libervia_cont): added a "restore" command
Goffi <goffi@goffi.org>
parents: 86
diff changeset
307 printf "syntaxe is $0 restore [backup_file.tar.gz]\n"
53a579906c32 docker(libervia_cont): added a "restore" command
Goffi <goffi@goffi.org>
parents: 86
diff changeset
308 exit 1
53a579906c32 docker(libervia_cont): added a "restore" command
Goffi <goffi@goffi.org>
parents: 86
diff changeset
309 fi
53a579906c32 docker(libervia_cont): added a "restore" command
Goffi <goffi@goffi.org>
parents: 86
diff changeset
310 docker run --name $VOLUME_ALIAS $VOLUME_CONT > /dev/null 2>&1
53a579906c32 docker(libervia_cont): added a "restore" command
Goffi <goffi@goffi.org>
parents: 86
diff changeset
311 if [ $? -ne 0 ]; then
53a579906c32 docker(libervia_cont): added a "restore" command
Goffi <goffi@goffi.org>
parents: 86
diff changeset
312 printf "Can't create $VOLUME_ALIAS container.\n\
53a579906c32 docker(libervia_cont): added a "restore" command
Goffi <goffi@goffi.org>
parents: 86
diff changeset
313 If you have an existing one, please remove it with \"docker rm $VOLUME_ALIAS\" (/!\\ it will remove *ALL* your data)\n\n\
53a579906c32 docker(libervia_cont): added a "restore" command
Goffi <goffi@goffi.org>
parents: 86
diff changeset
314 Hint: you can commit your container to avoid risk with \"docker commit $VOLUME_ALIAS your_committed_image_name\"\n\
53a579906c32 docker(libervia_cont): added a "restore" command
Goffi <goffi@goffi.org>
parents: 86
diff changeset
315 you can also rename your current data container with \"docker rename $VOLUME_ALIAS new_container_name\"\n"
53a579906c32 docker(libervia_cont): added a "restore" command
Goffi <goffi@goffi.org>
parents: 86
diff changeset
316 exit 1
53a579906c32 docker(libervia_cont): added a "restore" command
Goffi <goffi@goffi.org>
parents: 86
diff changeset
317 fi
53a579906c32 docker(libervia_cont): added a "restore" command
Goffi <goffi@goffi.org>
parents: 86
diff changeset
318
53a579906c32 docker(libervia_cont): added a "restore" command
Goffi <goffi@goffi.org>
parents: 86
diff changeset
319 printf "restoring $1 to $VOLUME_ALIAS container\n\n"
53a579906c32 docker(libervia_cont): added a "restore" command
Goffi <goffi@goffi.org>
parents: 86
diff changeset
320 HOST_BACKUP_DIR="$(dirname "$1")"
53a579906c32 docker(libervia_cont): added a "restore" command
Goffi <goffi@goffi.org>
parents: 86
diff changeset
321 if [ $HOST_BACKUP_DIR = "." ]; then
88
f7d275afc4f2 docker (libervia_cont): TLS dir (directory with certificate) can now be specified with env variable "SAT_CONT_TLS_DIR"
Goffi <goffi@goffi.org>
parents: 87
diff changeset
322 # workaround for a Docker bug (container crash if "." is used)
87
53a579906c32 docker(libervia_cont): added a "restore" command
Goffi <goffi@goffi.org>
parents: 86
diff changeset
323 HOST_BACKUP_DIR=$(pwd)
53a579906c32 docker(libervia_cont): added a "restore" command
Goffi <goffi@goffi.org>
parents: 86
diff changeset
324 fi
53a579906c32 docker(libervia_cont): added a "restore" command
Goffi <goffi@goffi.org>
parents: 86
diff changeset
325 docker run --rm $DK_VOLUME -v "$HOST_BACKUP_DIR:/backup" debian:jessie tar zxvf "/backup/$1" -C / -h volumes
53a579906c32 docker(libervia_cont): added a "restore" command
Goffi <goffi@goffi.org>
parents: 86
diff changeset
326 if [ $? -eq 0 ]; then
53a579906c32 docker(libervia_cont): added a "restore" command
Goffi <goffi@goffi.org>
parents: 86
diff changeset
327 printf "\nRestore finished\n"
53a579906c32 docker(libervia_cont): added a "restore" command
Goffi <goffi@goffi.org>
parents: 86
diff changeset
328 else
53a579906c32 docker(libervia_cont): added a "restore" command
Goffi <goffi@goffi.org>
parents: 86
diff changeset
329 printf "\nRestore Error !\n"
53a579906c32 docker(libervia_cont): added a "restore" command
Goffi <goffi@goffi.org>
parents: 86
diff changeset
330 exit 1
53a579906c32 docker(libervia_cont): added a "restore" command
Goffi <goffi@goffi.org>
parents: 86
diff changeset
331 fi
53a579906c32 docker(libervia_cont): added a "restore" command
Goffi <goffi@goffi.org>
parents: 86
diff changeset
332 ;;
21
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
333 PORTS)
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
334 list_ports
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
335 ;;
86
f5067e3112ba docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents: 28
diff changeset
336 CONFIG)
f5067e3112ba docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents: 28
diff changeset
337 case $# in
f5067e3112ba docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents: 28
diff changeset
338 0) CONF="libervia";;
f5067e3112ba docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents: 28
diff changeset
339 1) CONF="$1";;
f5067e3112ba docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents: 28
diff changeset
340 *) CONF="";;
f5067e3112ba docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents: 28
diff changeset
341 esac
f5067e3112ba docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents: 28
diff changeset
342 case $CONF in
f5067e3112ba docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents: 28
diff changeset
343 libervia)
f5067e3112ba docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents: 28
diff changeset
344 CONT_CONF_FILE="/home/sat/.config/sat/sat.conf"
f5067e3112ba docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents: 28
diff changeset
345 ;;
f5067e3112ba docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents: 28
diff changeset
346 prosody)
f5067e3112ba docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents: 28
diff changeset
347 CONT_CONF_FILE="/etc/prosody/prosody_sat_cfg/prosody.cfg.lua"
f5067e3112ba docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents: 28
diff changeset
348 ;;
f5067e3112ba docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents: 28
diff changeset
349 *) printf "\nPlease enter type of configuration to edit (libervia, prosody)\n"
f5067e3112ba docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents: 28
diff changeset
350 exit 1
f5067e3112ba docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents: 28
diff changeset
351 ;;
f5067e3112ba docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents: 28
diff changeset
352 esac
f5067e3112ba docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents: 28
diff changeset
353
f5067e3112ba docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents: 28
diff changeset
354 HOST_CONF_FILE=$(basename $CONT_CONF_FILE)
f5067e3112ba docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents: 28
diff changeset
355
f5067e3112ba docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents: 28
diff changeset
356 printf "\ngetting configuration for $CONF\n"
f5067e3112ba docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents: 28
diff changeset
357 # we copy config file to a temporary dit
f5067e3112ba docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents: 28
diff changeset
358 # then edit with $EDITOR and put it back
f5067e3112ba docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents: 28
diff changeset
359
f5067e3112ba docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents: 28
diff changeset
360 TMP_DIR=$(mktemp -d 2>/dev/null)
f5067e3112ba docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents: 28
diff changeset
361 if [ $? -ne 0 ]; then
f5067e3112ba docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents: 28
diff changeset
362 TMP_DIR="$DEFAULT_TMP_DIR"
f5067e3112ba docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents: 28
diff changeset
363 mkdir -p "$TMP_DIR"
f5067e3112ba docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents: 28
diff changeset
364 fi
f5067e3112ba docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents: 28
diff changeset
365
f5067e3112ba docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents: 28
diff changeset
366 docker cp "$VOLUME_ALIAS:$CONT_CONF_FILE" "$TMP_DIR/$HOST_CONF_FILE"
f5067e3112ba docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents: 28
diff changeset
367 "$EDITOR" "$TMP_DIR/$HOST_CONF_FILE"
f5067e3112ba docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents: 28
diff changeset
368 if [ $? -eq 0 -a -s "$TMP_DIR/$HOST_CONF_FILE" ]; then
f5067e3112ba docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents: 28
diff changeset
369 printf "updating configuration\n"
f5067e3112ba docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents: 28
diff changeset
370 docker cp "$TMP_DIR/$HOST_CONF_FILE" "$VOLUME_ALIAS:$CONT_CONF_FILE"
f5067e3112ba docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents: 28
diff changeset
371 fi
f5067e3112ba docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents: 28
diff changeset
372 rm -rf "$TMP_DIR"
f5067e3112ba docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents: 28
diff changeset
373 ;;
f5067e3112ba docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents: 28
diff changeset
374
21
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
375 *) printf "Error: unknown command !"
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
376 exit 2
0e78c8a4626e Added Dockerfiles to create Docker images for easy installation + scripts to manages them. see README for details.
Goffi <goffi@goffi.org>
parents:
diff changeset
377 esac