{"id":18318508,"url":"https://github.com/garden-io/garden-docker-compose","last_synced_at":"2026-04-30T10:03:55.652Z","repository":{"id":100232488,"uuid":"457542032","full_name":"garden-io/garden-docker-compose","owner":"garden-io","description":"A sample docker-compose project, migrated to Garden ","archived":false,"fork":false,"pushed_at":"2023-05-22T14:11:25.000Z","size":243,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-02-15T07:51:19.360Z","etag":null,"topics":["docker-compose","garden"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/garden-io.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}},"created_at":"2022-02-09T21:57:58.000Z","updated_at":"2023-10-06T10:19:27.000Z","dependencies_parsed_at":"2023-09-28T08:36:59.052Z","dependency_job_id":null,"html_url":"https://github.com/garden-io/garden-docker-compose","commit_stats":{"total_commits":7,"total_committers":3,"mean_commits":"2.3333333333333335","dds":0.2857142857142857,"last_synced_commit":"b36be0aa09c8fc76a8a5d3195853028563563a44"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/garden-io%2Fgarden-docker-compose","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/garden-io%2Fgarden-docker-compose/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/garden-io%2Fgarden-docker-compose/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/garden-io%2Fgarden-docker-compose/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/garden-io","download_url":"https://codeload.github.com/garden-io/garden-docker-compose/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248054217,"owners_count":21039951,"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":["docker-compose","garden"],"created_at":"2024-11-05T18:09:49.778Z","updated_at":"2026-04-30T10:03:50.611Z","avatar_url":"https://github.com/garden-io.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# compose2garden sample application\n\n## React application with a NodeJS backend and a MongoDB database\n\nThis sample app serves as an example of migration from docker-compose to Garden.\nIt is based on the `react-express-mongodb` example from the [Awesome Compose](https://github.com/docker/awesome-compose) repository.\n\nThe docker-compose configuration and source code have been left untouched, with only the Garden configuration files added to the project.\n\nProject structure:\n```\n.\n├── backend\n│   ├── backend.garden.yml\n│   ├── Dockerfile\n│   ...\n├── docker-compose.yaml\n├── frontend\n│   ...\n│   ├── Dockerfile\n│   ├── frontend.garden.yml\n│   ...\n│   └── project.garden.yml\n├── mongo\n│   └── mongo.garden.yml\n└──README.md\n```\n\nThe compose file defines an application with three services `frontend`, `backend` and `db`.\nWhen deploying the application, docker-compose maps port `3000` of the frontend service container to port `3000` of the host as specified in the file.\nMake sure port 3000 on the host is not already being in use.\n\nGarden defines the same services but deploys the application on a local Kubernetes cluster, make sure it's running before deploying.\nThe project is configured to create two ingresses from which the services are available:\n\n- `frontend` service: [http://compose2garden.local.app.garden](http://compose2garden.local.app.garden).\n- `backend` service: [http://backend.compose2garden.local.app.garden](http://backend.compose2garden.local.app.garden).\n\n## Deploy the project\n\n### Deploy with garden\n\n\u003e Note: you need to have a running Kubernetes cluster on your local machine.\n\n```sh\n$ garden deploy\nDeploy 🚀 \n\nUsing environment default.default\n\n✔ providers                 → Getting status... → Cached\n   ℹ Run with --force-refresh to force a refresh of provider statuses.\n✔ mongo                     → Getting build status for v-4e4b9e4d48... → Already built\n✔ backend                   → Getting build status for v-64f4cdb8df... → Already built\n✔ mongo                     → Deploying version v-5e8e8da229... → Done (took 3.4 sec)\n   ℹ mongo                     → Resources ready\n✔ frontend                  → Getting build status for v-f6dbf8b6ea... → Already built\n✔ backend                   → Deploying version v-f8ca19f295... → Done (took 3.1 sec)\n   ℹ backend                   → Resources ready\n   → Ingress: http://backend.compose2garden.local.app.garden\n✔ frontend                  → Deploying version v-ad031cb91f... → Done (took 25.8 sec)\n   ℹ frontend                  → Resources ready\n   → Ingress: http://compose2garden.local.app.garden\n\nDone! ✔️ \n```\n\n#### Start Garden in sync mode\n\n```sh\n$ garden deploy --sync\nGood morning! Let's get your environment wired up...\n\nUsing environment default.default\n\n✔ providers                 → Getting status... → Cached\n   ℹ Run with --force-refresh to force a refresh of provider statuses.\n✔ mongo                     → Getting build status for v-4e4b9e4d48... → Already built\n✔ backend                   → Getting build status for v-64f4cdb8df... → Already built\n✔ frontend                  → Getting build status for v-f6dbf8b6ea... → Already built\nℹ backend                   → Syncing ./ to /usr/src/app in Deployment/backend (one-way-replica)\n✔ backend                   → Connected to sync target /usr/src/app in Deployment/backend\n✔ backend                   → Completed initial sync from ./ to /usr/src/app in Deployment/backend\n✔ frontend                  → Connected to sync target /usr/src/app/src in Deployment/frontend\n✔ frontend                  → Completed initial sync from ./src to /usr/src/app/src in Deployment/frontend\n✔ mongo                     → Deploying version v-5e8e8da229... → Already deployed\n   → Forward: localhost:27017 → mongo:27017 (db)\nℹ frontend                  → Syncing ./src to /usr/src/app/src in Deployment/frontend (one-way-replica)\n✔ backend                   → Deploying version v-f8ca19f295... → Already deployed\n   → Ingress: http://backend.compose2garden.local.app.garden\n   → Forward: http://localhost:3000 → backend:3000 (http)\n✔ frontend                  → Deploying version v-ad031cb91f... → Already deployed\n   → Ingress: http://compose2garden.local.app.garden\n   → Forward: http://localhost:60523 → frontend:3000 (http)\n\n🕑  Waiting for code changes...\n```\n\n### Deploy with docker-compose\n\n```sh\n$ docker-compose up -d\nCreating network \"react-express-mongodb_default\" with the default driver\nBuilding frontend\nStep 1/9 : FROM node:13.13.0-stretch-slim\n ---\u003e aa6432763c11\n...\nSuccessfully tagged react-express-mongodb_app:latest\nWARNING: Image for service app was built because it did not already exist. To rebuild this image you must use `docker-compose build` or `docker-compose up --build`.\nCreating frontend        ... done\nCreating mongo           ... done\nCreating app             ... done\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgarden-io%2Fgarden-docker-compose","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgarden-io%2Fgarden-docker-compose","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgarden-io%2Fgarden-docker-compose/lists"}