{"id":26967097,"url":"https://github.com/yb66/mint-docker-compose","last_synced_at":"2025-07-02T02:02:22.377Z","repository":{"id":138105832,"uuid":"302492643","full_name":"yb66/Mint-Docker-Compose","owner":"yb66","description":"A (hopefully) easy way to run Mint via Docker","archived":false,"fork":false,"pushed_at":"2020-10-09T00:42:07.000Z","size":10,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-03T08:41:11.153Z","etag":null,"topics":["docker-compose","mint-lang"],"latest_commit_sha":null,"homepage":"","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yb66.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":"2020-10-09T00:28:22.000Z","updated_at":"2020-10-09T17:32:22.000Z","dependencies_parsed_at":null,"dependency_job_id":"f7e94539-c704-430a-9045-6661fa7ee013","html_url":"https://github.com/yb66/Mint-Docker-Compose","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/yb66/Mint-Docker-Compose","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yb66%2FMint-Docker-Compose","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yb66%2FMint-Docker-Compose/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yb66%2FMint-Docker-Compose/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yb66%2FMint-Docker-Compose/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yb66","download_url":"https://codeload.github.com/yb66/Mint-Docker-Compose/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yb66%2FMint-Docker-Compose/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263061406,"owners_count":23407605,"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","mint-lang"],"created_at":"2025-04-03T08:38:41.952Z","updated_at":"2025-07-02T02:02:22.350Z","avatar_url":"https://github.com/yb66.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Mint Docker Compose\n\nA skeleton repo for setting up and/or running a Mint project via Docker Compose.\n\n## Usage\n\n### In short\n\n1. Clone this project.\n2. Add the resulting directory to file sharing in Docker's preferences.\n3. `cd` into it and create a [`.env` file](https://docs.docker.com/compose/environment-variables/) for the project with the following env vars: `WEB_SERVER_PORT`, `WORKSPACE`, and `PROJECT_NAME`.\n4. Add an existing workspace (optional).\n5. Run `docker-compose up -d` and get to work.\n\n\n### For example, using an existing project…\n\n…like [Mint's example todo app](https://github.com/mint-lang/example-todo):\n\n    $ pwd\n    # ~/Projects\n    $ git clone https://github.com/yb66/mint-docker-compose example-todo\n\nAdd `~/Projects/example-todo` to Docker's file sharing, then:\n\n    $ cd example-todo\n    $ git clone https://github.com/mint-lang/example-todo\n\nAt this point if you run `tree .` you would see:\n\n    $ tree .\n    .\n    ├── Docker\n    │   ├── Dockerfile\n    │   └── docker-entrypoint.sh\n    ├── LICENCE.txt\n    ├── README.md\n    ├── docker-compose.yml\n    └── example-todo\n        ├── Makefile\n        ├── assets\n        │   ├── head.html\n        │   └── icon.png\n        ├── mint.json\n        └── source\n            ├── Main.mint\n            ├── Store.mint\n            └── Todo.mint\n\nOpen my editor and create a file called .env, and write:\n\n```\nWEB_SERVER_PORT=4567\nWORKSPACE=./example-todo\nPROJECT_NAME=example-todo\n```\n\nThey're just suggestions, you can use what suits you.\n\nFinally, run:\n\n    docker-compose up -d\n\nGiven the .env file in the example, this would:\n\n- Build an image called `example-todo_mint`.\n- Start it running in the background.\n- Share the Mint files found in the `./example-todo` workspace with the container so that you can edit the files in it and the container be able to access them.\n\nIf you open an browser and go to `http://localhost:4567` you can play around with the todo app!\n\n\n#### Now that the project container is running…\n\n…you can run one off commands. For example, to see the mint help:\n\n    docker-compose exec mint mint --help\n\nJust prepend `docker-compose exec mint` to the command you wish to run inside the container.\n\nTo stop the project you can use [`docker-compose stop`](https://docs.docker.com/compose/reference/stop/) and [`docker-compose start`](https://docs.docker.com/compose/reference/start/) when you want to return to it, or [`docker-compose down`](https://docs.docker.com/compose/reference/down/) if you want to clean up the assets (see Docker's help for more).\n\n### For example, a new project…\n\nIn the case that you're starting a new project the only differences would be that you don't run the `git clone https://github.com/mint-lang/example-todo` command because a workspace will be set up an initialised with a Mint project. So:\n\n    $ pwd\n    # ~/Projects\n    $ git clone https://github.com/yb66/mint-docker-compose my-stunning-app\n\nAdd `~/Projects/my-stunning-app` to Docker's file sharing, then:\n\n    $ cd my-stunning-app\n\nThis time the `tree` is different because we don't bring in an existing project:\n    \n    $ tree .\n    .\n    ├── Docker\n    │   ├── Dockerfile\n    │   └── docker-entrypoint.sh\n    ├── LICENCE.txt\n    ├── README.md\n    └── docker-compose.yml\n\nSet up an `.env`. For example:\n\n```\nWEB_SERVER_PORT=4568\nWORKSPACE=./workspace\nPROJECT_NAME=my-stunning-app\n```\n\nRun `docker-compose up -d` to start the project.\n\nRunning `tree` again will reveal that a default workspace has been set up for you:\n\n    $ tree .\n    .\n    ├── Docker\n    │   ├── Dockerfile\n    │   └── docker-entrypoint.sh\n    ├── README.md\n    ├── docker-compose.yml\n    └── workspace\n        ├── assets\n        │   └── head.html\n        ├── mint.json\n        ├── source\n        │   └── Main.mint\n        └── tests\n            └── Main.mint\n\nNow if you open a browser and go to `http://localhost:4568`, you should see the default Mint page with its greeting. Open `workspace/source/Main.mint` and alter the greeting, save, and you should see the page update in the browser.\n\nYou can also see that an image has been set up called `my-stunning-app_mint`.\n\n    $ docker images\n    REPOSITORY              TAG      \u003csnip!\u003e        \n    my-stunning-app_mint    latest\n\n\nIf you want to keep this skeleton project separate from the contents of the Mint workspace then I'd suggest adding `workspace` (or whatever you've chosen to call it) to a `.gitignore` in this project's root and then you're free to start a new git repo in the workspace, but it all depends on the way you wish to organise things.\n\nAll the things in \"Now that the project container is running…\" apply to this too.\n\n### Contributing\n\nDo let me know if you have suggestions or problems, all contributions are welcome!\n\n### Licence\n\nSee the LICENCE.txt file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyb66%2Fmint-docker-compose","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyb66%2Fmint-docker-compose","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyb66%2Fmint-docker-compose/lists"}