diff --git a/README.md b/README.md index 193e30c..9f85dc7 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ [![Contributors][contributors-shield]][contributors-url] [![MIT License][license-shield]][license-url] -Development infrastructure projects monorepo. This repo containt prebuilt devcontainer images, devcontainer features, nx plugins. +Development infrastructure projects monorepo. This repo containt prebuilt devcontainer images, devcontainer features, docker images, nx plugins. This project is mainly used internally within ebizbase projects but we have decided to share the entire source code of the project for the community to use and contribute. @@ -18,34 +18,42 @@ This project is mainly used internally within ebizbase projects but we have deci ### devcontainer features -| Name | Description| -| ---------- | ---------- | -| [omz-plugin][omz-plugin-readme] | This feature will install and active plugins for oh my zsh | -| [install-npm-package-globally][install-npm-package-globally-readme] | This feature will be install npm packages globally | -| [powerlevel10k][powerlevel10k-readme] | This feature will install, activate and config powerlevel10k theme for oh my zsh | -| [npm-playwright][npm-playwright-readme] | This feature will be install playwright via npm with os dependencies and browser binaries | +| Name | Description | +| ------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | +| [omz-plugin][omz-plugin-readme] | This feature will install and active plugins for oh my zsh | +| [install-npm-package-globally][install-npm-package-globally-readme] | This feature will be install npm packages globally | +| [powerlevel10k][powerlevel10k-readme] | This feature will install, activate and config powerlevel10k theme for oh my zsh | +| [npm-playwright][npm-playwright-readme] | This feature will be install playwright via npm with os dependencies and browser binaries | +### devcontainer images -### devconainer images +| Name | Description | +| ----------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [base-devcontainer][base-devcontainer-readme] | The [`base-devcontainer`][base-devcontainer-readme] is a prebuild devcontainer image base on debian with common-utils and provide good experiences interacting with the zsh shell | +| [node-devcontainer][node-devcontainer-readme] | The image base on [`base-devcontainer`][base-devcontainer-readme] with latest NodeJS LTS version (includes npm, pnpm, yarn, bun) | +| [node-dind-devcontainer][node-dind-devcontainer-readme] | The image base on [`node-devcontainer`][node-devcontainer-readme] with docker in docker | +| [node-dind-playwright-devcontainer][node-dind-playwright-devcontainer-readme] | The image base on [`node-dind-devcontainer`][node-dind-devcontainer-readme] with playwright installed (both OS dependencies and browser binary) | +| [node-playwright-devcontainer][node-playwright-devcontainer-readme] | The image base on [`node-devcontainer`][node-devcontainer-readme] with playwright installed (both OS dependencies and browser binary) | -| Name | Description| -| ---------- | ---------- | -| [base-devcontainer][base-devcontainer-readme] | The `base-devcontainer` is a prebuild devcontainer image base on debian with common-utils and provide good experiences interacting with the zsh shell | -| [node-devcontainer][node-devcontainer-readme] | The image base on `base-devcontainer` with latest NodeJS LTS version (includes npm, pnpm, yarn, bun) | -| [node-dind-devcontainer][node-dind-devcontainer-readme] |The image base on `node-devcontainer` with docker in docker | -| [node-dind-playwright-devcontainer][node-dind-playwright-devcontainer-readme] |The image base on `node-dind-devcontainer` with playwright installed (both OS dependencies and browser binary) | -[node-playwright-devcontainer][node-playwright-devcontainer-readme] |The image base on `node-devcontainer` with playwright installed (both OS dependencies and browser binary) | +### docker images + +| Name | Description | +| ----------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| [node-distroless][node-distroless-readme] | This image combines the compactness and security of distroless with the convenience of dumb-init for process management, making Node.js applications run more stably in a container environment. | +| [nginx-spa][node-distroless-readme] | This docker image can be used for single page apps. It serves your index.html if no other file matches. | ### npm packages -| Name | Description| -| ---------- | ---------- | -| [nx-devkit][nx-devkit-readme] | It contains many utility functions for interactive with nx workspace and projects | + +| Name | Description | +| ----------------------------- | --------------------------------------------------------------------------------- | +| [nx-devkit][nx-devkit-readme] | It contains many utility functions for interactive with nx workspace and projects | ### nx plugins -| Name | Description| -| ---------- | ---------- | -| [nx-docker][nx-docker-readme] | The NX plugin to build and push docker image -| [nx-dive][nx-dive-readme] | The NX plugin exploring a docker image, layer contents, and discovering ways to shrink the size of your Docker/OCI image base on [dive](https://github.com/wagoodman/dive) + +| Name | Description | +| ----------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [nx-docker][nx-docker-readme] | The NX plugin to build and push docker image | +| [nx-dive][nx-dive-readme] | The NX plugin exploring a docker image, layer contents, and discovering ways to shrink the size of your Docker/OCI image base on [dive](https://github.com/wagoodman/dive) |

(back to top)

