Jamsocket CLI

A CLI for the Jamsocket platform

Version Discord License

Install

We recommend you use npx jamsocket to run the Jamsocket CLI without explicitly installing it. You may also install it locally within a project using npm install jamsocket.

Authentication

Run npx jamsocket login.

If you want to use the Jamsocket CLI from an automated environment (e.g. a CI/CD pipeline), you can authenticate with an access token by running npx jamsocket login --token [ACCESS_TOKEN]. You can manage and generate access tokens from the Jamsocket Settings page.

Commands

jamsocket backend info BACKEND

Retrieves information about a backend given a Backend ID.

USAGE
  $ jamsocket backend info [BACKEND]

DESCRIPTION
  Retrieves information about a backend given a Backend ID.

EXAMPLES
  $ jamsocket backend info a8m32q

jamsocket backend list

List running backends for the logged-in user

USAGE
  $ jamsocket backend list

DESCRIPTION
  List running backends for the logged-in user

EXAMPLES
  $ jamsocket backend list

jamsocket backend logs BACKEND

Stream logs from a running backend.

USAGE
  $ jamsocket backend logs [BACKEND]

ARGUMENTS
  BACKEND  The backend ID, a random string of letters and numbers returned by the connect command.

DESCRIPTION
  Stream logs from a running backend.

ALIASES
  $ jamsocket logs

EXAMPLES
  $ jamsocket backend logs f7em2

jamsocket backend metrics BACKEND

Stream metrics from a running backend

USAGE
  $ jamsocket backend metrics [BACKEND]

ARGUMENTS
  BACKEND  The backend ID, a random string of letters and numbers returned by the connect command.

DESCRIPTION
  Stream metrics from a running backend

EXAMPLES
  $ jamsocket backend metrics f7em2

jamsocket backend terminate BACKENDS

Terminates one or more backends given the backend ID(s).

USAGE
  $ jamsocket backend terminate [BACKENDS] [-f]

FLAGS
  -f, --force  whether to force the backend to hard terminate (defaults to false)

DESCRIPTION
  Terminates one or more backends given the backend ID(s).

ALIASES
  $ jamsocket terminate

EXAMPLES
  $ jamsocket backend terminate abc123 def456 ...

jamsocket connect SERVICE

Gets a URL that can be used to connect to a session backend. Will spawn a new session backend if no key (aka lock) is provided or if no session backend is currently holding the provided key.

USAGE
  $ jamsocket connect [SERVICE] [-e <value>] [-t <value>] [-c <value>] [-i <value>] [-l <value>] [-k <value>]
    [-u <value>] [-a <value>] [--spawn]

ARGUMENTS
  SERVICE  Name of service to spawn.

FLAGS
  -a, --auth=<value>                    Optional serialized JSON to be passed to a session backend when connecting with
                                        the returned URL/connection string.
  -c, --cluster=<value>                 The cluster to to spawn the backend in (only relevant if you are running
                                        multiple clusters with Jamsocket).
  -e, --env=<value>...                  optional environment variables to pass to the container
  -i, --max-idle-seconds=<value>        The max time in seconds a session backend should wait after last connection is
                                        closed before shutting down container (default is 300)
  -k, --key=<value>                     If provided, fetches the session backend currently holding the given key
                                        (formerly known as a "lock"). If no session backend holds the key, or if a key
                                        is not provided, a new session backend will be spawned.
  -l, --lifetime-limit-seconds=<value>  The max time in seconds the session backend should be allowed to run.
  -t, --tag=<value>                     An optional image tag or image digest to use when spawning a backend.
  -u, --user=<value>                    Optional username to be associated with the URL/connection string returned by
                                        the connect command.
  --[no-]spawn                          Whether to spawn a new session backend if no session backend is currently
                                        holding the provided key.

DESCRIPTION
  Gets a URL that can be used to connect to a session backend. Will spawn a new session backend if no key (aka lock) is
  provided or if no session backend is currently holding the provided key.

ALIASES
  $ jamsocket connect

EXAMPLES
  $ jamsocket connect my-service

  $ jamsocket connect my-service -k my-key

  $ jamsocket connect my-service -t my-tag

  $ jamsocket connect my-service -e SOME_ENV_VAR=foo -e ANOTHER_ENV_VAR=bar

  $ jamsocket connect my-service -i 60

  $ jamsocket connect my-service -l 300

  $ jamsocket connect my-service --no-spawn

  $ jamsocket connect my-service -u my-user -a '{"foo":"my-json-data"}'

