diff --git a/offline_deployment/README.md b/docs/advanced/offline_deployment.md similarity index 81% rename from offline_deployment/README.md rename to docs/advanced/offline_deployment.md index b1168575..906161e2 100644 --- a/offline_deployment/README.md +++ b/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 diff --git a/offline_deployment/offline_01_1-optional_use_https.sh b/tools/offline_deployment/offline_01_1-optional_use_https.sh similarity index 99% rename from offline_deployment/offline_01_1-optional_use_https.sh rename to tools/offline_deployment/offline_01_1-optional_use_https.sh index 990ec3fc..468b0edf 100755 --- a/offline_deployment/offline_01_1-optional_use_https.sh +++ b/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 diff --git a/offline_deployment/offline_01_2-patch_and_extract_Docker_images.sh b/tools/offline_deployment/offline_01_2-patch_and_extract_Docker_images.sh similarity index 69% rename from offline_deployment/offline_01_2-patch_and_extract_Docker_images.sh rename to tools/offline_deployment/offline_01_2-patch_and_extract_Docker_images.sh index ce2f127f..1024af24 100755 --- a/offline_deployment/offline_01_2-patch_and_extract_Docker_images.sh +++ b/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 diff --git a/offline_deployment/offline_01_3-download_APT_packages.sh b/tools/offline_deployment/offline_01_3-download_APT_packages.sh similarity index 100% rename from offline_deployment/offline_01_3-download_APT_packages.sh rename to tools/offline_deployment/offline_01_3-download_APT_packages.sh diff --git a/offline_deployment/offline_02_1-install_APT_packages.sh b/tools/offline_deployment/offline_02_1-install_APT_packages.sh similarity index 100% rename from offline_deployment/offline_02_1-install_APT_packages.sh rename to tools/offline_deployment/offline_02_1-install_APT_packages.sh diff --git a/offline_deployment/offline_02_2-import_Docker_images.sh b/tools/offline_deployment/offline_02_2-import_Docker_images.sh similarity index 74% rename from offline_deployment/offline_02_2-import_Docker_images.sh rename to tools/offline_deployment/offline_02_2-import_Docker_images.sh index a124ec9d..e2509e7f 100755 --- a/offline_deployment/offline_02_2-import_Docker_images.sh +++ b/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 diff --git a/offline_deployment/offline_03_1-runDoccano.sh b/tools/offline_deployment/offline_03_1-runDoccano.sh similarity index 64% rename from offline_deployment/offline_03_1-runDoccano.sh rename to tools/offline_deployment/offline_03_1-runDoccano.sh index dec8e02e..95ac7ec2 100755 --- a/offline_deployment/offline_03_1-runDoccano.sh +++ b/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 diff --git a/offline_deployment/offline_patcher.py b/tools/offline_deployment/offline_patcher.py similarity index 100% rename from offline_deployment/offline_patcher.py rename to tools/offline_deployment/offline_patcher.py