{"id":15154407,"url":"https://github.com/wisskirchenj/composer-tasks","last_synced_at":"2026-02-09T08:02:33.203Z","repository":{"id":195823097,"uuid":"693735789","full_name":"wisskirchenj/composer-tasks","owner":"wisskirchenj","description":"In-docker Python Tasks app on uvicorn webserver persisting to a Mongo DB - orchestrated by compose.","archived":false,"fork":false,"pushed_at":"2023-09-19T17:29:20.000Z","size":6,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-20T06:49:00.030Z","etag":null,"topics":["docker-compose","dockerfile","mongo-db","python3","uvicorn"],"latest_commit_sha":null,"homepage":"","language":"Python","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/wisskirchenj.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-09-19T15:54:03.000Z","updated_at":"2023-09-19T15:57:40.000Z","dependencies_parsed_at":null,"dependency_job_id":"f802659f-077a-4b9e-b032-5d5f7eb81f72","html_url":"https://github.com/wisskirchenj/composer-tasks","commit_stats":{"total_commits":6,"total_committers":1,"mean_commits":6.0,"dds":0.0,"last_synced_commit":"5be285de7fa929e74ded8d6dfb83e16d9552a3f9"},"previous_names":["wisskirchenj/composer-tasks"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/wisskirchenj/composer-tasks","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wisskirchenj%2Fcomposer-tasks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wisskirchenj%2Fcomposer-tasks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wisskirchenj%2Fcomposer-tasks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wisskirchenj%2Fcomposer-tasks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wisskirchenj","download_url":"https://codeload.github.com/wisskirchenj/composer-tasks/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wisskirchenj%2Fcomposer-tasks/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29259466,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-09T04:11:57.159Z","status":"ssl_error","status_checked_at":"2026-02-09T04:11:56.117Z","response_time":56,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5: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":["docker-compose","dockerfile","mongo-db","python3","uvicorn"],"created_at":"2024-09-26T17:23:10.082Z","updated_at":"2026-02-09T08:02:33.186Z","avatar_url":"https://github.com/wisskirchenj.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# IDEA EDU Course\n\nImplemented in the \u003cb\u003eIntroduction to Docker\u003c/b\u003e Track of hyperskill.org's JetBrain Academy.\u003cbr\u003e\nhttps://hyperskill.org/projects/374\n\n## Technology / External Libraries\n\n- docker-compose 3.1\n- Dockerfile (for hyper-service)\n- Mongo-DB 6.0 (pulled official image)\n- Python app on uvicorn webserver in docker.\n\n## Program description\n\nManaging multiple services and containers using the Docker tool through the command line can become complicated and\nconfusing. To make things easier, we use Docker Compose which simplifies the management of multi-service\napplications. With Docker Compose, we use a single script to define services, their dependencies, environment\nvariables, networks, and other configurations. \n\n## Project completion\n\nProject was completed on 19.09.23.\n\n## Repository Contents\n\nSources for all project tasks (7 stages) with tests and configurations.\n\n## Progress\n\n19.09.23 Stage 1 completed. Write docker-compose.yml file to run a MongoDB container. Use `.env` file to store\nenvironment variables. Use `docker-compose up` to start the container. Use `docker-compose down` to stop the container.\n\n19.09.23 Stage 2 completed. Expand docker-compose.yml file to define a network and a data-volume used in the service.\n\n19.09.23 Stage 3 completed. Build a hyper-service image, that has a uvicorn webserver layer on top of a slim Python\n base image, serving a simple tasks app with a Dockerfile and add it to the docker-compose.\n\n19.09.23 Stage 4 completed. Open port `8000` on host and connect it to the uvicorn webserver. Also share the network \ncreated in stage 2 with the hyper-service to allow for CRUD-operations of the app into the Mongo DB.\n\n19.09.23 Stage 5 completed. Just add a compose up shell script `up.sh` to start the app.\n\n19.09.23 Stage 6 completed. Use the Python app with `http-client` or `http(ie)` to insert / delete and persists some task.\n\n19.09.23 Final Stage 7 completed. Add a `cleanup.sh` script to remove container, images, network and volume.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwisskirchenj%2Fcomposer-tasks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwisskirchenj%2Fcomposer-tasks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwisskirchenj%2Fcomposer-tasks/lists"}