diff --git a/Jenkinsfile b/Jenkinsfile index af913c2e..fc249ab4 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -119,13 +119,13 @@ pipeline { always { // Dumps to analyze later sh 'mkdir -p debug/sqlite' - sh 'docker logs $(docker-compose ps --all -q fullstack) > debug/sqlite/docker_fullstack.log 2>&1' - sh 'docker logs $(docker-compose ps --all -q stepca) > debug/sqlite/docker_stepca.log 2>&1' - sh 'docker logs $(docker-compose ps --all -q pdns) > debug/sqlite/docker_pdns.log 2>&1' - sh 'docker logs $(docker-compose ps --all -q pdns-db) > debug/sqlite/docker_pdns-db.log 2>&1' - sh 'docker logs $(docker-compose ps --all -q dnsrouter) > debug/sqlite/docker_dnsrouter.log 2>&1' + sh 'docker logs $(docker compose ps --all -q fullstack) > debug/sqlite/docker_fullstack.log 2>&1' + sh 'docker logs $(docker compose ps --all -q stepca) > debug/sqlite/docker_stepca.log 2>&1' + sh 'docker logs $(docker compose ps --all -q pdns) > debug/sqlite/docker_pdns.log 2>&1' + sh 'docker logs $(docker compose ps --all -q pdns-db) > debug/sqlite/docker_pdns-db.log 2>&1' + sh 'docker logs $(docker compose ps --all -q dnsrouter) > debug/sqlite/docker_dnsrouter.log 2>&1' junit 'test/results/junit/*' - sh 'docker-compose down --remove-orphans --volumes -t 30 || true' + sh 'docker compose down --remove-orphans --volumes -t 30 || true' } unstable { dir(path: 'test/results') { @@ -152,13 +152,13 @@ pipeline { always { // Dumps to analyze later sh 'mkdir -p debug/mysql' - sh 'docker logs $(docker-compose ps --all -q fullstack) > debug/mysql/docker_fullstack.log 2>&1' - sh 'docker logs $(docker-compose ps --all -q stepca) > debug/mysql/docker_stepca.log 2>&1' - sh 'docker logs $(docker-compose ps --all -q pdns) > debug/mysql/docker_pdns.log 2>&1' - sh 'docker logs $(docker-compose ps --all -q pdns-db) > debug/mysql/docker_pdns-db.log 2>&1' - sh 'docker logs $(docker-compose ps --all -q dnsrouter) > debug/mysql/docker_dnsrouter.log 2>&1' + sh 'docker logs $(docker compose ps --all -q fullstack) > debug/mysql/docker_fullstack.log 2>&1' + sh 'docker logs $(docker compose ps --all -q stepca) > debug/mysql/docker_stepca.log 2>&1' + sh 'docker logs $(docker compose ps --all -q pdns) > debug/mysql/docker_pdns.log 2>&1' + sh 'docker logs $(docker compose ps --all -q pdns-db) > debug/mysql/docker_pdns-db.log 2>&1' + sh 'docker logs $(docker compose ps --all -q dnsrouter) > debug/mysql/docker_dnsrouter.log 2>&1' junit 'test/results/junit/*' - sh 'docker-compose down --remove-orphans --volumes -t 30 || true' + sh 'docker compose down --remove-orphans --volumes -t 30 || true' } unstable { dir(path: 'test/results') { @@ -185,18 +185,18 @@ pipeline { always { // Dumps to analyze later sh 'mkdir -p debug/postgres' - sh 'docker logs $(docker-compose ps --all -q fullstack) > debug/postgres/docker_fullstack.log 2>&1' - sh 'docker logs $(docker-compose ps --all -q stepca) > debug/postgres/docker_stepca.log 2>&1' - sh 'docker logs $(docker-compose ps --all -q pdns) > debug/postgres/docker_pdns.log 2>&1' - sh 'docker logs $(docker-compose ps --all -q pdns-db) > debug/postgres/docker_pdns-db.log 2>&1' - sh 'docker logs $(docker-compose ps --all -q dnsrouter) > debug/postgres/docker_dnsrouter.log 2>&1' - sh 'docker logs $(docker-compose ps --all -q db-postgres) > debug/postgres/docker_db-postgres.log 2>&1' - sh 'docker logs $(docker-compose ps --all -q authentik) > debug/postgres/docker_authentik.log 2>&1' - sh 'docker logs $(docker-compose ps --all -q authentik-redis) > debug/postgres/docker_authentik-redis.log 2>&1' - sh 'docker logs $(docker-compose ps --all -q authentik-ldap) > debug/postgres/docker_authentik-ldap.log 2>&1' + sh 'docker logs $(docker compose ps --all -q fullstack) > debug/postgres/docker_fullstack.log 2>&1' + sh 'docker logs $(docker compose ps --all -q stepca) > debug/postgres/docker_stepca.log 2>&1' + sh 'docker logs $(docker compose ps --all -q pdns) > debug/postgres/docker_pdns.log 2>&1' + sh 'docker logs $(docker compose ps --all -q pdns-db) > debug/postgres/docker_pdns-db.log 2>&1' + sh 'docker logs $(docker compose ps --all -q dnsrouter) > debug/postgres/docker_dnsrouter.log 2>&1' + sh 'docker logs $(docker compose ps --all -q db-postgres) > debug/postgres/docker_db-postgres.log 2>&1' + sh 'docker logs $(docker compose ps --all -q authentik) > debug/postgres/docker_authentik.log 2>&1' + sh 'docker logs $(docker compose ps --all -q authentik-redis) > debug/postgres/docker_authentik-redis.log 2>&1' + sh 'docker logs $(docke rcompose ps --all -q authentik-ldap) > debug/postgres/docker_authentik-ldap.log 2>&1' junit 'test/results/junit/*' - sh 'docker-compose down --remove-orphans --volumes -t 30 || true' + sh 'docker compose down --remove-orphans --volumes -t 30 || true' } unstable { dir(path: 'test/results') { diff --git a/README.md b/README.md index 51696ff7..f48478ed 100644 --- a/README.md +++ b/README.md @@ -74,11 +74,7 @@ This is the bare minimum configuration required. See the [documentation](https:/ 3. Bring up your stack by running ```bash -docker-compose up -d - -# If using docker-compose-plugin docker compose up -d - ``` 4. Log in to the Admin UI diff --git a/docs/src/guide/index.md b/docs/src/guide/index.md index c07b5f15..a9de63a9 100644 --- a/docs/src/guide/index.md +++ b/docs/src/guide/index.md @@ -82,9 +82,6 @@ This is the bare minimum configuration required. See the [documentation](https:/ 3. Bring up your stack by running ```bash -docker-compose up -d - -# If using docker-compose-plugin docker compose up -d ``` diff --git a/scripts/.common.sh b/scripts/.common.sh index c89dbf4f..2b59e6ed 100644 --- a/scripts/.common.sh +++ b/scripts/.common.sh @@ -21,7 +21,7 @@ get_container_ip () { local container_name=$1 local container local ip - container=$(docker-compose ps --all -q "${container_name}" | tail -n1) + container=$(docker compose ps --all -q "${container_name}" | tail -n1) ip=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' "$container") echo "$ip" } diff --git a/scripts/ci/fulltest-cypress b/scripts/ci/fulltest-cypress index c7255ffb..54fa0528 100755 --- a/scripts/ci/fulltest-cypress +++ b/scripts/ci/fulltest-cypress @@ -27,20 +27,20 @@ YELLOW='\E[1;33m' export BLUE CYAN GREEN RESET YELLOW echo -e "${BLUE}❯ ${CYAN}Starting fullstack cypress testing ...${RESET}" -echo -e "${BLUE}❯ $(docker-compose config)${RESET}" +echo -e "${BLUE}❯ $(docker compose config)${RESET}" # $1: container_name get_container_ip () { local container_name=$1 local container local ip - container=$(docker-compose ps --all -q "${container_name}" | tail -n1) + container=$(docker compose ps --all -q "${container_name}" | tail -n1) ip=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' "$container") echo "$ip" } # Bring up a stack, in steps so we can inject IPs everywhere -docker-compose up -d pdns pdns-db +docker compose up -d pdns pdns-db PDNS_IP=$(get_container_ip "pdns") echo -e "${BLUE}❯ ${YELLOW}PDNS IP is ${PDNS_IP}${RESET}" @@ -50,7 +50,7 @@ rm -rf "$LOCAL_DNSROUTER_CONFIG.tmp" # IMPORTANT: changes to dnsrouter-config.json will affect this line: jq --arg a "$PDNS_IP" '.servers[0].upstreams[1].upstream = $a' "$LOCAL_DNSROUTER_CONFIG" > "$LOCAL_DNSROUTER_CONFIG.tmp" -docker-compose up -d dnsrouter +docker compose up -d dnsrouter DNSROUTER_IP=$(get_container_ip "dnsrouter") echo -e "${BLUE}❯ ${YELLOW}DNS Router IP is ${DNSROUTER_IP}" @@ -65,26 +65,26 @@ rm -rf "${LOCAL_RESOLVE}" printf "nameserver %s\noptions ndots:0" "${DNSROUTER_IP}" > "${LOCAL_RESOLVE}" # bring up all remaining containers, except cypress! -docker-compose up -d --remove-orphans stepca squid -docker-compose pull db-mysql || true # ok to fail -docker-compose pull db-postgres || true # ok to fail -docker-compose pull authentik authentik-redis authentik-ldap || true # ok to fail -docker-compose up -d --remove-orphans --pull=never fullstack +docker compose up -d --remove-orphans stepca squid +docker compose pull db-mysql || true # ok to fail +docker compose pull db-postgres || true # ok to fail +docker compose pull authentik authentik-redis authentik-ldap || true # ok to fail +docker compose up -d --remove-orphans --pull=never fullstack # wait for main container to be healthy -bash "$DIR/../wait-healthy" "$(docker-compose ps --all -q fullstack)" 120 +bash "$DIR/../wait-healthy" "$(docker compose ps --all -q fullstack)" 120 # Run tests rm -rf "$DIR/../../test/results" -docker-compose up --build cypress +docker compose up --build cypress # Get results -docker cp -L "$(docker-compose ps --all -q cypress):/test/results" "$DIR/../../test/" -docker cp -L "$(docker-compose ps --all -q fullstack):/data/logs" "$DIR/../../test/results/" +docker cp -L "$(docker compose ps --all -q cypress):/test/results" "$DIR/../../test/" +docker cp -L "$(docker compose ps --all -q fullstack):/data/logs" "$DIR/../../test/results/" if [ "$2" = "cleanup" ]; then echo -e "${BLUE}❯ ${CYAN}Cleaning up containers ...${RESET}" - docker-compose down --remove-orphans --volumes -t 30 + docker compose down --remove-orphans --volumes -t 30 fi echo -e "${BLUE}❯ ${GREEN}Fullstack cypress testing complete${RESET}" diff --git a/scripts/cypress-dev b/scripts/cypress-dev index a0c64ad9..f3749f8d 100755 --- a/scripts/cypress-dev +++ b/scripts/cypress-dev @@ -3,11 +3,11 @@ DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" . "$DIR/.common.sh" -# Ensure docker-compose exists -if hash docker-compose 2>/dev/null; then +# Ensure docker exists +if hash docker 2>/dev/null; then cd "${DIR}/.." rm -rf "$DIR/../test/results" - docker-compose up --build cypress + docker compose up --build cypress else - echo -e "${RED}❯ docker-compose command is not available${RESET}" + echo -e "${RED}❯ docker command is not available${RESET}" fi diff --git a/scripts/destroy-dev b/scripts/destroy-dev index 1309aad4..b3ead38d 100755 --- a/scripts/destroy-dev +++ b/scripts/destroy-dev @@ -3,12 +3,11 @@ DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" . "$DIR/.common.sh" -# Ensure docker-compose exists # Make sure docker exists -if hash docker-compose 2>/dev/null; then +if hash docker 2>/dev/null; then cd "${DIR}/.." echo -e "${BLUE}❯ ${CYAN}Destroying Dev Stack ...${RESET}" - docker-compose down --remove-orphans --volumes + docker compose down --remove-orphans --volumes else - echo -e "${RED}❯ docker-compose command is not available${RESET}" + echo -e "${RED}❯ docker command is not available${RESET}" fi diff --git a/scripts/docs-build b/scripts/docs-build index 3715588c..bc166f64 100755 --- a/scripts/docs-build +++ b/scripts/docs-build @@ -3,7 +3,7 @@ DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" . "$DIR/.common.sh" -# Ensure docker-compose exists +# Ensure docker exists if hash docker 2>/dev/null; then cd "${DIR}/.." echo -e "${BLUE}❯ ${CYAN}Building Docs ...${RESET}" diff --git a/scripts/start-dev b/scripts/start-dev index b972ab80..c561ac9a 100755 --- a/scripts/start-dev +++ b/scripts/start-dev @@ -3,14 +3,14 @@ DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" . "$DIR/.common.sh" -# Ensure docker-compose exists -if hash docker-compose 2>/dev/null; then +# Ensure docker exists +if hash docker 2>/dev/null; then cd "${DIR}/.." echo -e "${BLUE}❯ ${CYAN}Starting Dev Stack ...${RESET}" - echo -e "${BLUE}❯ $(docker-compose config)${RESET}" + echo -e "${BLUE}❯ $(docker compose config)${RESET}" # Bring up a stack, in steps so we can inject IPs everywhere - docker-compose up -d pdns pdns-db + docker compose up -d pdns pdns-db PDNS_IP=$(get_container_ip "pdns") echo -e "${BLUE}❯ ${YELLOW}PDNS IP is ${PDNS_IP}${RESET}" @@ -20,7 +20,7 @@ if hash docker-compose 2>/dev/null; then # IMPORTANT: changes to dnsrouter-config.json will affect this line: jq --arg a "$PDNS_IP" '.servers[0].upstreams[1].upstream = $a' "$LOCAL_DNSROUTER_CONFIG" > "$LOCAL_DNSROUTER_CONFIG.tmp" - docker-compose up -d dnsrouter + docker compose up -d dnsrouter DNSROUTER_IP=$(get_container_ip "dnsrouter") echo -e "${BLUE}❯ ${YELLOW}DNS Router IP is ${DNSROUTER_IP}" @@ -35,14 +35,14 @@ if hash docker-compose 2>/dev/null; then printf "nameserver %s\noptions ndots:0" "${DNSROUTER_IP}" > "${LOCAL_RESOLVE}" # bring up all remaining containers, except cypress! - docker-compose up -d --remove-orphans stepca squid - docker-compose pull db db-postgres authentik-redis authentik authentik-worker authentik-ldap - docker-compose build --pull --parallel fullstack - docker-compose up -d --remove-orphans fullstack - docker-compose up -d --remove-orphans swagger + docker compose up -d --remove-orphans stepca squid + docker compose pull db db-postgres authentik-redis authentik authentik-worker authentik-ldap + docker compose build --pull --parallel fullstack + docker compose up -d --remove-orphans fullstack + docker compose up -d --remove-orphans swagger # wait for main container to be healthy - bash "$DIR/wait-healthy" "$(docker-compose ps --all -q fullstack)" 120 + bash "$DIR/wait-healthy" "$(docker compose ps --all -q fullstack)" 120 echo "" echo -e "${CYAN}Admin UI: http://127.0.0.1:3081${RESET}" @@ -58,5 +58,5 @@ if hash docker-compose 2>/dev/null; then echo " docker logs -f npm2dev.core" fi else - echo -e "${RED}❯ docker-compose command is not available${RESET}" + echo -e "${RED}❯ docker command is not available${RESET}" fi diff --git a/scripts/stop-dev b/scripts/stop-dev index 3d27551f..283b45b6 100755 --- a/scripts/stop-dev +++ b/scripts/stop-dev @@ -3,12 +3,11 @@ DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" . "$DIR/.common.sh" -# Ensure docker-compose exists # Make sure docker exists -if hash docker-compose 2>/dev/null; then +if hash docker 2>/dev/null; then cd "${DIR}/.." echo -e "${BLUE}❯ ${CYAN}Stopping Dev Stack ...${RESET}" - docker-compose down --remove-orphans + docker compose down --remove-orphans else - echo -e "${RED}❯ docker-compose command is not available${RESET}" + echo -e "${RED}❯ docker command is not available${RESET}" fi