Browse Source

Move and adapt deployment files

pull/1322/head
Johann Frei 4 years ago
parent
commit
f353170a0b
8 changed files with 15 additions and 14 deletions
  1. 3
      docs/advanced/offline_deployment.md
  2. 2
      tools/offline_deployment/offline_01_1-optional_use_https.sh
  3. 18
      tools/offline_deployment/offline_01_2-patch_and_extract_Docker_images.sh
  4. 0
      tools/offline_deployment/offline_01_3-download_APT_packages.sh
  5. 0
      tools/offline_deployment/offline_02_1-install_APT_packages.sh
  6. 4
      tools/offline_deployment/offline_02_2-import_Docker_images.sh
  7. 2
      tools/offline_deployment/offline_03_1-runDoccano.sh
  8. 0
      tools/offline_deployment/offline_patcher.py

offline_deployment/README.md → docs/advanced/offline_deployment.md

@ -6,6 +6,7 @@ These offline deployment scripts are suited for deploying Doccano on an air gapp
The preparation requires another machine (VM 1) with internet access and `docker`/`docker-compose` preinstalled (with $USER in `docker` group) and running the same Ubuntu distribution as VM 2.
The focus is primarily on the `docker-compose`-based production deployment.
The files mentioned in this document are located in the `tools/offline_deployment/` directory.
## Setup Steps
@ -21,7 +22,7 @@ Now, move over to VM 2
4. Run the scripts `offline_02_*.sh` in ascending order
Do NOT run these scripts as `sudo`! The scripts will ask for sudo-permissions when it is needed.
5. Make minor changes on `docker-compose.prod.yml` to change the admin credentials
6. Run `docker-compose -f docker-compose.prod.yml up` or use the script `offline_03_*.sh`
6. Run `docker-compose -f docker-compose.prod.yml up` in the repository root directory or use the script `offline_03_*.sh`
## Remarks

offline_deployment/offline_01_1-optional_use_https.sh → tools/offline_deployment/offline_01_1-optional_use_https.sh

@ -2,7 +2,7 @@
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
cd $DIR
cd ..
cd ../..
unset DIR
# create certificate pair

offline_deployment/offline_01_2-patch_and_extract_Docker_images.sh → tools/offline_deployment/offline_01_2-patch_and_extract_Docker_images.sh

@ -6,22 +6,22 @@ unset DIR
# WORKAROUND: Downgrade docker-compose version to match Ubuntu 18.04 default compose package
echo "Patching docker-compose to match Ubuntu 18.04 compose package"
sed -i 's|version: "3.7"|version: "3.3"|g' ../docker-compose.prod.yml
sed -i 's|version: "3.7"|version: "3.3"|g' ../../docker-compose.prod.yml
sed -i 's^dockerfile: backend/Dockerfile.prod^dockerfile: backend/Dockerfile.prod\n image: doccano-backend: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: backend/Dockerfile.prod^dockerfile: backend/Dockerfile.prod\n image: doccano-backend: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
# Modify Dockerfile for nginx to add python3 and offline patch
sed -i 's|FROM nginx|COPY offline_deployment/offline_patcher.py /patch.py\
sed -i 's|FROM nginx|COPY tools/offline_deployment/offline_patcher.py /patch.py\
RUN apk add -U --no-cache py3-requests \\\
\&\& mkdir -p /app/dist/offline \&\& python3 /patch.py /app/dist /app/dist/offline /offline\
\
FROM nginx|' ../nginx/Dockerfile
FROM nginx|' ../../nginx/Dockerfile
# Modify Dockerfile for backend to add python3 and offline patch
# TODO: Remark: Not needed due to SPA frontend
#sed -i 's|COPY ./Pipfile\* /backend/|COPY ./Pipfile\* /backend/\
#COPY offline_deployment/offline_patcher.py /patch.py\
#COPY tools/offline_deployment/offline_patcher.py /patch.py\
#RUN apt-get update \
# \&\& apt-get install -y --no-install-recommends \
# python3 python3-requests \
@ -29,10 +29,10 @@ FROM nginx|' ../nginx/Dockerfile
# \&\& rm -rf /var/lib/apt/lists/\*\
# \&\& mkdir -p /backend/server/static/offline \&\& python3 /patch.py /backend/server /server/static/offline\
#\
#|' ../backend/Dockerfile.prod
#|' ../../backend/Dockerfile.prod
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-backend.tar doccano-backend:custom
docker image save -o doccano-nginx.tar doccano-nginx:custom

offline_deployment/offline_01_3-download_APT_packages.sh → tools/offline_deployment/offline_01_3-download_APT_packages.sh

offline_deployment/offline_02_1-install_APT_packages.sh → tools/offline_deployment/offline_02_1-install_APT_packages.sh

offline_deployment/offline_02_2-import_Docker_images.sh → tools/offline_deployment/offline_02_2-import_Docker_images.sh

@ -6,8 +6,8 @@ unset DIR
# Info: Docker image name is already set in previous scripts
## Set image tag in Compose to avoid image build
#sed -i 's^dockerfile: backend/Dockerfile.prod^dockerfile: backend/Dockerfile.prod\n image: doccano-backend: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: backend/Dockerfile.prod^dockerfile: backend/Dockerfile.prod\n image: doccano-backend: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
# Load docker images
docker image load -i doccano-backend.tar

offline_deployment/offline_03_1-runDoccano.sh → tools/offline_deployment/offline_03_1-runDoccano.sh

@ -4,4 +4,4 @@ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
cd $DIR
unset DIR
docker-compose -f ../docker-compose.prod.yml up -d
docker-compose -f ../../docker-compose.prod.yml up -d

offline_deployment/offline_patcher.py → tools/offline_deployment/offline_patcher.py

Loading…
Cancel
Save