https://github.com/underpostnet/pwa-microservices-template-ghpkg
Base template for pwa/api-rest projects.
https://github.com/underpostnet/pwa-microservices-template-ghpkg
api-rest github-pages pwa template
Last synced: 23 days ago
JSON representation
Base template for pwa/api-rest projects.
- Host: GitHub
- URL: https://github.com/underpostnet/pwa-microservices-template-ghpkg
- Owner: underpostnet
- License: mit
- Created: 2024-10-27T17:16:21.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2026-05-23T22:40:40.000Z (about 1 month ago)
- Last Synced: 2026-05-23T23:21:31.850Z (about 1 month ago)
- Topics: api-rest, github-pages, pwa, template
- Language: JavaScript
- Homepage: https://underpostnet.github.io/pwa-microservices-template-ghpkg/
- Size: 7.48 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
underpost
[](https://github.com/underpostnet/engine/actions/workflows/docker-image.ci.yml) [](https://github.com/underpostnet/engine/actions/workflows/coverall.ci.yml) [](https://www.npmjs.com/package/underpost) [](https://www.jsdelivr.com/package/npm/underpost) [](https://socket.dev/npm/package/underpost/overview/3.2.12) [](https://coveralls.io/github/underpostnet/engine?branch=master) [](https://www.npmjs.org/package/underpost) [](https://www.npmjs.com/package/underpost)
#### Base template for pwa/api-rest projects.
## Underpost Platform
**Underpost** is an platform for application delivery, from infrastructure to runtime. The `underpost` npm package is its CLI toolchain surface.
The project covers:
- **Bare metal provisioning** on Rocky Linux 9.
- **Kubernetes / K3s / kubeadm / LXD** workflows for production, edge, and isolated workloads.
- **GitHub OSS repository flow** — clone, pull, push, commit, release, and CI integrations as first-class CLI subcommands.
- **CI/CD orchestration** — GitHub Actions integrations, container builds, multi-environment deployments.
- **Static build + PWA delivery** — every deploy ships as an installable Progressive Web App with Workbox-based offline support.
- **Cloudinary-backed static asset flow** for image/asset delivery.
- **ERP/CRM-style PWA base applications** as the default workload.
- **Cyberia** — a dedicated MMO extension built on top of the platform, with its own content backend (`engine-cyberia`), authoritative simulation runtime (`cyberia-server`), and presentation runtime (`cyberia-client`).
### Architectural roles (Cyberia stack)
When the platform is hosting the Cyberia MMO extension, three independent runtime processes participate. Their boundaries are non-overlapping.
| Process | Role |
| ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **engine-cyberia** (Node.js) | Content authority: maps, object layers, atlas/asset metadata, world configuration, persistence, validation, gRPC + REST data services, editor backend, asset distribution. |
| **cyberia-server** (Go) | Authoritative simulation runtime: tick advancement, AOI replication, input command processing, snapshot generation. |
| **cyberia-client** (C → WebAssembly) | Presentation runtime: rendering, UI, input capture, prediction, reconciliation, interpolation, client-side presentation defaults. |
The ecosystem is **playable only when all three are running and healthy**. Each service is supervised independently and owns its own monitor/reconnector. If any one is unhealthy, the game enters standby and resumes automatically once all three are healthy again.
See detailed Cyberia architecture.
## Create a new project
```bash
npm install -g underpost
```
```bash
underpost new app-name
```
After template installation, the server will be running on http://localhost:4001
## Usage
```bash
cd app-name
```
Build client bundle
```bash
npm run build
```
Run dev client server
```bash
npm run dev
```
## underpost ci/cd cli v3.2.12
### Usage: `underpost [options] [command]`
```
Options:
-V, --version output the version number
-h, --help display help for command
Commands:
new [options] [app-name] Initializes a new Underpost project, service, or configuration.
client [options] [deploy-id] [sub-conf] [host] [path] Builds client assets, single replicas, and/or syncs environment ports.
start [options] [env] Initiates application servers, build pipelines, or other defined services based on the deployment ID.
clone [options] Clones a specified GitHub repository into the current directory.
pull [options] Pulls the latest changes from a specified GitHub repository.
cmt [options] [path] [commit-type] [module-tag] [message] Manages commits to a GitHub repository, supporting various commit types and options.
push [options] Pushes committed changes from a local repository to a remote GitHub repository.
env [deploy-id] [env] [subConf] Sets environment variables and configurations related to a specific deployment ID.
static [options] Manages static build of page, bundles, and documentation with comprehensive customization options.
config [options] [key] [value] Manages Underpost configurations using various operators.
root Displays the root path of the npm installation.
ip [options] [ips] Displays the current public machine IP addresses.
cluster [options] [pod-name] Manages Kubernetes clusters, defaulting to Kind cluster initialization.
deploy [options] [deploy-list] [env] Manages application deployments, defaulting to deploying development pods.
secret [options] Manages secrets for various platforms.
image [options] Manages Docker images, including building, saving, and loading into Kubernetes clusters.
install Quickly imports Underpost npm dependencies by copying them.
db [options] [deploy-list] Manages database operations with support for MariaDB and MongoDB, including import/export, multi-pod targeting, and Git integration.
metadata [options] [deploy-id] [host] [path] Manages cluster metadata operations, including import and export.
cron [options] [deploy-list] [job-list] Manages cron jobs: execute jobs directly or generate and apply K8s CronJob manifests.
fs [options] [path] Manages file storage, defaulting to file upload operations.
test [options] [deploy-list] Manages and runs tests, defaulting to the current Underpost default test suite.
monitor [options] [env] Manages health server monitoring for specified deployments.
ssh [options] Manages SSH credentials and sessions for remote access to cluster nodes or services.
run [options] [path] Runs specified scripts using various runners.
lxd [options] [vm-id] Manages LXD virtual machines as K3s nodes (control plane or workers).
baremetal [options] [workflow-id] Manages baremetal server operations, including installation, database setup, commissioning, and user management.
release [options] [version] Release orchestrator for building new versions and deploying releases of the Underpost CLI.
help [command] display help for command
```