@@ -81,19 +89,17 @@ Distributed under the MIT License. See [LICENSE][license-url] for more informati [license-shield]: https://img.shields.io/github/license/ebizbase/dev-infras.svg [license-url]: https://github.com/ebizbase/dev-infras/blob/main/LICENSE.txt [contribution-guidelines-url]: https://github.com/ebizbase/dev-infras/blob/main/CONTRIBUTING.md -[npm-playwright-readme]:https://github.com/ebizbase/dev-infras/blob/main/devcontainer-features/npm-playwright/README.md +[npm-playwright-readme]: https://github.com/ebizbase/dev-infras/blob/main/devcontainer-features/npm-playwright/README.md [omz-plugin-readme]: https://github.com/ebizbase/dev-infras/blob/main/devcontainer-features/omz-plugin/README.md [install-npm-package-globally-readme]: https://github.com/ebizbase/dev-infras/blob/main/devcontainer-features/install-npm-package-globally/README.md [powerlevel10k-readme]: https://github.com/ebizbase/dev-infras/blob/main/devcontainer-features/powerlevel10k/README.md - -[base-devcontainer-readme]:https://github.com/ebizbase/dev-infras/blob/main/devcontainer-images/base-devcontainer/README.md -[node-devcontainer-readme]:https://github.com/ebizbase/dev-infras/blob/main/devcontainer-images/node-devcontainer/README.md -[node-dind-devcontainer-readme]:https://github.com/ebizbase/dev-infras/blob/main/devcontainer-images/node-dind-devcontainer/README.md -[node-playwright-devcontainer-readme]:https://github.com/ebizbase/dev-infras/blob/main/devcontainer-images/node-playwright-devcontainer/README.md -[node-dind-playwright-devcontainer-readme]:https://github.com/ebizbase/dev-infras/blob/main/devcontainer-images/node-dind-playwright-devcontainer/README.md - - +[base-devcontainer-readme]: https://github.com/ebizbase/dev-infras/blob/main/devcontainer-images/base-devcontainer/README.md +[node-devcontainer-readme]: https://github.com/ebizbase/dev-infras/blob/main/devcontainer-images/node-devcontainer/README.md +[node-dind-devcontainer-readme]: https://github.com/ebizbase/dev-infras/blob/main/devcontainer-images/node-dind-devcontainer/README.md +[node-playwright-devcontainer-readme]: https://github.com/ebizbase/dev-infras/blob/main/devcontainer-images/node-playwright-devcontainer/README.md +[node-dind-playwright-devcontainer-readme]: https://github.com/ebizbase/dev-infras/blob/main/devcontainer-images/node-dind-playwright-devcontainer/README.md [nx-devkit-readme]: https://github.com/ebizbase/dev-infras/blob/main/packages/nx-devkit/README.md - [nx-docker-readme]: https://github.com/ebizbase/dev-infras/blob/main/packages/nx-docker/README.md -[nx-dive-readme]: https://github.com/ebizbase/dev-infras/blob/main/packages/nx-dive/README.md \ No newline at end of file +[nx-dive-readme]: https://github.com/ebizbase/dev-infras/blob/main/packages/nx-dive/README.md +[node-distroless-readme]: https://github.com/ebizbase/dev-infras/blob/main/images/node-distroless/README.md +[nginx-spa-readme]: https://github.com/ebizbase/dev-infras/blob/main/images/nginx-spa/README.md diff --git a/images/nginx-spa/README.md b/images/nginx-spa/README.md index aded9a7..779446b 100644 --- a/images/nginx-spa/README.md +++ b/images/nginx-spa/README.md @@ -1,16 +1,22 @@ # node-distroless -This image combines the compactness and security of distroless with the convenience of dumb-init for process management, making Node.js applications run more stably in a container environment. +This docker image can be used for single page apps. It serves your index.html if no other file matches. -> This image is maintained with node latest LTS version +> This image is maintained with node latest stable nginx version ## Usage -The simple usage example - ```dockerfile -FROM ghcr.io/ebizbase/node-distroless -WORKDIR /usr/src/app -COPY . . -CMD [ "index.js" ] +FROM ghcr.io/ebizbase/nginx-spa +WORKDIR /app +COPY dist/ . ``` + +Simply run your container as follows: + +```shell +docker build -t your-app . +docker run -p 8000:80 your-app +``` + +Now you can visit http://localhost:8000/ in your browser or run curl -v http://localhost:8000/ to check if it's working. diff --git a/images/node-distroless/README.md b/images/node-distroless/README.md index aded9a7..7ee7bd0 100644 --- a/images/node-distroless/README.md +++ b/images/node-distroless/README.md @@ -6,11 +6,18 @@ This image combines the compactness and security of distroless with the convenie ## Usage -The simple usage example +To create your own dockerfile, simply copy your distribution folder (often dist/ or build/) to /app into the image. ```dockerfile FROM ghcr.io/ebizbase/node-distroless -WORKDIR /usr/src/app -COPY . . +WORKDIR /app +COPY /dist . CMD [ "index.js" ] ``` + +Simply run your container as follows: + +```shell +docker build -t your-app . +docker run your-app +```