{"id":13516216,"url":"https://github.com/jolicode/pomdok","last_synced_at":"2025-04-22T18:21:59.909Z","repository":{"id":44875560,"uuid":"186824424","full_name":"jolicode/pomdok","owner":"jolicode","description":"🍏 Simple wrapper to Symfony Go Binary for multi-app","archived":false,"fork":false,"pushed_at":"2022-01-21T09:39:43.000Z","size":84,"stargazers_count":26,"open_issues_count":0,"forks_count":2,"subscribers_count":14,"default_branch":"master","last_synced_at":"2025-03-29T17:35:53.843Z","etag":null,"topics":["local-server","multi-apps","symfony"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jolicode.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-05-15T12:43:41.000Z","updated_at":"2025-01-22T11:06:09.000Z","dependencies_parsed_at":"2022-09-06T03:11:12.542Z","dependency_job_id":null,"html_url":"https://github.com/jolicode/pomdok","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jolicode%2Fpomdok","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jolicode%2Fpomdok/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jolicode%2Fpomdok/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jolicode%2Fpomdok/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jolicode","download_url":"https://codeload.github.com/jolicode/pomdok/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250296462,"owners_count":21407037,"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":["local-server","multi-apps","symfony"],"created_at":"2024-08-01T05:01:20.420Z","updated_at":"2025-04-22T18:21:59.871Z","avatar_url":"https://github.com/jolicode.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"# pomdok 🍏\n\nSimple wrapper to [Symfony Go Binary](https://symfony.com/download) for multi-app.\n\nThis README does not aim to explain Symfony binary, if you want more details you can read [the article](https://jolicode.com/blog/my-local-server-with-the-symfony-binary) I made to introduce it or [official documentation](https://symfony.com/doc/current/setup/symfony_server.html).\n\n# Installation 💾\n\npomdok is the only thing you have to install, the symfony binary will be automatically installed if not present on your computer.\n\n## Mac\n\nYou can install this binary through [Homebrew](https://brew.sh/):\n\n```bash\nbrew tap jolicode/pomdok git@github.com:jolicode/pomdok.git\nbrew install pomdok\n```\n\n## Linux\n\nDownload [last release](https://github.com/jolicode/pomdok/releases), extract it and you'll have the binary. I suggest you to put it in `/usr/local/bin/` to be easier to use but you can do whatever you want 🤷\n\n# Getting started 🚀\n\nFirst, you need a configuration file that we call `pomdok.yaml` in your project root as following:\n```yaml\npomdok:\n  tld: 'test'\n  projects:\n    - domain: 'api.project'\n      path: '/apps/api'\n      port: 9990\n    - domain: 'www.project'\n      path: '/apps/front'\n    - domain: 'admin.project'\n      path: '/apps/back-office'\n```\n\nYou'll need at least `tld` field and one project to have a valid configuration.\n\nFor each \"project\" you have, you'll need at least a `domain` and `port` fields. `port` field is optional and used to force a given port for your webserver.\n\nYou can add domain aliases for a project by duplicating its entry in the list and changing the domain name (path and port must remain the same), for example:\n\n```yaml\npomdok:\n  tld: 'test'\n  projects:\n    - domain: 'api.project'\n      path: '/apps/api'\n      port: 9990\n    - domain: 'api-private.project'\n      path: '/apps/api'\n      port: 9990\n```\n\nTo init `pomdok` for your project run:\n```bash\npomdok init\n```\nYou can add `--config=configuration.yaml` option if your configuration file is not in current folder with default name `pomdok.yaml`.\n\nThen to start your applications 🎉\n```\npomdok start\n```\n\nAnd to stop them:\n```\npomdok stop\n```\n\n## Symfony related\n\nTo make pomdok works, we're using symfony CLI. Some setup on this side is needed:\n- You have to setup Symfony CLI proxy (you can find how on [this slide](https://speakerdeck.com/fabpot/symfony-local-web-server-dot-dot-dot-reloaded?slide=32) or on the [official documentation](https://symfony.com/doc/current/setup/symfony_server.html#setting-up-the-local-proxy))\n- And to install Symfony CLI certificate authority through `symfony local:server:ca:install`\n\n# Troubleshooting 🤕\n\n## Some debug tips 🔧\n\nBecause this tool use symfony CLI to run your servers, here is some advices to debug when need:\n- You can check running servers on `http://127.0.0.1:7080/`\n- You used start command but server is still stopped in the list ? Go in the app folder then use: `symfony local:server:start`, you'll have full logs and order to see what's happening !\n\n## Everything working but I have untrusted https ❌\n\nThis tool does not run `symfony ca:install` command since it needs sudo. This install local certificate authority. Just run it and you'll have trusted https for you apps 😉\n\n## My website isn't working 😢\n\nWhen you start pomdok, and you don't have the symfony proxy already launched, you're site won't be reachable. You have to close your web browser (really quit it, not reduce it like mac usually do).\n\n# Commands 🛠\n\n## init\n\n```\npomdok init\n```\n\nWill sync your project with Symfony binary configuration.\nThis command can run anywhere inside your project tree, it will search in current directory and will goes into parent one if nothing and again and again until finding your project configuration.\n\n## start\n\n```\npomdok start\n```\n\nWill start symfony proxy if needed and all your apps\n\n## stop\n\n```\npomdok start\n```\n\nWill stop all your apps\n\n## check\n\n```\npomdok check\n```\n\nWill check your OS and needed binaries:\n- OS: should be Linux or Darwin (MacOS)\n- PHP: you need local php installation\n- Symfony: and the symfony binary 😉\n\n## install\n\n```\nsudo pomdok install\n```\n\nWill install all needed binaries :\n- PHP: from `apt` or `brew` depending on OS\n- Symfony: with `wget` command\n⚠ This command obviously needs `sudo` or being logged as root.\n\n# Sponsor\n\n[![JoliCode](https://jolicode.com/images/logo.svg)](https://jolicode.com)\n\nOpen Source time sponsored by JoliCode\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjolicode%2Fpomdok","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjolicode%2Fpomdok","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjolicode%2Fpomdok/lists"}