docker-compose.yml (base): dev env, runs the node app only and reads .env → connects to a remote MongoDB (e.g. Atlas) via MONGO_HOST/MONGO_TYPE
docker-compose.local.yml (override): adds a local mongo container and redirects the app to it (MONGO_HOST=mongo, MONGO_TYPE=mongodb, overriding .env)
Switch local ↔ remote: via the COMPOSE_FILE variable in .env (set in .env.example). Uncommented = local (node + mongo); commented = remote. See references/docker-ci.md
GitHub Actions (4 workflows)
Workflow
Trigger
Steps
codeql.yml
Push master/dev, PR, weekly
CodeQL security analysis
npm-publish.yml
Tags v*
ci → lint → test → build → npm publish
npm-test.yml
Push master/dev, PR
ci → lint → test
docker-build.yml
Push master
Build + push to GHCR (SHA + latest tags)
Production requirements
COOKIE_SECRET: Must be set (server refuses to start if missing)
Helmet CSP: Production-conditional (disabled in dev for HMR)
Error stack traces: Hidden in production responses
Graceful shutdown
Server listens to SIGTERM and SIGINT:
Stops accepting new connections
Closes MongoDB connection (closeDB)
Exits process cleanly
Ensures zero data loss during Docker stop / rolling updates.
Dependabot
Weekly npm updates (dependabot.yml): increasing version strategy.
1---2name: e-xode-vue-ssr-vue-ssr-deployment3description: Vue SSR Deployment4---56# Vue SSR Deployment78> Owns Docker, CI/CD pipelines, production configuration, and infrastructure.910## Docker1112- **Dockerfile**: Multi-stage build (build → production)13- **docker-compose.yml** (base): dev env, runs the `node` app only and reads `.env` → connects to a **remote** MongoDB (e.g. Atlas) via `MONGO_HOST`/`MONGO_TYPE`14- **docker-compose.local.yml** (override): adds a local `mongo` container and redirects the app to it (`MONGO_HOST=mongo`, `MONGO_TYPE=mongodb`, overriding `.env`)15- **Switch local ↔ remote**: via the `COMPOSE_FILE` variable in `.env` (set in `.env.example`). Uncommented = local (node + mongo); commented = remote. See `references/docker-ci.md`1617## GitHub Actions (4 workflows)1819| Workflow | Trigger | Steps |20| ------------------ | --------------------------- | ---------------------------------------- |21| `codeql.yml` | Push master/dev, PR, weekly | CodeQL security analysis |22| `npm-publish.yml` | Tags `v*` | ci → lint → test → build → npm publish |23| `npm-test.yml` | Push master/dev, PR | ci → lint → test |24| `docker-build.yml` | Push master | Build + push to GHCR (SHA + latest tags) |2526## Production requirements2728- `COOKIE_SECRET`: Must be set (server refuses to start if missing)29- Helmet CSP: Production-conditional (disabled in dev for HMR)30- Error stack traces: Hidden in production responses3132## Graceful shutdown3334Server listens to SIGTERM and SIGINT:35361. Stops accepting new connections372. Closes MongoDB connection (`closeDB`)383. Exits process cleanly3940Ensures zero data loss during Docker stop / rolling updates.4142## Dependabot4344Weekly npm updates (`dependabot.yml`): increasing version strategy.4546## Dynamic sitemap4748GET /sitemap.xml:4950- Cached in memory with 1h TTL51- Includes all public locale-prefixed routes52- Excludes auth/admin routes5354---55> Source: [e-xode/vue-ssr](https://github.com/e-xode/vue-ssr) — distributed by [TomeVault](https://tomevault.io).56<!-- tomevault:4.0:skill_md:2026-05-24 -->
Run npx skillmds@latest add tomevault-io/e-xode-vue-ssr-vue-ssr-deployment in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
Vue SSR Deployment It is listed under Web & Frontend on SkillMD.
This skill has not completed SkillMD's automated safety review yet. Independent scanners report: SkillSpector: PASS, Skill Scanner: PASS. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
tomevault-io (@tomevault-io) published this skill. Their other Agent Skills are listed on their SkillMD profile.