Deploying a Custom Read the Docs Install to an Azure App Service

DRAFT

https://docs.readthedocs.io/en/latest/custom_installs/index.html

Install Python 2.7x on Windows
https://www.python.org/downloads/release/python-2715/
C:/Python27

Install Python 2.7x on Linux
https://askubuntu.com/questions/101591/how-do-i-install-the-latest-python-2-7-x-or-3-x-on-ubuntu

Run in Azure App Serivce
https://docs.microsoft.com/en-us/azure/app-service/app-service-web-get-started-python

az group create --name readTheDocsResourceGroup --location "West US"
az appservice plan create --name readTheDocsAppServicePlan --resource-group readTheDocsResourceGroup --sku FREE
az --% webapp create --resource-group readTheDocsResourceGroup --plan readTheDocsAppServicePlan --name readTheDocsBigFont --runtime "python|2.7" --deployment-local-git

git remote add azure https://[email protected]/readTheDocsBigFont.git

git push azure

# az group delete --name readTheDocsResourceGroup 

https://github.com/rtfd/readthedocs.org/issues/4005

Talks about the virtual environment (env).
https://docs.microsoft.com/en-us/azure/app-service/web-sites-python-configure

https://blogs.msdn.microsoft.com/azureossds/2016/08/25/deploying-django-app-to-azure-app-services-using-git-and-new-version-of-python/

https://blogs.msdn.microsoft.com/azureossds/2017/09/01/django-app-with-httpplatformhandler-in-azure-app-services-windows/

This one worked on the Azure App Service! [email protected]:Azure-Samples/app-service-web-python-get-started.git

Creating a customer deployment script is important. We don't have to change the script we just need to create it. We will probably have to modify that script to delete the env every time at least while debugging the set up process.

azure site deploymentscript --python

https://blogs.msdn.microsoft.com/pythonengineering/2016/08/04/upgrading-python-on-azure-app-service/

It also might be worth trying again the Azure App Service Marketplace Django App.

Or, maybe we can use a Linux VM. That might be the easiest option. (Nope... it does not support Python).

Docker on Linux!
https://docs.microsoft.com/en-us/azure/app-service/containers/app-service-linux-cli
https://github.com/moul/docker-readthedocs
https://docs.microsoft.com/en-us/azure/app-service/containers/tutorial-custom-docker-image

az appservice plan create --name readTheDocsAppServicePlan --resource-group readTheDocsResourceGroup --sku B1 --is-linux -l "West US" --number-of-workers 1

az --% webapp create --resource-group readTheDocsResourceGroup --plan readTheDocsAppServicePlan --name readTheDocsBigFont -i moul/readthedocs

Build a docker image

# install docker for Window; choose Linux containers; Enable HyperV

https://docs.docker.com/install/linux/docker-ce/ubuntu/#install-using-the-repository
https://stackoverflow.com/questions/26137834/starting-docker-as-daemon-on-ubuntu
https://stackoverflow.com/questions/48047810/cannot-connect-to-the-docker-daemon-on-bash-on-ubuntu-windows

az group create --name myResourceGroupXX --location "West Europe"

az appservice plan create --name myAppServicePlanXX --resource-group myResourceGroupXX --sku B1 --is-linux                            

az webapp create --resource-group myResourceGroupXX --plan myAppServicePlanXX --name bigfontdockerXX --deployment-container-image-name shaunluttin/temp:v0.0.1

az webapp log config --resource-group myResourceGroupXX --name bigfontdockerXX --web-server-logging filesystem

az webapp log tail --name bigfontdockerXX --resource-group myResourceGroupXX

Useful:
https://buildazure.com/2016/11/18/deploy-docker-containers-to-azure-web-apps-on-linux/

https://blogs.msdn.microsoft.com/drewlewis/2018/03/29/running-django-on-azure-web-apps-for-containers-with-docker/

docker-py 1.9.0 has requirement backports.sslmatchhostname>=3.5, but you'll have backports-ssl-match-hostname 3.4.0.2 which is incompatible.

recommonmark 0.4.0 has requirement commonmark<=0.5.4, but you'll have commonmark 0.5.5 which is incompatible.