jamsocket dev

Starts a local jamsocket dev server. You may configure the dev server with a jamsocket.config.json file in the current directory or by passing flags. (Flags take precedence over jamsocket.config.json)

USAGE
  $ jamsocket dev [-f <value>] [-c <value>] [-w <value>] [-p <value>] [-i] [--style-log-output]

FLAGS
  -c, --context=<value>     Path to the build context for the Dockerfile (defaults to current working directory)
  -f, --dockerfile=<value>  Path to the session backend's Dockerfile
  -i, --[no-]interactive    Enables/Disables TTY iteractivity. (Defaults to true)
  -p, --port=<value>        The port to run the dev server on. (Defaults to 8080)
  -w, --watch=<value>...    A file or directory to watch for changes
  --[no-]style-log-output   Styles log output from session backends for better readability. (Defaults to true)

DESCRIPTION
  Starts a local jamsocket dev server. You may configure the dev server with a jamsocket.config.json file in the current
  directory or by passing flags. (Flags take precedence over jamsocket.config.json)

EXAMPLES
  $ jamsocket dev

  $ jamsocket dev --dockerfile session-backend/Dockerfile --watch src --watch package.json --port 8080

jamsocket help [COMMAND]

Display help for jamsocket.

USAGE
  $ jamsocket help [COMMAND] [-n]

ARGUMENTS
  COMMAND  Command to show help for.

FLAGS
  -n, --nested-commands  Include all nested commands in the output.

DESCRIPTION
  Display help for jamsocket.

See code: @oclif/plugin-help

jamsocket images SERVICE

List uploaded images for a given service (limited to 50 most recent images)

USAGE
  $ jamsocket images [SERVICE]

DESCRIPTION
  List uploaded images for a given service (limited to 50 most recent images)

ALIASES
  $ jamsocket images

EXAMPLES
  $ jamsocket images my-service

jamsocket login [ACCOUNT]

Authenticates user to the Jamsocket API.

USAGE
  $ jamsocket login [ACCOUNT] [-t <value>]

ARGUMENTS
  ACCOUNT  Account to use when logging in. (Only necessary for users with multiple accounts.)

FLAGS
  -t, --token=<value>  for automated environments, optional API token to log into the CLI with

DESCRIPTION
  Authenticates user to the Jamsocket API.

EXAMPLES
  $ jamsocket login

jamsocket logout

Logs out of Jamsocket and removes locally-stored credentials.

USAGE
  $ jamsocket logout

DESCRIPTION
  Logs out of Jamsocket and removes locally-stored credentials.

EXAMPLES
  $ jamsocket logout

jamsocket logs BACKEND

Stream logs from a running backend.

USAGE
  $ jamsocket logs [BACKEND]

ARGUMENTS
  BACKEND  The backend ID, a random string of letters and numbers returned by the connect command.

DESCRIPTION
  Stream logs from a running backend.

ALIASES
  $ jamsocket logs

EXAMPLES
  $ jamsocket logs f7em2

jamsocket push SERVICE [IMAGE]

Builds and pushes an image to Jamsocket’s container registry using the provided Dockerfile.

USAGE
  $ jamsocket push [SERVICE] [IMAGE] [-f <value>] [-c <value>] [-b <value>] [-t <value>] [-g]

ARGUMENTS
  SERVICE  Jamsocket service to push the image to
  IMAGE    Optionally, provide an image to push instead of a Dockerfile

