Mercurial > sat_docs
annotate docker/libervia_cont.sh @ 92:5a0ed7f94ab8
docker (libervia_cont): added "-f" option in help message for logs
author | Goffi <goffi@goffi.org> |
---|---|
date | Wed, 24 Feb 2016 15:23:38 +0100 |
parents | 30f3f83d6959 |
children | 70f65a6b3392 |
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 |
90
64623a78af2f
docker (libervia_cont): backup dir can now be specified on command line or with SAT_CONT_BACKUP_DIR environment variable
Goffi <goffi@goffi.org>
parents:
89
diff
changeset
|
25 # SAT_CONT_BACKUP_DIR is the directory where tar.gz backup will be written |
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
|
26 |
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
|
27 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
|
28 |
86
f5067e3112ba
docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents:
28
diff
changeset
|
29 DK_DETACH="-d" |
f5067e3112ba
docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents:
28
diff
changeset
|
30 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
|
31 |
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
|
32 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
|
33 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
|
34 VOLUME_ALIAS="sat_data" |
86
f5067e3112ba
docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents:
28
diff
changeset
|
35 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
|
36 |
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 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
|
38 |
91
30f3f83d6959
docker (prosody, libervia_cont): expose HTTP upload ports in Prosody image
Goffi <goffi@goffi.org>
parents:
90
diff
changeset
|
39 PROSODY_PORTS="5222 5269 5280 5281" |
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
|
40 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
|
41 PORT_5269_NAME="XMPP server to server" |
91
30f3f83d6959
docker (prosody, libervia_cont): expose HTTP upload ports in Prosody image
Goffi <goffi@goffi.org>
parents:
90
diff
changeset
|
42 PORT_5280_NAME="HTTP Upload" |
30f3f83d6959
docker (prosody, libervia_cont): expose HTTP upload ports in Prosody image
Goffi <goffi@goffi.org>
parents:
90
diff
changeset
|
43 PORT_5281_NAME="HTTP Upload (HTTPS)" |
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
|
44 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
|
45 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
|
46 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
|
47 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
|
48 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
|
49 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
|
50 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
|
51 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
|
52 |
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
|
53 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
|
54 |
87
53a579906c32
docker(libervia_cont): added a "restore" command
Goffi <goffi@goffi.org>
parents:
86
diff
changeset
|
55 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
|
56 |
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
|
57 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
|
58 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
|
59 |
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
|
60 CONT_CERT_DIR="/usr/share/sat/certificates" |
86
f5067e3112ba
docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents:
28
diff
changeset
|
61 DEFAULT_TMP_DIR="/tmp/tmp_sat_docker" |
f5067e3112ba
docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents:
28
diff
changeset
|
62 |
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
|
63 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
|
64 # 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
|
65 |
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 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
|
67 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
|
68 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
|
69 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
|
70 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
|
71 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
|
72 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
|
73 } |
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 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
|
76 # 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
|
77 |
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 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
|
79 # 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
|
80 # 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
|
81 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
|
82 |
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 [ -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
|
84 |
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 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
|
86 # 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
|
87 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
|
88 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
|
89 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
|
90 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
|
91 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
|
92 |
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 # 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
|
94 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
|
95 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
|
96 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
|
97 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
|
98 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
|
99 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
|
100 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
|
101 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
|
102 [ -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
|
103 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
|
104 } |
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 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
|
107 # 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
|
108 |
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 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
|
110 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
|
111 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
|
112 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
|
113 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
|
114 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
|
115 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
|
116 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
|
117 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
|
118 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
|
119 } |
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
|
120 |
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
|
121 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
|
122 # 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
|
123 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
|
124 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
|
125 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
|
126 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
|
127 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
|
128 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
|
129 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
|
130 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
|
131 else |
a5e4c6c2a37d
docker: replaces tabs by spaces, download first app containers then data container + minor changes
Goffi <goffi@goffi.org>
parents:
25
diff
changeset
|
132 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
|
133 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
|
134 fi |
a5e4c6c2a37d
docker: replaces tabs by spaces, download first app containers then data container + minor changes
Goffi <goffi@goffi.org>
parents:
25
diff
changeset
|
135 fi |
a5e4c6c2a37d
docker: replaces tabs by spaces, download first app containers then data container + minor changes
Goffi <goffi@goffi.org>
parents:
25
diff
changeset
|
136 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
|
137 } |
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
|
138 |
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
|
139 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
|
140 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
|
141 if [ $? -ne 0 ]; then |
86
f5067e3112ba
docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents:
28
diff
changeset
|
142 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
|
143 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
|
144 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
|
145 } |
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
|
146 |
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
|
147 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
|
148 # 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
|
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 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
|
151 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
|
152 |
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 -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
|
154 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
|
155 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
|
156 |
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 -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
|
158 -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
|
159 -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
|
160 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
|
161 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
|
162 ;; |
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 |
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 -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
|
165 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
|
166 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
|
167 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
|
168 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
|
169 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
|
170 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
|
171 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
|
172 ;; |
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 |
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 -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
|
175 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
|
176 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
|
177 ;; |
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 *) 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
|
180 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
|
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 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
|
183 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
|
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 |
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
|
186 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
|
187 |
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 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
|
189 case $1 in |
86
f5067e3112ba
docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents:
28
diff
changeset
|
190 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
|
191 stop) CMD=STOP;; |
86
f5067e3112ba
docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents:
28
diff
changeset
|
192 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
|
193 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
|
194 backup) CMD=BACKUP;; |
87
53a579906c32
docker(libervia_cont): added a "restore" command
Goffi <goffi@goffi.org>
parents:
86
diff
changeset
|
195 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
|
196 ports) CMD=PORTS;; |
86
f5067e3112ba
docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents:
28
diff
changeset
|
197 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
|
198 -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
|
199 -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
|
200 *) 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
|
201 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
|
202 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
|
203 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
|
204 else |
86
f5067e3112ba
docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents:
28
diff
changeset
|
205 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
|
206 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
|
207 |
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
|
208 case $CMD in |
86
f5067e3112ba
docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents:
28
diff
changeset
|
209 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
|
210 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
|
211 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
|
212 |
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 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
|
214 # 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
|
215 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
|
216 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
|
217 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
|
218 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
|
219 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
|
220 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
|
221 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
|
222 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
|
223 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
|
224 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
|
225 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
|
226 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
|
227 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
|
228 # 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
|
229 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
|
230 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
|
231 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
|
232 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
|
233 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
|
234 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
|
235 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
|
236 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
|
237 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
|
238 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
|
239 ;; |
86
f5067e3112ba
docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents:
28
diff
changeset
|
240 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
|
241 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
|
242 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
|
243 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
|
244 *) 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
|
245 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
|
246 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
|
247 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
|
248 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
|
249 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
|
250 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
|
251 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
|
252 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
|
253 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
|
254 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
|
255 done |
92
5a0ed7f94ab8
docker (libervia_cont): added "-f" option in help message for logs
Goffi <goffi@goffi.org>
parents:
91
diff
changeset
|
256 printf '\nLibervia is launched and should be reachable in a couple of seconds.\nYou can check logs with "docker logs -f libervia" (or any other container name).\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
|
257 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
|
258 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
|
259 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
|
260 ;; |
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 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
|
262 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
|
263 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
|
264 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
|
265 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
|
266 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
|
267 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
|
268 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
|
269 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
|
270 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
|
271 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
|
272 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
|
273 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
|
274 ;; |
87
53a579906c32
docker(libervia_cont): added a "restore" command
Goffi <goffi@goffi.org>
parents:
86
diff
changeset
|
275 RESTART) |
53a579906c32
docker(libervia_cont): added a "restore" command
Goffi <goffi@goffi.org>
parents:
86
diff
changeset
|
276 printf "restarting containers...\n" |
53a579906c32
docker(libervia_cont): added a "restore" command
Goffi <goffi@goffi.org>
parents:
86
diff
changeset
|
277 "$0" stop && "$0" start "$@" |
53a579906c32
docker(libervia_cont): added a "restore" command
Goffi <goffi@goffi.org>
parents:
86
diff
changeset
|
278 ;; |
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
|
279 UPDATE) |
28
9ca1e7fe0f87
Docker: we update images, not containers
Goffi <goffi@goffi.org>
parents:
26
diff
changeset
|
280 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
|
281 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
|
282 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
|
283 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
|
284 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
|
285 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
|
286 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
|
287 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
|
288 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
|
289 done |
23
b10f01885949
docker: fixed libervia_cont update + added some newlines
Goffi <goffi@goffi.org>
parents:
22
diff
changeset
|
290 if [ $errors -eq 0 ]; then |
28
9ca1e7fe0f87
Docker: we update images, not containers
Goffi <goffi@goffi.org>
parents:
26
diff
changeset
|
291 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
|
292 else |
28
9ca1e7fe0f87
Docker: we update images, not containers
Goffi <goffi@goffi.org>
parents:
26
diff
changeset
|
293 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
|
294 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
|
295 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
|
296 ;; |
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
|
297 BACKUP) |
90
64623a78af2f
docker (libervia_cont): backup dir can now be specified on command line or with SAT_CONT_BACKUP_DIR environment variable
Goffi <goffi@goffi.org>
parents:
89
diff
changeset
|
298 case $# in |
64623a78af2f
docker (libervia_cont): backup dir can now be specified on command line or with SAT_CONT_BACKUP_DIR environment variable
Goffi <goffi@goffi.org>
parents:
89
diff
changeset
|
299 0) SAT_CONT_BACKUP_DIR="$(pwd)";; |
64623a78af2f
docker (libervia_cont): backup dir can now be specified on command line or with SAT_CONT_BACKUP_DIR environment variable
Goffi <goffi@goffi.org>
parents:
89
diff
changeset
|
300 1) SAT_CONT_BACKUP_DIR="$1";; |
64623a78af2f
docker (libervia_cont): backup dir can now be specified on command line or with SAT_CONT_BACKUP_DIR environment variable
Goffi <goffi@goffi.org>
parents:
89
diff
changeset
|
301 *) printf "syntaxe is $0 backup [backup_dir_absolute_path]\n[backup_dir_absolute_path] default to current working dir\n" |
64623a78af2f
docker (libervia_cont): backup dir can now be specified on command line or with SAT_CONT_BACKUP_DIR environment variable
Goffi <goffi@goffi.org>
parents:
89
diff
changeset
|
302 exit 1 |
64623a78af2f
docker (libervia_cont): backup dir can now be specified on command line or with SAT_CONT_BACKUP_DIR environment variable
Goffi <goffi@goffi.org>
parents:
89
diff
changeset
|
303 ;; |
64623a78af2f
docker (libervia_cont): backup dir can now be specified on command line or with SAT_CONT_BACKUP_DIR environment variable
Goffi <goffi@goffi.org>
parents:
89
diff
changeset
|
304 esac |
64623a78af2f
docker (libervia_cont): backup dir can now be specified on command line or with SAT_CONT_BACKUP_DIR environment variable
Goffi <goffi@goffi.org>
parents:
89
diff
changeset
|
305 SAT_CONT_BACKUP_DIR=$(echo $SAT_CONT_BACKUP_DIR | sed 's%^\/*\|\/*$%\/%g') # we want to be sure that path starts and finishes with "/" |
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
|
306 filename="sat_data_backup_$(date '+%Y-%m-%d_%H:%M:%S').tar.gz" |
90
64623a78af2f
docker (libervia_cont): backup dir can now be specified on command line or with SAT_CONT_BACKUP_DIR environment variable
Goffi <goffi@goffi.org>
parents:
89
diff
changeset
|
307 printf "backing up data container to ${SAT_CONT_BACKUP_DIR}${filename}\n\n" |
64623a78af2f
docker (libervia_cont): backup dir can now be specified on command line or with SAT_CONT_BACKUP_DIR environment variable
Goffi <goffi@goffi.org>
parents:
89
diff
changeset
|
308 docker run --rm $DK_VOLUME -v "$SAT_CONT_BACKUP_DIR:/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
|
309 if [ $? -eq 0 ]; then |
90
64623a78af2f
docker (libervia_cont): backup dir can now be specified on command line or with SAT_CONT_BACKUP_DIR environment variable
Goffi <goffi@goffi.org>
parents:
89
diff
changeset
|
310 printf "\nBackup finished and available at ${SAT_CONT_BACKUP_DIR}${filename}\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
|
311 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
|
312 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
|
313 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
|
314 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
|
315 ;; |
87
53a579906c32
docker(libervia_cont): added a "restore" command
Goffi <goffi@goffi.org>
parents:
86
diff
changeset
|
316 RESTORE) |
53a579906c32
docker(libervia_cont): added a "restore" command
Goffi <goffi@goffi.org>
parents:
86
diff
changeset
|
317 if [ $# -ne 1 ]; then |
90
64623a78af2f
docker (libervia_cont): backup dir can now be specified on command line or with SAT_CONT_BACKUP_DIR environment variable
Goffi <goffi@goffi.org>
parents:
89
diff
changeset
|
318 printf "syntaxe is $0 restore <backup_file.tar.gz>\n" |
87
53a579906c32
docker(libervia_cont): added a "restore" command
Goffi <goffi@goffi.org>
parents:
86
diff
changeset
|
319 exit 1 |
53a579906c32
docker(libervia_cont): added a "restore" command
Goffi <goffi@goffi.org>
parents:
86
diff
changeset
|
320 fi |
53a579906c32
docker(libervia_cont): added a "restore" command
Goffi <goffi@goffi.org>
parents:
86
diff
changeset
|
321 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
|
322 if [ $? -ne 0 ]; then |
53a579906c32
docker(libervia_cont): added a "restore" command
Goffi <goffi@goffi.org>
parents:
86
diff
changeset
|
323 printf "Can't create $VOLUME_ALIAS container.\n\ |
53a579906c32
docker(libervia_cont): added a "restore" command
Goffi <goffi@goffi.org>
parents:
86
diff
changeset
|
324 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
|
325 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
|
326 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
|
327 exit 1 |
53a579906c32
docker(libervia_cont): added a "restore" command
Goffi <goffi@goffi.org>
parents:
86
diff
changeset
|
328 fi |
53a579906c32
docker(libervia_cont): added a "restore" command
Goffi <goffi@goffi.org>
parents:
86
diff
changeset
|
329 |
53a579906c32
docker(libervia_cont): added a "restore" command
Goffi <goffi@goffi.org>
parents:
86
diff
changeset
|
330 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
|
331 HOST_BACKUP_DIR="$(dirname "$1")" |
53a579906c32
docker(libervia_cont): added a "restore" command
Goffi <goffi@goffi.org>
parents:
86
diff
changeset
|
332 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
|
333 # 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
|
334 HOST_BACKUP_DIR=$(pwd) |
53a579906c32
docker(libervia_cont): added a "restore" command
Goffi <goffi@goffi.org>
parents:
86
diff
changeset
|
335 fi |
53a579906c32
docker(libervia_cont): added a "restore" command
Goffi <goffi@goffi.org>
parents:
86
diff
changeset
|
336 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
|
337 if [ $? -eq 0 ]; then |
53a579906c32
docker(libervia_cont): added a "restore" command
Goffi <goffi@goffi.org>
parents:
86
diff
changeset
|
338 printf "\nRestore finished\n" |
53a579906c32
docker(libervia_cont): added a "restore" command
Goffi <goffi@goffi.org>
parents:
86
diff
changeset
|
339 else |
53a579906c32
docker(libervia_cont): added a "restore" command
Goffi <goffi@goffi.org>
parents:
86
diff
changeset
|
340 printf "\nRestore Error !\n" |
53a579906c32
docker(libervia_cont): added a "restore" command
Goffi <goffi@goffi.org>
parents:
86
diff
changeset
|
341 exit 1 |
53a579906c32
docker(libervia_cont): added a "restore" command
Goffi <goffi@goffi.org>
parents:
86
diff
changeset
|
342 fi |
53a579906c32
docker(libervia_cont): added a "restore" command
Goffi <goffi@goffi.org>
parents:
86
diff
changeset
|
343 ;; |
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
|
344 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
|
345 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
|
346 ;; |
86
f5067e3112ba
docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents:
28
diff
changeset
|
347 CONFIG) |
f5067e3112ba
docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents:
28
diff
changeset
|
348 case $# in |
f5067e3112ba
docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents:
28
diff
changeset
|
349 0) CONF="libervia";; |
f5067e3112ba
docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents:
28
diff
changeset
|
350 1) CONF="$1";; |
f5067e3112ba
docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents:
28
diff
changeset
|
351 *) CONF="";; |
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 case $CONF in |
f5067e3112ba
docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents:
28
diff
changeset
|
354 libervia) |
f5067e3112ba
docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents:
28
diff
changeset
|
355 CONT_CONF_FILE="/home/sat/.config/sat/sat.conf" |
f5067e3112ba
docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents:
28
diff
changeset
|
356 ;; |
f5067e3112ba
docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents:
28
diff
changeset
|
357 prosody) |
f5067e3112ba
docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents:
28
diff
changeset
|
358 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
|
359 ;; |
f5067e3112ba
docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents:
28
diff
changeset
|
360 *) 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
|
361 exit 1 |
f5067e3112ba
docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents:
28
diff
changeset
|
362 ;; |
f5067e3112ba
docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents:
28
diff
changeset
|
363 esac |
f5067e3112ba
docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents:
28
diff
changeset
|
364 |
f5067e3112ba
docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents:
28
diff
changeset
|
365 HOST_CONF_FILE=$(basename $CONT_CONF_FILE) |
f5067e3112ba
docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents:
28
diff
changeset
|
366 |
f5067e3112ba
docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents:
28
diff
changeset
|
367 printf "\ngetting configuration for $CONF\n" |
f5067e3112ba
docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents:
28
diff
changeset
|
368 # we copy config file to a temporary dit |
f5067e3112ba
docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents:
28
diff
changeset
|
369 # then edit with $EDITOR and put it back |
f5067e3112ba
docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents:
28
diff
changeset
|
370 |
f5067e3112ba
docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents:
28
diff
changeset
|
371 TMP_DIR=$(mktemp -d 2>/dev/null) |
f5067e3112ba
docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents:
28
diff
changeset
|
372 if [ $? -ne 0 ]; then |
f5067e3112ba
docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents:
28
diff
changeset
|
373 TMP_DIR="$DEFAULT_TMP_DIR" |
f5067e3112ba
docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents:
28
diff
changeset
|
374 mkdir -p "$TMP_DIR" |
f5067e3112ba
docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents:
28
diff
changeset
|
375 fi |
f5067e3112ba
docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents:
28
diff
changeset
|
376 |
f5067e3112ba
docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents:
28
diff
changeset
|
377 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
|
378 "$EDITOR" "$TMP_DIR/$HOST_CONF_FILE" |
f5067e3112ba
docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents:
28
diff
changeset
|
379 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
|
380 printf "updating configuration\n" |
f5067e3112ba
docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents:
28
diff
changeset
|
381 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
|
382 fi |
f5067e3112ba
docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents:
28
diff
changeset
|
383 rm -rf "$TMP_DIR" |
f5067e3112ba
docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents:
28
diff
changeset
|
384 ;; |
f5067e3112ba
docker (libervia_cont): new commands:
Goffi <goffi@goffi.org>
parents:
28
diff
changeset
|
385 |
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
|
386 *) 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
|
387 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
|
388 esac |