seel
seel is a command-line tool that facilitates the build of container image for your Node.js applications. You don't need to master container best practices or write a Dockerfile to build a container image, it's just as simple as invoking a command from your shell or npm script.
Table of Contents
Install
npm
$ npx seel # Run it once. $ npm install --global seel # Install globally. $ npm install --save-dev seel # Install locally to use it in npm scripts.
yarn
$ yarn global add seel # Install globally. $ yarn add seel --dev # Install locally to use it in npm scripts.
Usage
seel uses the Docker daemon to build the container image for your Node.js application. When you invoke the seel command, the Docker daemon must be running and accessible through the
/var/run/docker.sock
socket.
CLI
Options
Name | Description |
---|---|
‑v, ‑‑version | Print version. |
‑h, ‑‑help | Print usage information. |
‑‑cwd | Define the current working directory, defaults to . . |
‑‑entrypoint | Define the app entrypoint, defaults to bin or main script defined in package.json . The given path must be relative to the cwd. |
‑‑extra‑files | Define the extra files to include in the container image with a glob pattern, e.g. --extra-files 'public/**' . |
‑‑label | Define the container image label, e.g. --label key=value --label key2=value2 . By default, the version , description and maintainer labels are added to the container image. |
‑‑name | Define the container image name, defaults to the app name defined in package.json . |
‑‑pkg‑registry‑auth‑url | Set-up authentication for the given package registry base URL, e.g. https://myregistry.example.com . If the authentication token is not defined with ‑‑pkg‑registry‑auth‑token the environment variable AUTH_TOKEN will be used to read the authentication token. |
‑‑pkg‑registry‑auth‑token | Define the authentication token for the package registry base URL previously configured. |
‑‑port | Define the port that the container exposes at runtime, e.g. --port 3000 --port 4000/udp . |
‑‑tag | Define the container image tag, e.g. --tag latest --tag 1.0.0 . By default, the Semantic Versioning strategy is used to define the container image tags. |
API
; ; pkgRegistryAuth?: ;}; buildImage"/usr/app", options .thenstream .once"error", .pipeprocess.stdout .catch;
Examples
-
cli - A command-line app that outputs
Hello, World!
or greets the name passed as an argument. -
express - An Express app that responds
{"message":"Hello, World!"}
to HTTPGET /
requests or greets the name passed as query param. -
express-static - An Express app that serves the static files stored in the
public
directory.
Contributing
Contributions are welcome!
Want to file a bug, request a feature or contribute some code?
Check out the contribution guidelines.
License
MIT © kevinpollet