/mocktail

Free, 11MB, containerized, self-hosted mock server.

Primary LanguageJavaScriptMIT LicenseMIT

Mocktail

Docker Image Version (latest by date) Docker Image Size (latest by date) Docker Image Version (latest semver) GitHub release (latest SemVer including pre-releases) Docker Build CI Docker Pulls

Mocktail is completely free, 11mb, self-hosted, containerized mock server with a dashboard.

There are no limitations or restrictions unlike most mock servers. You can mock any request. Mock apis can be exported and imported.

Quickstart 🚀 • Capabilities 😎

mocktail_gif

Quickstart

Helm ⎈

Deploy with Helm ⎈

youtube tutorial is being prepared.

$ helm repo add hhaluk https://huseyinnurbaki.github.io/charts/
$ helm install mocktail hhaluk/mocktail

****** Application url will be prompted. ******

Helm Upgrade Guideline

Keep in mind that sqlite solution is not persistent. A workaround is exporting data, then importing after the upgrade. I tried to move the apis.db under a directory to be able to mount the directory for persistency but couldn't make it work. Open a PR if you make it work :)

$ helm repo update hhaluk
$ helm upgrade mocktail hhaluk/mocktail

****** Application url will be prompted. ******

See values.yaml at https://github.com/Huseyinnurbaki/charts under hhaluk/mocktail for customized deployment.

Docker 🐳

Run Mocktail in a docker container 🐳 See Youtube Tutorial

$ docker run -p 4000:4000 -d hhaluk/mocktail:2.0.1

See "stable-version" tag at the beginning of this file to install the latest stable version.

Go to localhost:4000 🏃

Local Developement 🏃🏃

Running Backend 🏃

I prefer vscode for debug mode It's already configured. You can also use LiteIDE, GoLand, Delve directly. Up to you.

If you are just going to work on the Dashboard, running it in a container is also an option. Use the command under "Run Mocktail in a docker container"

Running Dashboard 🏃

$ cd mocktail-dashboard
$ yarn start 

Go to localhost:3001 🏃

Capabilities

  • Generate mock apis for Get/Post/Put/Patch/Delete using the Generate tab.
  • Catalog tab lists added apis.
  • See api details by clicking details button of an api under Catalog tab.
  • Test added apis.
  • Remove unused apis.
  • Export search results to json.
  • Import exported json.

V2 Keynotes ✅

  • NodeJS replaced with Go Fiber.
  • React Upgrade
  • Containerize Mocktail
  • Build Scripts (GitHub Actions)
  • Update Readme
  • Define deployment commands.
    • Docker
    • Kubernetes (Helm)

Upcoming Features 🔥

  • Multiple DB Support
  • Graphql support
  • Exception Mocking

References