diff --git a/README.md b/README.md index 5a27286..2f23179 100644 --- a/README.md +++ b/README.md @@ -100,13 +100,12 @@ After installing sometimes the application is not starting up properly and it ca First, make sure that all five containers are running: ``` root@testpki:/home/labca/boulder# docker-compose ps -a - Name Command State Ports ------------------------------------------------------------------------------------------------------ -boulder_bmysql_1 docker-entrypoint.sh mysql ... Up 3306/tcp -boulder_boulder_1 labca/entrypoint.sh Up 4001/tcp, 4002/tcp, 4003/tcp -boulder_control_1 ./control.sh Up 3030/tcp -boulder_labca_1 ./setup.sh Up 3000/tcp -boulder_nginx_1 /docker-entrypoint.sh ngin ... Up 0.0.0.0:443->443/tcp, 0.0.0.0:80->80/tcp +NAME COMMAND SERVICE STATUS PORTS +boulder-bmysql-1 "docker-entrypoint.s…" bmysql running 3306/tcp +boulder-boulder-1 "labca/entrypoint.sh" boulder running 4001-4003/tcp +boulder-control-1 "./control.sh" control running 3030/tcp +boulder-labca-1 "./setup.sh" labca running 3000/tcp +boulder-nginx-1 "/docker-entrypoint.…" nginx running 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp, :::80->80/tcp, :::443->443/tcp ``` Some log files to check in case of issues are: diff --git a/commander b/commander index d73e9a2..913f095 100755 --- a/commander +++ b/commander @@ -128,10 +128,10 @@ case $txt in docker-compose logs -f --no-color --tail=50 nginx ;; "log-components") - nginx=$(docker inspect $(docker ps --format "{{.Names}}" | grep _nginx_) | grep -i started | sed -e "s/[^:]*:\(.*\)/\1/" | sed -e "s/.*\"\(.*\)\".*/\1/") - svc=$(docker inspect $(docker ps --format "{{.Names}}" | grep _control_) | grep -i started | sed -e "s/[^:]*:\(.*\)/\1/" | sed -e "s/.*\"\(.*\)\".*/\1/") - boulder=$(docker inspect $(docker ps --format "{{.Names}}" | grep _boulder_) | grep -i started | sed -e "s/[^:]*:\(.*\)/\1/" | sed -e "s/.*\"\(.*\)\".*/\1/") - labca=$(docker inspect $(docker ps --format "{{.Names}}" | grep _labca_) | grep -i started | sed -e "s/[^:]*:\(.*\)/\1/" | sed -e "s/.*\"\(.*\)\".*/\1/") + nginx=$(docker inspect $(docker ps --format "{{.Names}}" | grep -- -nginx-) | grep -i started | sed -e "s/[^:]*:\(.*\)/\1/" | sed -e "s/.*\"\(.*\)\".*/\1/") + svc=$(docker inspect $(docker ps --format "{{.Names}}" | grep -- -control-) | grep -i started | sed -e "s/[^:]*:\(.*\)/\1/" | sed -e "s/.*\"\(.*\)\".*/\1/") + boulder=$(docker inspect $(docker ps --format "{{.Names}}" | grep -- -boulder-) | grep -i started | grep -v depends_on | sed -e "s/[^:]*:\(.*\)/\1/" | sed -e "s/.*\"\(.*\)\".*/\1/") + labca=$(docker inspect $(docker ps --format "{{.Names}}" | grep -- -labca-) | grep -i started | grep -v depends_on | sed -e "s/[^:]*:\(.*\)/\1/" | sed -e "s/.*\"\(.*\)\".*/\1/") echo "$nginx|$svc|$boulder|$labca" exit 0 ;; diff --git a/control.sh b/control.sh index d79d461..ded8156 100755 --- a/control.sh +++ b/control.sh @@ -27,12 +27,20 @@ install_docker() { curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable" apt install -y docker-ce +} - dockerComposeVersion="1.28.5" +# TODO: install docker-compose should be done in pre-baked image +install_docker_compose() { + dockerComposeVersion="v2.5.0" local dcver="" [ -x /usr/local/bin/docker-compose ] && dcver="`/usr/local/bin/docker-compose --version`" local vercmp=${dcver/$dockerComposeVersion/} if [ "$dcver" == "" ] || [ "$dcver" == "$vercmp" ]; then + local v1test=${dcver/version 1./} + if [ "$dcver" != "$v1test" ] && [ "$dcver" != "" ]; then + mv /usr/local/bin/docker-compose /usr/local/bin/docker-compose-v1 + fi + curl -sSL https://github.com/docker/compose/releases/download/$dockerComposeVersion/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose fi @@ -85,6 +93,7 @@ main() { get_fqdn docker ps >/dev/null || install_docker + install_docker_compose [ -e /etc/nginx/ssl/labca_cert.pem ] || selfsigned_cert renew_near_expiry diff --git a/install b/install index eb629ce..4ef4d5a 100755 --- a/install +++ b/install @@ -20,7 +20,7 @@ cloneDir="$baseDir/labca" adminDir="$baseDir/admin" boulderDir="$baseDir/boulder" boulderLabCADir="${boulderDir}_labca" -dockerComposeVersion="1.28.5" +dockerComposeVersion="v2.5.0" labcaUrl="https://github.com/hakwerk/labca/" boulderUrl="https://github.com/letsencrypt/boulder/" @@ -417,7 +417,12 @@ install_extra() { local dcver="" [ -x /usr/local/bin/docker-compose ] && dcver="`/usr/local/bin/docker-compose --version`" local vercmp=${dcver/$dockerComposeVersion/} - if [ "$dcver" == "$vercmp" ]; then + if [ "$dcver" == "" ] || [ "$dcver" == "$vercmp" ]; then + local v1test=${dcver/version 1./} + if [ "$dcver" != "$v1test" ] && [ "$dcver" != "" ]; then + mv /usr/local/bin/docker-compose /usr/local/bin/docker-compose-v1 + fi + curl -sSL https://github.com/docker/compose/releases/download/$dockerComposeVersion/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose &>>$installLog || msg_fatal "Could not download docker-compose" chmod +x /usr/local/bin/docker-compose fi @@ -583,7 +588,7 @@ config_boulder() { sudo -u labca -H patch -p1 -o "$boulderLabCADir/config/orphan-finder.json" < $cloneDir/patches/config_orphan-finder.patch &>>$installLog mkdir -p $baseDir/backup - [ -z "$(docker ps | grep boulder_bmysql_1)" ] || docker exec -i boulder_bmysql_1 mysqldump boulder_sa_integration >$baseDir/backup/dbdata-${runId}.sql + [ -z "$(docker ps | grep boulder-bmysql-1)" ] || docker exec -i boulder-bmysql-1 mysqldump boulder_sa_integration >$baseDir/backup/dbdata-${runId}.sql cd "$boulderLabCADir" sed -i -e "s/test-ca2.pem/test-ca.pem/" config/ocsp-responder.json @@ -759,9 +764,11 @@ startup() { wait_up $PS_MYSQL &>>$installLog || true wait_up $PS_LABCA &>>$installLog || true wait_up $PS_SERVICE &>>$installLog || true - docker exec -i boulder_bmysql_1 mysql_upgrade &>>$installLog + docker exec -i boulder-bmysql-1 mysql_upgrade &>>$installLog [ -f "$boulderLabCADir/setup_complete" ] && wait_up $PS_BOULDER $PS_BOULDER_COUNT &>>$installLog || /bin/true + COMPOSE_HTTP_TIMEOUT=120 docker-compose restart control &>>$installLog + msg_ok "$msg" } diff --git a/utils.sh b/utils.sh index 069074a..bacf829 100644 --- a/utils.sh +++ b/utils.sh @@ -16,13 +16,13 @@ count() { local prefix="" case $pattern in $PS_LABCA) - prefix="docker exec $(docker ps --format "{{.Names}}" | grep _labca_) " + prefix="docker exec $(docker ps --format "{{.Names}}" | grep -- -labca-) " ;; $PS_BOULDER) - prefix="docker exec $(docker ps --format "{{.Names}}" | grep _boulder_) " + prefix="docker exec $(docker ps --format "{{.Names}}" | grep -- -boulder-) " ;; $PS_MYSQL) - prefix="docker exec $(docker ps --format "{{.Names}}" | grep _bmysql_) " + prefix="docker exec $(docker ps --format "{{.Names}}" | grep -- -bmysql-) " ;; *) ;;