NIS2COMPASS is the public dissemination repository for an 8-month NIS2 readiness, evidence, and cybersecurity improvement project funded by the CYberSynchrony consortium through the Financial Support to Third Parties open-call instrument.
This repository contains public-safe documentation, reusable templates, synthetic examples, and the source for the project website.
Content development: SmartClover SRL.
Copyright: AI STM Learning SRL and SmartClover SRL, as the NIS2COMPASS consortium partners.
Project logo: site/public/logo.svg. The same SVG is used by the website header and browser icon.
Preferred public hub:
- Primary:
www.nis2compass.eu - Recommended redirect:
nis2compass.eutowww.nis2compass.euonce apex DNS is configured - Optional defensive redirect:
nis2compass.com - Optional short-link redirect only:
nis2compass.link
The website source lives in site/. The initial site is an Astro static application designed to run from the repository clone through Ratio1 Worker App Runner, without a project Dockerfile or a pre-built image.
Recommended minimal runtime for the initial documentation site:
| Item | Value |
|---|---|
| Deployment mode | Clone this Git repository and run commands from the repository root |
| Project Dockerfile | Not required and intentionally not used |
| R1 WAR base runtime image | Node.js 22 Alpine or equivalent Node.js 22 runtime |
| Single run command | ./start-website.sh |
| Separate build command, only if the runner requires one | ./start-website.sh build |
| Port | 8080, or the platform-provided PORT variable |
| CPU | 0.5 vCPU |
| Memory | 512 MB RAM |
| Disk | 1 GB minimum writable workspace, 2 GB recommended for install/build cache |
| Network | Outbound network required only during dependency install/build |
| Node.js | 22.x |
| npm | 11.x tested locally |
The app is intentionally static and small. Astro is used at build time, and sirv-cli serves the generated dist/ folder at runtime. The first deployment should not need a database, background worker, queue, secret store, persistent volume, Dockerfile, image registry, or pre-built container image.
Use this command from the repository root. It intentionally avoids cd site so a deployment runner can clone the repo and execute one clear command.
./start-website.shWith no argument, ./start-website.sh installs dependencies with npm ci, builds the static site into site/dist, and serves it on 0.0.0.0:${PORT:-8080}. To override the port, run PORT=8090 ./start-website.sh.
Useful explicit commands for operators:
./start-website.sh build
./start-website.sh start
./start-website.sh devUse ./start-website.sh build when a platform has a separate build phase. Use ./start-website.sh start only when site/dist already exists and you want to serve it without forcing a rebuild.
For Cloudflare Pages or Cloudflare Workers Static Assets, do not use a Node start command. Use the repository root as the project root, set the build command to ./start-website.sh build, set the build output directory or assets directory to site/dist, and set Node.js to 22.x.
docs/
Public project documentation, taxonomy, playbooks, templates, schemas, and synthetic examples.
site/
Astro website source for www.nis2compass.eu or the selected public domain.
ratio1/
Worker App Runner deployment notes and an example repo-clone deployment descriptor.
This repository may contain:
- Plain-language project explanations.
- NIS2 readiness learning material.
- CYberSynchrony alignment notes.
- Public-safe playbooks.
- Empty reusable templates.
- JSON Schemas for public-safe evidence examples.
- Synthetic examples with fake data.
- Website source and deployment notes.
This repository must not contain:
- Pilot architecture.
- Raw logs.
- Raw alerts.
- Real vulnerabilities or exploit details.
- Credentials, secrets, tokens, private endpoints, or customer data.
- Personal data.
- Payment records, support letters, signed annexes, or contract material.
- Internal-only proposal or funder communication unless explicitly cleared for publication.
See PUBLICATION_POLICY.md before publishing new material.
./start-website.shThe local preview server listens on 0.0.0.0:8080 by default.
Apache License 2.0. See LICENSE.