FLAGS
  -b, --build-context=<value>...  Additional named build contexts to be used when building the image (e.g.
                                  --build-context alpine=docker-image://alpine@sha256:0123456789)
  -c, --context=<value>           path to the build context for the Dockerfile (defaults to current working directory)
  -f, --dockerfile=<value>        path to the Dockerfile to build the image from
  -g, --include-git-commit        optionally include git commit metadata as labels in the image (uses the git repo of
                                  the docker context)
  -t, --tag=<value>               optional tag to apply to the image in the jamsocket registry

DESCRIPTION
  Builds and pushes an image to Jamsocket's container registry using the provided Dockerfile.

EXAMPLES
  $ jamsocket push my-service -f path/to/Dockerfile

  $ jamsocket push my-service -f path/to/Dockerfile -c .

  $ jamsocket push my-service my-image -t my-tag

jamsocket service connect SERVICE

Gets a URL that can be used to connect to a session backend. Will spawn a new session backend if no key (aka lock) is provided or if no session backend is currently holding the provided key.

USAGE
  $ jamsocket service connect [SERVICE] [-e <value>] [-t <value>] [-c <value>] [-i <value>] [-l <value>] [-k <value>]
    [-u <value>] [-a <value>] [--spawn]

ARGUMENTS
  SERVICE  Name of service to spawn.

FLAGS
  -a, --auth=<value>                    Optional serialized JSON to be passed to a session backend when connecting with
                                        the returned URL/connection string.
  -c, --cluster=<value>                 The cluster to to spawn the backend in (only relevant if you are running
                                        multiple clusters with Jamsocket).
  -e, --env=<value>...                  optional environment variables to pass to the container
  -i, --max-idle-seconds=<value>        The max time in seconds a session backend should wait after last connection is
                                        closed before shutting down container (default is 300)
  -k, --key=<value>                     If provided, fetches the session backend currently holding the given key
                                        (formerly known as a "lock"). If no session backend holds the key, or if a key
                                        is not provided, a new session backend will be spawned.
  -l, --lifetime-limit-seconds=<value>  The max time in seconds the session backend should be allowed to run.
  -t, --tag=<value>                     An optional image tag or image digest to use when spawning a backend.
  -u, --user=<value>                    Optional username to be associated with the URL/connection string returned by
                                        the connect command.
  --[no-]spawn                          Whether to spawn a new session backend if no session backend is currently
                                        holding the provided key.

DESCRIPTION
  Gets a URL that can be used to connect to a session backend. Will spawn a new session backend if no key (aka lock) is
  provided or if no session backend is currently holding the provided key.

ALIASES
  $ jamsocket connect

EXAMPLES
  $ jamsocket service connect my-service

  $ jamsocket service connect my-service -k my-key

  $ jamsocket service connect my-service -t my-tag

  $ jamsocket service connect my-service -e SOME_ENV_VAR=foo -e ANOTHER_ENV_VAR=bar

  $ jamsocket service connect my-service -i 60

  $ jamsocket service connect my-service -l 300

  $ jamsocket service connect my-service --no-spawn

  $ jamsocket service connect my-service -u my-user -a '{"foo":"my-json-data"}'

jamsocket service create SERVICE

Creates a service

USAGE
  $ jamsocket service create [SERVICE]

DESCRIPTION
  Creates a service

EXAMPLES
  $ jamsocket service create my-service

jamsocket service delete SERVICE

Deletes a service

USAGE
  $ jamsocket service delete [SERVICE]

DESCRIPTION
  Deletes a service

EXAMPLES
  $ jamsocket service delete my-service

jamsocket service images SERVICE

List uploaded images for a given service (limited to 50 most recent images)

USAGE
  $ jamsocket service images [SERVICE]

DESCRIPTION
  List uploaded images for a given service (limited to 50 most recent images)

ALIASES
  $ jamsocket images

EXAMPLES
  $ jamsocket service images my-service

jamsocket service info SERVICE

Gets some information about a service

USAGE
  $ jamsocket service info [SERVICE]

DESCRIPTION
  Gets some information about a service

EXAMPLES
  $ jamsocket service info my-service

jamsocket service list

List services for the logged-in user

USAGE
  $ jamsocket service list

DESCRIPTION
  List services for the logged-in user

EXAMPLES
  $ jamsocket service list

jamsocket service use-image SERVICE

Sets the image tag or digest to use when spawning a service

USAGE
  $ jamsocket service use-image [SERVICE] -i <value>

ARGUMENTS
  SERVICE  Name of service whose spawning image should be updated.

FLAGS
  -i, --image=<value>  (required) image tag or digest for the service to use (Run `jamsocket images` for a list of
                       images you can use.)

DESCRIPTION
  Sets the image tag or digest to use when spawning a service

EXAMPLES
  $ jamsocket service use-image my-service -i latest

jamsocket terminate BACKENDS

Terminates one or more backends given the backend ID(s).

USAGE
  $ jamsocket terminate [BACKENDS] [-f]

FLAGS
  -f, --force  whether to force the backend to hard terminate (defaults to false)

DESCRIPTION
  Terminates one or more backends given the backend ID(s).

ALIASES
  $ jamsocket terminate

EXAMPLES
  $ jamsocket terminate abc123 def456 ...
Built by Jamsocket.