{"id":16930470,"url":"https://github.com/pdelboca/ckan-azure-deployment","last_synced_at":"2026-04-10T01:03:50.159Z","repository":{"id":206400071,"uuid":"716512106","full_name":"pdelboca/ckan-azure-deployment","owner":"pdelboca","description":"A draft repository to document steps on how to deploy CKAN in Azure","archived":false,"fork":false,"pushed_at":"2024-01-17T16:37:49.000Z","size":14,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-14T18:54:49.720Z","etag":null,"topics":["azure","ckan","deployment","docker"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pdelboca.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-11-09T09:45:30.000Z","updated_at":"2024-01-04T11:52:05.000Z","dependencies_parsed_at":null,"dependency_job_id":"a8caa412-8915-460c-9843-f0cfcd113eb2","html_url":"https://github.com/pdelboca/ckan-azure-deployment","commit_stats":null,"previous_names":["pdelboca/ckan-azure-deployment"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pdelboca%2Fckan-azure-deployment","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pdelboca%2Fckan-azure-deployment/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pdelboca%2Fckan-azure-deployment/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pdelboca%2Fckan-azure-deployment/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pdelboca","download_url":"https://codeload.github.com/pdelboca/ckan-azure-deployment/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244729384,"owners_count":20500234,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["azure","ckan","deployment","docker"],"created_at":"2024-10-13T20:41:47.436Z","updated_at":"2025-12-30T22:50:43.204Z","avatar_url":"https://github.com/pdelboca.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Deploying CKAN in Azure\n\nThis repository documents some steps and considerations when deploying CKAN to an Azure Infrastructure.\n\n## Basic Services required\n - App Service for Solr\n - App Service for CKAN\n - Redis Instance\n - PostgreSQL\n - Container Registry to push images\n\n## Notes on deploying\n - In this repository we need set up the `ckan.ini` file at BUILD time (when creating the docker container) since in this scenario, secrets are managed in Github.\n - SSH needs to be built in the Dockerfile https://learn.microsoft.com/en-us/azure/app-service/configure-custom-container?tabs=alpine\u0026pivots=container-linux\n - In basic quick deployments, make sure to set `redirect_after_login` configuration so it does not redirect to localhost.\n\n\n## Basic Steps\n#### Resource Creation\n - Create a resource group\n - Create a container registry.\n - Create an Azure Cache for Redis.\n - Create an Azure Database for Postgresql.\n - Create a Web App for Contaniers for Solr pointing to Docker Hub `ckan/ckan-solr:2.10`.\n - Create an Azure Storage\n\n#### Resource Configuration\n - Go to the Solr App -\u003e Add WEBSITES_PORT=8983 to the configuration and restart the app.\n - Go to the Container Registry -\u003e Access Keys and allow Admin user so we can push our CKAN Dockerfile\n - Go to the Azure Database -\u003e Create a database called `ckan`\n - Go to the Azure Storage -\u003e Create a File Share (here CKAN will store all uploaded data and assets)\n\n#### Deployment and Main App Configuration\n - Connect to the Container Registry (See Quick Start in Azure Portal for instructions).\n - Build locally the image in this Repository using `--build-arg` (See Basic variable structure in this README)\n   - Having an image in ACR is a requirement to create an Azure Web App. We will set the `CKAN_SITE_URL` with the value that it is going to have later.\n - Push the image to the ACR\n - Create a Web App using the image pushed to the ACR container\n - Go to the newly created Web App -\u003e Configuration -\u003e Path mappings, and mount the Azure Storage File Share as a directory (example: `/storage`)\n   - You must ensure that `ckan.storage_path` configuration option points to this mounted directory\n\n\n\n## Basic variables Structure when Building the image\n    docker build . \\\n        --build-arg CKAN_SQLALCHEMY_URL='postgresql://\u003cuser\u003e:\u003cpass\u003e@\u003cname\u003e.postgres.database.azure.com/ckan?sslmode=require' \\\n        --build-arg SOLR_URL='https://\u003cname\u003e.azurewebsites.net/solr/ckan' \\\n        --build-arg CKAN_REDIS_URL='rediss://default:\u003cpass\u003e@\u003cname\u003e.redis.cache.windows.net:6380' \\\n        --build-arg CKAN_SITE_URL='https://\u003cname\u003e.azurewebsites.net'\n        -t myckan:latest\n\nNotes:\n - Double `s` in `rediss` is not a typo, is for Secure Connections\n - Get Redis password from Azure Portal\n - Get Postgres user and password from the portal as well\n\n\n## Tutorials and Materials\n- https://learn.microsoft.com/en-us/azure/container-apps/\n- https://learn.microsoft.com/en-us/azure/app-service/configure-connect-to-azure-storage\n- https://learn.microsoft.com/en-us/azure/app-service/configure-custom-container\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpdelboca%2Fckan-azure-deployment","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpdelboca%2Fckan-azure-deployment","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpdelboca%2Fckan-azure-deployment/lists"}