{"id":28514382,"url":"https://github.com/digitalslidearchive/histomics_aws_deployment","last_synced_at":"2026-01-31T17:03:11.368Z","repository":{"id":292425948,"uuid":"979508547","full_name":"DigitalSlideArchive/histomics_aws_deployment","owner":"DigitalSlideArchive","description":"Infrastructure-as-code scripts for deploying high-availability, scalable Histomics on AWS","archived":false,"fork":false,"pushed_at":"2025-06-27T13:01:30.000Z","size":25,"stargazers_count":0,"open_issues_count":5,"forks_count":0,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-07-04T11:42:56.734Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"HCL","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/DigitalSlideArchive.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,"zenodo":null}},"created_at":"2025-05-07T16:10:03.000Z","updated_at":"2025-06-27T13:01:33.000Z","dependencies_parsed_at":"2025-06-18T15:19:44.413Z","dependency_job_id":"ddeffece-e8b1-4d77-adbb-c5e435b182fb","html_url":"https://github.com/DigitalSlideArchive/histomics_aws_deployment","commit_stats":null,"previous_names":["digitalslidearchive/histomics_aws_deployment"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/DigitalSlideArchive/histomics_aws_deployment","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DigitalSlideArchive%2Fhistomics_aws_deployment","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DigitalSlideArchive%2Fhistomics_aws_deployment/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DigitalSlideArchive%2Fhistomics_aws_deployment/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DigitalSlideArchive%2Fhistomics_aws_deployment/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DigitalSlideArchive","download_url":"https://codeload.github.com/DigitalSlideArchive/histomics_aws_deployment/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DigitalSlideArchive%2Fhistomics_aws_deployment/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28948356,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-31T14:26:55.697Z","status":"ssl_error","status_checked_at":"2026-01-31T14:26:52.545Z","response_time":128,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":[],"created_at":"2025-06-09T01:36:34.680Z","updated_at":"2026-01-31T17:03:11.364Z","avatar_url":"https://github.com/DigitalSlideArchive.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Histomics AWS deployment scripts\n\nThis repository contains infrastructure-as-code for reproducible Histomics deployments on AWS\nusing highly managed, scalable services, including\n\n* Elastic Container Service for the web application\n* EC2 instances for celery worker nodes\n* MongoDB Atlas for the database\n* Amazon MQ as the celery queue\n* CloudWatch for log persistence\n* Sentry integration (optional)\n\n### Prerequisites\n\n1. Obtain a domain name via AWS Route53, and set the `domain_name` terraform variable to its value.\n1. Create an SSH keypair and set the public key as the `ssh_public_key` terraform variable.\n   This is the key that will be authorized on the worker EC2 instance(s).\n1. Set AWS credentials in your shell environment.\n1. In your target MongoDB Atlas organization, create a new API key and set the public and private\n   key in your local environment in the variables `MONGODB_ATLAS_PUBLIC_KEY` and\n   `MONGODB_ATLAS_PRIVATE_KEY`.\n1. Set the target MongoDB Atlas organization ID as the `mongodbatlas_org_id` terraform variable.\n\n### Building the worker AMI\n\n1. `cd packer`\n1. `packer build worker.pkr.hcl`\n1. Use the resulting AMI ID as the `worker_ami_id` terraform variable.\n\n### Deploying\n\n1. `DOCKER_DEFAULT_PLATFORM=linux/amd64 docker build -t zachmullen/histomics-load-test -f histomicsui.Dockerfile .`\n1. `docker push zachmullen/histomics-load-test`\n1. Copy the SHA from the docker push command and paste it into `main.tf`\n1. From the terraform directory, run `terraform apply -var-file=.tfvars`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdigitalslidearchive%2Fhistomics_aws_deployment","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdigitalslidearchive%2Fhistomics_aws_deployment","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdigitalslidearchive%2Fhistomics_aws_deployment/lists"}