convert docker.sh to docker-compose and start ceod automatically
This commit is contained in:
parent
35e577b866
commit
b691b631e9
|
@ -46,7 +46,7 @@ cp .drone/nsswitch.conf /etc/nsswitch.conf
|
|||
service nslcd start
|
||||
ldapadd -c -f .drone/data.ldif -Y EXTERNAL -H ldapi:///
|
||||
if [ -z "$CI" ]; then
|
||||
ldapadd -c -f .drone/uwldap_data.ldif -Y EXTERNAL -H ldapi:///
|
||||
ldapadd -c -f .drone/uwldap_data.ldif -Y EXTERNAL -H ldapi:/// ||:
|
||||
fi
|
||||
|
||||
# KERBEROS
|
||||
|
@ -95,12 +95,10 @@ done
|
|||
|
||||
apt install -y netcat-openbsd
|
||||
# sync with phosphoric-acid
|
||||
nc -l 0.0.0.0 9000
|
||||
nc -l 0.0.0.0 9000 &
|
||||
if [ -z "$CI" ]; then
|
||||
# sync with coffee
|
||||
nc -l 0.0.0.0 9001
|
||||
nc -l 0.0.0.0 9001 &
|
||||
# sync with mail
|
||||
nc -l 0.0.0.0 9002
|
||||
nc -l 0.0.0.0 9002 &
|
||||
fi
|
||||
|
||||
sleep infinity
|
||||
|
|
|
@ -18,7 +18,7 @@ service mysql stop
|
|||
sed -E -i 's/^(bind-address[[:space:]]+= 127.0.0.1)$/#\1/' /etc/mysql/mariadb.conf.d/50-server.cnf
|
||||
service mysql start
|
||||
cat <<EOF | mysql
|
||||
CREATE USER 'mysql' IDENTIFIED BY 'mysql';
|
||||
CREATE USER IF NOT EXISTS 'mysql' IDENTIFIED BY 'mysql';
|
||||
GRANT ALL PRIVILEGES ON *.* TO 'mysql' WITH GRANT OPTION;
|
||||
EOF
|
||||
|
||||
|
@ -52,6 +52,4 @@ if [ -z "$CI" ]; then
|
|||
fi
|
||||
|
||||
# sync with phosphoric-acid
|
||||
nc -l 0.0.0.0 9000
|
||||
|
||||
sleep infinity
|
||||
nc -l 0.0.0.0 9000 &
|
||||
|
|
|
@ -18,6 +18,4 @@ apt install -y netcat-openbsd
|
|||
auth_setup mail
|
||||
|
||||
# sync with phosphoric-acid
|
||||
nc -l 0.0.0.0 9000
|
||||
|
||||
sleep infinity
|
||||
nc -l 0.0.0.0 9000 &
|
||||
|
|
|
@ -5,9 +5,9 @@ set -ex
|
|||
. .drone/common.sh
|
||||
|
||||
# set FQDN in /etc/hosts
|
||||
add_fqdn_to_hosts $(get_ip_addr $(hostname)) phosphoric-acid
|
||||
add_fqdn_to_hosts $(get_ip_addr auth1) auth1
|
||||
add_fqdn_to_hosts $(get_ip_addr coffee) coffee
|
||||
add_fqdn_to_hosts "$(get_ip_addr $(hostname))" phosphoric-acid
|
||||
add_fqdn_to_hosts "$(get_ip_addr auth1)" auth1
|
||||
add_fqdn_to_hosts "$(get_ip_addr coffee)" coffee
|
||||
# mail container doesn't run in CI
|
||||
if [ -z "$CI" ]; then
|
||||
add_fqdn_to_hosts $(get_ip_addr mail) mail
|
||||
|
@ -25,12 +25,11 @@ cp /etc/skel/* /users/skel/
|
|||
|
||||
# create directories for users
|
||||
for user in ctdalek regular1 exec1; do
|
||||
mkdir /users/$user
|
||||
mkdir -p /users/$user
|
||||
chown $user:$user /users/$user
|
||||
done
|
||||
|
||||
sync_with coffee
|
||||
if [ -z "$CI" ]; then
|
||||
sync_with mail
|
||||
sleep infinity
|
||||
fi
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
#!/bin/sh
|
||||
# A script that supervises a program. The program is restarted TIMEOUT second after it exits.
|
||||
# SIGHUP restarts the program
|
||||
# SIGTERM and SIGINT stops the program
|
||||
|
||||
TIMEOUT=1
|
||||
|
||||
running=1
|
||||
trap 'kill -TERM $! 2>/dev/null' HUP
|
||||
trap 'running=0; kill -TERM $! 2>/dev/null' TERM INT
|
||||
trap 'running=0; kill -KILL $! 2>/dev/null' EXIT
|
||||
|
||||
while [ "$running" = 1 ]; do
|
||||
"$@" &
|
||||
wait
|
||||
sleep "$TIMEOUT"
|
||||
done
|
|
@ -0,0 +1,44 @@
|
|||
version: "3.6"
|
||||
|
||||
x-common: &common
|
||||
image: python:3.7-buster
|
||||
volumes:
|
||||
- .:$PWD
|
||||
environment:
|
||||
FLASK_APP: ceod.api
|
||||
FLASK_ENV: development
|
||||
working_dir: $PWD
|
||||
entrypoint:
|
||||
- ./docker-entrypoint.sh
|
||||
|
||||
services:
|
||||
auth1:
|
||||
<<: *common
|
||||
image: debian:buster
|
||||
hostname: auth0
|
||||
command: auth1
|
||||
|
||||
coffee:
|
||||
<<: *common
|
||||
command: coffee
|
||||
hostname: coffee
|
||||
depends_on:
|
||||
- auth1
|
||||
|
||||
mail:
|
||||
<<: *common
|
||||
command: mail
|
||||
hostname: mail
|
||||
depends_on:
|
||||
- auth1
|
||||
|
||||
phosphoric-acid:
|
||||
<<: *common
|
||||
command: phosphoric-acid
|
||||
hostname: phosphoric-acid
|
||||
depends_on:
|
||||
- auth1
|
||||
- coffee
|
||||
- mail
|
||||
|
||||
# vim: expandtab sw=2 ts=2
|
|
@ -0,0 +1,10 @@
|
|||
#!/bin/sh -e
|
||||
host="$1"
|
||||
[ -x ".drone/$host-setup.sh" ] && "./.drone/$host-setup.sh"
|
||||
|
||||
if [ "$host" = auth1 ]; then
|
||||
exec sleep infinity
|
||||
else
|
||||
python3 -m pip install -r requirements.txt -r dev-requirements.txt
|
||||
exec ./.drone/supervise.sh flask run -h 0.0.0.0 -p 9987
|
||||
fi
|
41
docker.sh
41
docker.sh
|
@ -1,41 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -x
|
||||
|
||||
case $1 in
|
||||
up)
|
||||
if ! [ -d venv ]; then
|
||||
docker run --rm -v "$PWD:$PWD" -w "$PWD" python:3.7-buster \
|
||||
sh -c "python -m venv venv && . venv/bin/activate && pip install -r dev-requirements.txt && pip install -r requirements.txt"
|
||||
fi
|
||||
docker network create ceod
|
||||
for host in auth1 coffee mail phosphoric-acid; do
|
||||
if [ $host = auth1 ]; then
|
||||
image=debian:buster
|
||||
else
|
||||
image=python:3.7-buster
|
||||
fi
|
||||
docker run \
|
||||
--detach \
|
||||
--name $host \
|
||||
--hostname $host \
|
||||
--network ceod \
|
||||
--volume "$PWD:$PWD" \
|
||||
--workdir "$PWD" \
|
||||
--env FLASK_APP=ceod.api \
|
||||
--env FLASK_ENV=development \
|
||||
$image .drone/$host-setup.sh
|
||||
done
|
||||
;;
|
||||
down)
|
||||
for host in auth1 coffee mail phosphoric-acid; do
|
||||
docker kill $host
|
||||
docker rm $host
|
||||
done
|
||||
docker network rm ceod
|
||||
;;
|
||||
*)
|
||||
echo 'Usage: docker.sh <up|down>' >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
Loading…
Reference in New Issue