Blame view

deploy.sh 1.71 KB
a7065b1b3   George Vlahavas   Add deploy and de...
1
  #!/bin/sh
bb68d7fdb   George Vlahavas   Dump all containe...
2
3
4
5
6
7
8
  dump_logs() {
    CONTAINERS="suricata elasticsearch logstash kibana webserver composer_api od mltd mqtt timescaledb grafana"
    for CONTAINER in $CONTAINERS; do
      echo "*** Logs for kea_$CONTAINER ***"
      docker logs kea_$CONTAINER
    done
  }
a7065b1b3   George Vlahavas   Add deploy and de...
9
10
11
12
13
14
15
16
17
18
  # Login into the CUREX registry
  docker login https://registry.curex-project.eu:443/artifactory/curex-local/
  
  # pull all containers
  docker-compose -f docker-compose-jfrog.yml pull
  
  sleep 1
  
  # Prepare installation
  cd api
41c17fd87   George Vlahavas   Fix filename
19
  cp .env.example .env
a7065b1b3   George Vlahavas   Add deploy and de...
20
21
22
23
  docker run --rm -v $(pwd):/app \
    registry.curex-project.eu:443/curex-local/kea_composer:2.0.7 \
    install
  cd ..
3f6bad8ff   George Vlahavas   Run create_volume...
24
  sh ./create_volumes.sh
a7065b1b3   George Vlahavas   Add deploy and de...
25

1898c47f2   George Vlahavas   Loop until all al...
26
27
  # Keep the timestamp of when starting up containers
  TIME_START=`date +%s`
a7065b1b3   George Vlahavas   Add deploy and de...
28
29
  # Run containers
  docker-compose -f docker-compose-jfrog.yml up --detach
1898c47f2   George Vlahavas   Loop until all al...
30
31
  
  # loop until all containers are up
942cf4e44   George Vlahavas   Fix loop
32
  while true; do
1898c47f2   George Vlahavas   Loop until all al...
33
34
35
36
37
38
39
40
41
    # if any container other than composer has exited, bail out
    res=`docker ps -a | \
      grep "/curex-local/kea_" | \
      grep -v "kea_composer" | \
      grep "Exited" | \
      wc -l`
    if [ $res -gt 0 ]; then
      echo "ERROR: Some containers have exited."
      docker ps -a | grep "/curex-local/kea_"
bb68d7fdb   George Vlahavas   Dump all containe...
42
      dump_logs
1898c47f2   George Vlahavas   Loop until all al...
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
      exit 1
    fi
    # count containers that are up
    res=`docker ps -a | \
      grep "/curex-local/kea_" | \
      grep -v "kea_composer" | \
      grep "Up" | \
      wc -l`
    if [ $res -eq 11 ]; then
      break
    fi
    # only wait for 10 mins until everything is up. It should be more than
    # enough.
    TIME_NOW=`date +%s`
    if [ $((TIME_NOW - TIME_START)) -ge 600 ]; then
      echo "ERROR: Timeout exceeded."
bb68d7fdb   George Vlahavas   Dump all containe...
59
      dump_logs
1898c47f2   George Vlahavas   Loop until all al...
60
61
62
63
64
65
66
      exit 2
    fi
    sleep 1
  done
  
  # Wait a bit more
  sleep 10
a7065b1b3   George Vlahavas   Add deploy and de...
67
68
  
  # create and populate the database
64ac3cad4   George Vlahavas   Specify filename ...
69
  docker-compose -f docker-compose-jfrog.yml exec api php artisan migrate:fresh --seed --force
a7065b1b3   George Vlahavas   Add deploy and de...
70