From cd4992e41212f54c95c41c4209788b27911199df Mon Sep 17 00:00:00 2001
From: NGPixel <github@ngpixel.com>
Date: Wed, 26 Oct 2022 02:45:56 -0400
Subject: [PATCH] ci: deploy to container workflow - use shared network

---
 dev/deploy-to-container/cli.js   | 18 ++++++++++++++++--
 dev/deploy-to-container/start.sh | 30 +++++++++++++-----------------
 2 files changed, 29 insertions(+), 19 deletions(-)

diff --git a/dev/deploy-to-container/cli.js b/dev/deploy-to-container/cli.js
index 15bff7943..2c6cd7a12 100644
--- a/dev/deploy-to-container/cli.js
+++ b/dev/deploy-to-container/cli.js
@@ -94,6 +94,20 @@ async function main () {
   }
   console.info('Existing containers with same name have been terminated.')
 
+  // Get shared docker network
+  console.info('Querying shared docker network...')
+  const networks = await dock.listNetworks()
+  if (!networks.some(n => n.Name === 'shared')) {
+    console.info('No shared docker network found, creating a new one...')
+    await dock.createNetwork({
+      Name: 'shared',
+      CheckDuplicate: true
+    })
+    console.info('Created shared docker network successfully.')
+  } else {
+    console.info('Existing shared docker network found.')
+  }
+
   // Create DB container
   console.info(`Creating DB docker container... [dt-db-${branch}]`)
   const dbContainer = await dock.createContainer({
@@ -101,7 +115,7 @@ async function main () {
     name: `dt-db-${branch}`,
     Hostname: `dt-db-${branch}`,
     HostConfig: {
-      NetworkMode: 'bridge',
+      NetworkMode: 'shared',
       RestartPolicy: {
         Name: 'unless-stopped'
       }
@@ -122,7 +136,7 @@ async function main () {
       `VIRTUAL_PORT=8000`
     ],
     HostConfig: {
-      NetworkMode: 'bridge',
+      NetworkMode: 'shared',
       RestartPolicy: {
         Name: 'unless-stopped'
       }
diff --git a/dev/deploy-to-container/start.sh b/dev/deploy-to-container/start.sh
index 350f83942..37843c437 100644
--- a/dev/deploy-to-container/start.sh
+++ b/dev/deploy-to-container/start.sh
@@ -1,19 +1,15 @@
 #!/bin/bash
 
-apt-get update
-apt-get install iputils-ping -y
-ping dt-db-main
-
-# echo "Fixing permissions..."
-# chmod -R 777 ./
-# echo "Ensure all requirements.txt packages are installed..."
-# pip --disable-pip-version-check --no-cache-dir install -r requirements.txt
-# echo "Creating data directories..."
-# chmod +x ./app-create-dirs.sh
-# ./app-create-dirs.sh
-# echo "Running Datatracker checks..."
-# ./ietf/manage.py check
-# echo "Running Datatracker migrations..."
-# ./ietf/manage.py migrate
-# echo "Starting Datatracker..."
-# ./ietf/manage.py runserver 0.0.0.0:8000 --settings=settings_local
+echo "Fixing permissions..."
+chmod -R 777 ./
+echo "Ensure all requirements.txt packages are installed..."
+pip --disable-pip-version-check --no-cache-dir install -r requirements.txt
+echo "Creating data directories..."
+chmod +x ./app-create-dirs.sh
+./app-create-dirs.sh
+echo "Running Datatracker checks..."
+./ietf/manage.py check
+echo "Running Datatracker migrations..."
+./ietf/manage.py migrate
+echo "Starting Datatracker..."
+./ietf/manage.py runserver 0.0.0.0:8000 --settings=settings_local