Deploy to VK Mini Apps hosting with one simple command

Usage no npm install needed!

<script type="module">
  import vkontakteVkMiniappsDeploy from 'https://cdn.skypack.dev/@vkontakte/vk-miniapps-deploy';


VK Mini Apps Deploy npm deps

Deploy straight to VK Mini Apps hosting with one simple command.


# install it from npm and symlink it into your PATH
npm install @vkontakte/vk-miniapps-deploy -g

# now run it!

You can also use npm run to package it with your app without installing it globally.

First add this to your scripts section of package.json:

  "scripts": {
    "deploy": "vk-miniapps-deploy",
    "clean-source": "rimraf README.md src webroot package.json"

And then install vk-miniapps-deploy as a devDependency:

npm install @vkontakte/vk-miniapps-deploy --save-dev

And now you can run npm run deploy to run the vk-miniapps-deploy installed in the local node_modules folder (even if you have never done npm install vk-miniapps-deploy -g).


To configure vk-miniapps-deploy all you need to do is specify a couple of things in your vk-hosting-config.json

  "static_path": "build",
  "app_id": "...",
  "endpoints": {
    "mobile": "index.html",
    "mvk": "index.html",
    "web": "index.html"

How to use:

  • Make sure that in package.json the key value «homepage» is «./»
  • Copy the example config to the root folder of your application vk-hosting-config.json.example and remove the suffix «.example»
  • Run yarn deploy

For your CI, you can use

$ env MINI_APPS_ACCESS_TOKEN=<token> yarn deploy

with user token retrieved from vk-miniapps-deploy OR service token of deployable application

There are two values to specify MINI_APPS_ENVIRONMENT: production or dev. All production builds will be also deployed on dev environment.

If you grep URL paths, you can use environment variable CI_URLS = true.


If you get an error User authorization failed: invalid session, try this comand:

rm ~/.config/configstore/@vkontakte/vk-miniapps-deploy.json