{"id":16225658,"url":"https://github.com/lasuillard/mockoon-novnc","last_synced_at":"2025-04-10T18:31:40.819Z","repository":{"id":231538685,"uuid":"781418097","full_name":"lasuillard/mockoon-novnc","owner":"lasuillard","description":"Docker image for Mockoon GUI with noVNC.","archived":false,"fork":false,"pushed_at":"2025-04-02T11:28:11.000Z","size":450,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-02T12:29:30.895Z","etag":null,"topics":["docker","mockoon","nginx","novnc"],"latest_commit_sha":null,"homepage":"https://hub.docker.com/r/lasuillard/mockoon-novnc","language":"Shell","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/lasuillard.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2024-04-03T10:47:10.000Z","updated_at":"2025-04-02T11:28:13.000Z","dependencies_parsed_at":"2024-05-13T15:02:02.733Z","dependency_job_id":"0f022b7a-57b2-41cc-9a39-3d942a87c0d0","html_url":"https://github.com/lasuillard/mockoon-novnc","commit_stats":{"total_commits":50,"total_committers":3,"mean_commits":"16.666666666666668","dds":0.07999999999999996,"last_synced_commit":"e7d1e59f779c877637647820287cb376b0d20633"},"previous_names":["lasuillard/mockoon-novnc"],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lasuillard%2Fmockoon-novnc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lasuillard%2Fmockoon-novnc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lasuillard%2Fmockoon-novnc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lasuillard%2Fmockoon-novnc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lasuillard","download_url":"https://codeload.github.com/lasuillard/mockoon-novnc/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248271568,"owners_count":21075800,"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","mockoon","nginx","novnc"],"created_at":"2024-10-10T12:45:51.816Z","updated_at":"2025-04-10T18:31:40.800Z","avatar_url":"https://github.com/lasuillard.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# mockoon-novnc\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![pre-commit.ci status](https://results.pre-commit.ci/badge/github/lasuillard/mockoon-novnc/main.svg)](https://results.pre-commit.ci/latest/github/lasuillard/mockoon-novnc/main)\n![GitHub Release](https://img.shields.io/github/v/release/lasuillard/mockoon-novnc)\n\nDocker image for Mockoon GUI with noVNC.\n\n![Demo](/docs/demo.png)\n\n## ✨ Features\n\n[Mockoon](https://mockoon.com/) is great free, open-source mock server GUI application provides rich features except it does not provide web-based UI. This image aims to provide an workaround for web-based UI of Mockoon, providing extra mocking functionalities for development environments:\n\n- Provide access to Mockoon GUI through web UI (noVNC)\n\n- NGINX for path-based port forwarding\n\n    Mockoon provides features to run multiple Mockoon environments however you will need additional ports. Behind load balancers, for example, AWS Application Load Balancers (ALB), it's not easy to expose range of ports easily, if you wish to expose hundreds of ports (e.g. 3000-3999).\n\n    Here NGINX comes in. Instead of specifying port to host, send request as following:\n\n        http://localhost/3000/path/to/mock\n\n    NGINX will handle it for you just as you've sent it like:\n\n        http://localhost:3000/path/to/mock\n\n    By default, if port not specified in path it will be redirected to port 3000. Request to `http://localhost/path/to/mock` is equal to `http://localhost/3000/path/to/mock`.\n\n    \u003e Only port range in 3000-3999 will be forwarded by configuration, otherwise NGINX will respond with **404 Not Found**.\n\n- Header-based port forwarding\n\n    Instead of port in path, you can use `X-Port-Forward` header to desired port number. It would be useful if you don't want path modification.\n\n    ```bash\n    $ curl --fail --silent http://localhost --header 'X-Port-Forward: 3678'\n    {\"Hello\": \"World!\"}\n    ```\n\n    Port range here also restricted to range of 3000-3999.\n\n    \u003e Path-based port forwarding may take precedence.\n\n## 📔 Usage\n\nYou can try this image with Docker Compose by simply checking it out and running `docker compose up --build`. For more details, please check `docker-compose.yaml` file.\n\nTo pull and run image from [Docker Hub](https://hub.docker.com/r/lasuillard/mockoon-novnc), as follow:\n\n```bash\n$ docker run --rm \\\n    -p 127.0.0.1:3000:3000 \\\n    -p 127.0.0.1:8080:8080 \\\n    -p 127.0.0.1:80:80 \\\n    -e DISPLAY_WIDTH=1024 \\\n    -e DISPLAY_HEIGHT=768 \\\n    -e NGINX_PATHPORT=yes \\\n    lasuillard/mockoon-novnc:main\n```\n\nBelow are variables defined by this image:\n\n- `NGINX_PATHPORT`\n\n    To enable path-based port forwarding, set environment variable `NGINX_PATHPORT` to `\"yes\"` when you run the container.\n\nOnce the container is up, you can access to noVNC UI at port http://localhost:8080. By default, demo mock API will be available at http://localhost:3000 (or http://localhost/3000 if you've enabled the NGINX path port).\n\nTest it with following simple `curl` command:\n\n```bash\n$ curl http://localhost:3000/users\n[{\"id\":\"054bf92d-cf1f-4c66-8fc9-256a1f41c480\",\"username\":\"Kaela10\"},...]\n```\n\nOr,\n\n```bash\n$ curl http://localhost/3000/users\n[{\"id\":\"054bf92d-cf1f-4c66-8fc9-256a1f41c480\",\"username\":\"Kaela10\"},...]\n```\n\nSupported environment variables:\n\n- `DISPLAY_WIDTH`, `DISPLAY_HEIGHT`: noVNC display geometry. Each defaults to `1024` and `768`.\n\n- `NGINX_PATHPORT`: Whether to use NGINX path-based and header-based port forwarding. Disabled by default.\n\n## ⚠️ Limitations\n\nThere are known limitations so far:\n\n- As base image built for amd64 architecture, it won't work properly on other architectures such as Apple with M chips. You will observe the QEMU crash logs.\n\n- Clipboard may not work properly for some languages due to limitations of noVNC itself, which the base image relies on. See related issue [here](https://github.com/novnc/noVNC/issues/1708).\n\n## 🙏 Thanks\n\nThis image previously has been built based on [theasp/novnc](https://github.com/theasp/docker-novnc/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flasuillard%2Fmockoon-novnc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flasuillard%2Fmockoon-novnc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flasuillard%2Fmockoon-novnc/lists"}