{"id":21762327,"url":"https://github.com/dannyyassine/docker-octane-vue","last_synced_at":"2026-04-13T04:07:21.309Z","repository":{"id":49337905,"uuid":"374454048","full_name":"dannyYassine/docker-octane-vue","owner":"dannyYassine","description":"Skeleton project to get started with laravel-octane and vue in a docker-compose env using gitpod or codespaces.","archived":false,"fork":false,"pushed_at":"2023-09-23T18:00:15.000Z","size":2693,"stargazers_count":0,"open_issues_count":1,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-26T01:22:33.774Z","etag":null,"topics":["docker","docker-compose","gitpod","gitpod-workspace","laravel","octane","openswoole","php","postgres","supabase","swoole","typescript","vue","vuejs"],"latest_commit_sha":null,"homepage":"","language":"HTML","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/dannyYassine.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":"2021-06-06T20:08:48.000Z","updated_at":"2025-01-17T01:17:16.000Z","dependencies_parsed_at":"2024-11-26T12:11:51.226Z","dependency_job_id":"fa69d595-ef45-4d28-b9f0-25151b5046e4","html_url":"https://github.com/dannyYassine/docker-octane-vue","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dannyYassine%2Fdocker-octane-vue","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dannyYassine%2Fdocker-octane-vue/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dannyYassine%2Fdocker-octane-vue/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dannyYassine%2Fdocker-octane-vue/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dannyYassine","download_url":"https://codeload.github.com/dannyYassine/docker-octane-vue/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244739941,"owners_count":20501990,"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","docker-compose","gitpod","gitpod-workspace","laravel","octane","openswoole","php","postgres","supabase","swoole","typescript","vue","vuejs"],"created_at":"2024-11-26T12:11:45.234Z","updated_at":"2026-04-13T04:07:21.246Z","avatar_url":"https://github.com/dannyYassine.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# docker-octane-vue\n\nSimple skeleton project in order to quickly start a new project with the following technologies with docker-compose and  [gitpod](https://www.gitpod.io):\n\n* laravel with octane (swoole)\n* vue (with typescript)\n* postgres\n\n\u003cbr\u003e\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd valign=\"top\"\u003e\n\u003cdiv style=\"width: 150px; height: 75px;\"\u003e\n        \u003cimg width=\"150\" height=\"75\" src=\"https://laravel.com/img/logomark.min.svg\"\u003e\n    \u003c/div\u003e\n\u003c/td\u003e\n    \u003ctd valign=\"top\"\u003e\n\u003cdiv style=\"width: 150px; height: 75px;\"\u003e\n        \u003cimg width=\"90\" height=\"75\" src=\"https://avatars.githubusercontent.com/u/6128107?s=200\u0026v=4\"\u003e\n    \u003c/div\u003e\n    \u003ctd valign=\"top\"\u003e\n\u003cdiv style=\"width: 150px; height: 75px;\"\u003e\n        \u003cimg width=\"100\" height=\"75\" src=\"https://www.postgresql.org/media/img/about/press/elephant.png\"\u003e\n    \u003c/div\u003e\n\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\nTechnologies:\n* [laravel](https://laravel.com/)\n* [laravel octane](https://laravel.com/docs/9.x/octane#main-content)\n* [vue](https://vuejs.org/)\n* [typescript](https://www.typescriptlang.org/)\n* [postgres](https://www.postgresql.org/)\n* [gitpod](https://www.gitpod.io/)\n* [supabase](https://supabase.com/)\n\n## Develoment\n\n* Ready to use docker-compose.yml\n\n  or\n  \n* CDE using [Gitpod](https://www.gitpod.io/)\n\n## Structure\n\nEach technology is containerized for easy development\n\n    * Backend: laravel-octane with swoole\n    * Worker: laravel queue\n    * Frontend: vue client\n    * Database: postgres\n\n## Auto refresh\n\nWhile the containers are running, the backend and frontend will auto refresh when making changes to the application code. No need to rebuild the containers.\n\n# Getting Started\n\n## Using docker-compose locally\n\n##### Build the containers\n\n```bash\nmake build\n```\n\n##### Start developing\n\n```bash\nmake dev\n```\n\n##### While the containers are running, migrate the database\n\n```bash\nmake migrate\n```\n\n## Using gitpod\n\n#### Workspace\nSimply start the workspace with this project, eveyrthing is configured in .gitpod.yml\n\n# Deploy options\n\nThe options below are free, great for getting things started, and very easy to scale up with their paid plans.\n\n## Backend\n\n* Render https://render.com/docs/web-services\n\n## Database\n\n* Supabase https://supabase.com\n\n## Frontend\n\n* Firebase https://firebase.google.com/docs/hosting\n* Render https://render.com/docs/static-sites\n\n## Examples\n\n### Deploying to render\n\nwhile using `render.yaml` https://render.com/docs/blueprint-spec\n\n```\n# A web service\n  - type: web\n    name: api\n    env: docker\n    dockerfilePath: ./deploy/php.api.dockerfile # optional\n    dockerContext: ./api # optional\n    \n# A background worker that consumes a queue\n  - type: worker\n    name: queue\n    env: docker\n    dockerfilePath: ./deploy/php.queue.dockerfile # optional\n    dockerContext: ./api # optional\n    \n# A static site for the vue app\n  - type: web\n    name: docker-octane-vue-client\n    env: static\n    branch: master\n    buildCommand: cd client \u0026\u0026 yarn \u0026\u0026 yarn build\n    staticPublishPath: ./client/dist\n    routes:\n      - type: rewrite\n        source: /*\n        destination: /index.html\n```\n\n## PhpUnit on VsCode\n\n#### Update settings.json\n\nupdate the key in `better-phpunit.docker.paths` to the local path of this project on your machine.\n```json\n\"better-phpunit.docker.paths\": {\n     \"\u003cproject_path_on_your_computer\u003e/api\": \"/usr/src/api\"\n},\n```\n\n## Debugging with xdebug\n* inside xbude.ini, VS code in codespaces, we need to change `xdebug.client_host`\n* run `hostname -I | cut -d ' ' -f1` in order to get the ip address of the codespace within the codespace main terminal.\n* set it like: xdebug.client_host=172.16.5.4\n* you only set it `xdebug.client_host=host.docker.internal` when you are running VS code in the app, locally.\n\n## Github codespaces useful links (if you want to use codespaces instead)\n* [devcontainer.json specs](https://containers.dev/implementors/json_reference/)\n* [docker-compose example](https://github.com/microsoft/vscode-dev-containers/blob/main/container-templates/docker-compose/.devcontainer/devcontainer.json)\n* [intro to codespaces](https://dev.to/pwd9000/introduction-to-github-codespaces-building-your-first-dev-container-69l)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdannyyassine%2Fdocker-octane-vue","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdannyyassine%2Fdocker-octane-vue","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdannyyassine%2Fdocker-octane-vue/lists"}