/ docker / start-dev.sh
start-dev.sh
 1  #!/bin/bash
 2  set -eu
 3  
 4  cleanup() {
 5      docker compose -f docker-compose.yml -f docker-compose.dev.yml rm -fsv
 6  }
 7  trap cleanup EXIT
 8  
 9  touch .env
10  
11  ARCH=$(uname -m)
12  case "$ARCH" in
13    x86_64 | amd64)
14      ARCH="amd64"
15      ;;
16    aarch64 | arm64 | armv8*)
17      ARCH="arm64"
18      ;;
19    *)
20      echo "Unsupported architecture: $ARCH"
21      exit 1
22      ;;
23  esac
24  export ARCH
25  
26  if [[ "$OSTYPE" == "darwin"* ]]; then
27    export HOST_HOSTNAME="host.docker.internal"
28  else
29    export HOST_HOSTNAME="172.17.0.1"
30  fi
31  
32  export LOCAL_UID=$(id -u)
33  export LOCAL_GID=$(id -g)
34  
35  # source .env file, preventing an error related to multiline values e.g. RSA keys
36  set -a
37  source .env
38  set +a
39  
40  # Auto-enable 'wave' profile if image is accessible and profiles aren't manually set
41  # Check for Wave service access
42  source ./docker/detect-wave.sh
43  
44  docker compose -f docker-compose.yml -f docker-compose.dev.yml build && docker compose -f docker-compose.yml -f docker-compose.dev.yml up --renew-anon-volumes --attach app