Browse Source

Refactor and add offline deployment

pull/1322/head
Johann Frei 4 years ago
parent
commit
01100051cf
6 changed files with 63 additions and 6 deletions
  1. 1
      offline_deployment/offline_01_1-download_assets.sh
  2. 8
      offline_deployment/offline_01_2-extract_Docker_images.sh
  3. 22
      offline_deployment/offline_01_3-download_APT_packages copy.sh
  4. 27
      offline_deployment/offline_02_1-install_APT_packages.sh
  5. 4
      offline_deployment/offline_02_2-import_Docker_images.sh
  6. 7
      offline_deployment/offline_03_1-runDoccano.sh

offline_01_download.sh → offline_deployment/offline_01_1-download_assets.sh

@ -2,6 +2,7 @@
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
cd $DIR
cd ..
unset DIR
# FOUND LINKS:

offline_02_extract.sh → offline_deployment/offline_01_2-extract_Docker_images.sh

@ -4,11 +4,11 @@ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
cd $DIR
unset DIR
sed -i 's^dockerfile: app/Dockerfile.prod^dockerfile: app/Dockerfile.prod\n image: doccano-app:custom^g' docker-compose.prod.yml
sed -i 's^dockerfile: nginx/Dockerfile^dockerfile: nginx/Dockerfile\n image: doccano-nginx:custom^g' docker-compose.prod.yml
sed -i 's^dockerfile: app/Dockerfile.prod^dockerfile: app/Dockerfile.prod\n image: doccano-app:custom^g' ../docker-compose.prod.yml
sed -i 's^dockerfile: nginx/Dockerfile^dockerfile: nginx/Dockerfile\n image: doccano-nginx:custom^g' ../docker-compose.prod.yml
docker-compose -f docker-compose.prod.yml pull
docker-compose -f docker-compose.prod.yml build
docker-compose -f ../docker-compose.prod.yml pull
docker-compose -f ../docker-compose.prod.yml build
docker image save -o doccano-app.tar doccano-app:custom
docker image save -o doccano-nginx.tar doccano-nginx:custom

22
offline_deployment/offline_01_3-download_APT_packages copy.sh

@ -0,0 +1,22 @@
#!/usr/bin/env bash
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
cd $DIR
unset DIR
# Prepare and download packages
pdir="/offline_packages"
mkdir -p "$(pwd)${pdir}"
cd "$(pwd)${pdir}"
SELECTED_PACKAGES="wget unzip curl tar docker.io docker-compose"
apt-get download $(apt-cache depends --recurse --no-recommends --no-suggests \
--no-conflicts --no-breaks --no-replaces --no-enhances \
--no-pre-depends ${SELECTED_PACKAGES} | grep "^\w")
# Build package index
sudo apt-get install -y dpkg-dev
dpkg-scanpackages "." /dev/null | gzip -9c > Packages.gz
echo "Packages extracted to: $(pwd)${pdir}"

27
offline_deployment/offline_02_1-install_APT_packages.sh

@ -0,0 +1,27 @@
#!/usr/bin/env bash
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
cd $DIR
unset DIR
# Import APT packages
pdir="/offline_packages"
abs_pdir="$(pwd)${pdir}"
sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak
sudo sh "deb [trusted=yes] file:${abs_pdir}"
# Install APT packages
sudo apt-get update
SELECTED_PACKAGES="wget unzip curl tar docker.io docker-compose"
sudo apt-get install -y $SELECTED_PACKAGES
# Cleanup
sudo apt-get clean
sudo mv /etc/apt/sources.list.bak /etc/apt/sources.list
# Setup Docker
sudo usermod -aG docker $(whoami)
sudo systemctl enable docker.service
echo "Packages were installed. We need to reboot!"

offline_03_import.sh → offline_deployment/offline_02_2-import_Docker_images.sh

@ -4,8 +4,8 @@ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
cd $DIR
unset DIR
sed -i 's^dockerfile: app/Dockerfile.prod^dockerfile: app/Dockerfile.prod\n image: doccano-app:custom^g' docker-compose.prod.yml
sed -i 's^dockerfile: nginx/Dockerfile^dockerfile: nginx/Dockerfile\n image: doccano-nginx:custom^g' docker-compose.prod.yml
sed -i 's^dockerfile: app/Dockerfile.prod^dockerfile: app/Dockerfile.prod\n image: doccano-app:custom^g' ../docker-compose.prod.yml
sed -i 's^dockerfile: nginx/Dockerfile^dockerfile: nginx/Dockerfile\n image: doccano-nginx:custom^g' ../docker-compose.prod.yml
docker image import doccano-app.tar doccano-app:custom
docker image import doccano-nginx.tar doccano-nginx:custom

7
offline_deployment/offline_03_1-runDoccano.sh

@ -0,0 +1,7 @@
#!/usr/bin/env bash
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
cd $DIR
unset DIR
docker-compose -f ../docker-compose.prod.yml up -d
Loading…
Cancel
Save