Vault on Docker

#!/bin/bash
# Purpose: Vault Quick Setup
# OS Ubuntu
echo " This script is for Vault setup on docker container"
echo ""
echo "lets start the process"
sleep 3
# Docker installation
if docker --version > /dev/null
then
        echo "Docker is already installed"
else
sudo apt-get update
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo \
  "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce
sudo systemctl start docker
sudo systemctl enable docker
fi
# Docker Compose Installation
if sudo docker-compose --version > /dev/null
then
        echo " Docker compose is already installed "
else
curl -L "https://github.com/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
docker-compose --version
fi
#Vault Setup
mkdir -p "${PWD}"/vault/{config,file,logs}
touch    "${PWD}"/vault/docker-compose.yml

echo "{
\"listener\": [{
\"tcp\": {
\"address\" : \"0.0.0.0:8200\",
\"tls_disable\" : 1
}
}],
\"api_addr\": \"https://"$IP":8200\",
\"storage\": {
        \"file\": {
        \"path\" : \"/opt/vault-data\"
        }
},
\"max_lease_ttl\": \"10h\",
\"default_lease_ttl\": \"10h\",
\"ui\":true
}" > ${PWD}/vault/config/vault.json

cat << EOF > "${PWD}"/vault/docker-compose.yml
version: '3.7'
services:
  vault:
    image: vault:latest
    container_name: vault
    ports:
      - "8200:8200"
    restart: unless-stopped
    volumes:
      -  ./logs:/vault/logs
      -  ./file:/vault/file
      -  ./config:/vault/config
    cap_add:
      - IPC_LOCK
    entrypoint: vault server -config=/vault/config/vault.json
EOF
cd "${PWD}"/vault
docker-compose up -d
docker ps