Starter
Sample project built on top of the Websight CMS
Install / Use
/learn @websight-io/StarterREADME
WebSight Blueprint
WebSight Blueprint is a sample project built on top of the Websight CMS Community Edition.
It contains demo pages:
- Luna in three variants (no-code, low-code, custom-code)
- Puresight
- Kyanite - personal template
Those pages are built with Howlite and Kyanite component libraries.
Playground
Set up a local on-demand environment with the released WebSight CMS CE Docker images by running:
curl https://docs.websight.io/scripts/get.sh | sh
and then see the results on localhost:8080/apps/websight/index.html/content::spaces (credentials are wsadmin/wsadmin).

For more details see our Authoring Quick Start Guide.
Websight Technologies
Find out what technologies the Dynamic Solutions team has used to design, build and launch WebSight.
CMS
Websight CMS makes use of the following technologies:
<table align="center"> <tr> <td align="center" valign="middle"> <a href="https://www.java.com" target="_blank"> <img src="assets/technologies/java-logo.png" alt="Java" width="100"> </a> </td> <td align="center" valign="middle"> <a href="https://felix.apache.org" target="_blank"> <img src="assets/technologies/osgi-logo.png" alt="OSGi" width="100"> </a> </td> <td align="center" valign="middle"> <a href="https://sling.apache.org" target="_blank"> <img src="assets/technologies/sling-logo.png" alt="Apache Sling" width="100"> </a> </td> <td align="center" valign="middle"> <a href="https://www.nginx.com" target="_blank"> <img src="assets/technologies/nginx-logo.png" alt="nginx" width="100"> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://www.jackrabbit.apache.org" target="_blank"> <img src="assets/technologies/jackrabbit-logo.png" alt="Apache Jackrabbit" width="100"> </a> </td> <td align="center" valign="middle"> <a href="https://reactjs.org" target="_blank"> <img src="assets/technologies/react-logo.png" alt="ReactJS" width="100"> </a> </td> <td align="center" valign="middle"> <a href="https://www.typescriptlang.org" target="_blank"> <img src="assets/technologies/typescript-logo.png" alt="TypeScript" width="100"> </a> </td> <td align="center" valign="middle"> <a href="https://www.mongodb.com" target="_blank"> <img src="assets/technologies/mongodb-logo.png" alt="MongoDB" width="100"> </a> </td> </tr> </table>CMS Runtime
The following technologies are used for running WebSight:
<table align="center"> <tr> <td align="center" valign="middle"> <a href="https://aws.amazon.com" target="_blank"> <img src="assets/technologies/aws-logo.png" alt="AWS" width="100"> </a> </td> <td align="center" valign="middle"> <a href="https://www.docker.com" target="_blank"> <img src="assets/technologies/docker-logo.png" alt="Docker" width="100"> </a> </td> </tr> </table>CMS Supportive
The following technologies are used to support the process of delivery:
<table align="center"> <tr> <td align="center" valign="middle"> <a href="https://www.gnu.org/software/bash" target="_blank"> <img src="assets/technologies/bash-logo.png" alt="Bash" width="100"> </a> </td> <td align="center" valign="middle"> <a href="https://maven.apache.org" target="_blank"> <img src="assets/technologies/maven-logo.png" alt="Maven" width="100"> </a> </td> <td align="center" valign="middle"> <a href="https://www.cypress.io" target="_blank"> <img src="assets/technologies/cypress-logo.png" alt="Cypress" width="100"> </a> </td> <td align="center" valign="middle"> <a href="https://www.percy.io" target="_blank"> <img src="assets/technologies/percy-logo.png" alt="Percy.io" width="100"> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://bitbucket.org/product/features/pipelines" target="_blank"> <img src="assets/technologies/bitbucket-logo.png" alt="Bitbucket" width="100"> </a> </td> <td align="center" valign="middle"> <a href="https://www.atlassian.com/software/confluence" target="_blank"> <img src="assets/technologies/confluence-logo.png" alt="Confluence" width="100"> </a> </td> <td align="center" valign="middle"> <a href="https://www.atlassian.com/software/jira" target="_blank"> <img src="assets/technologies/jira-logo.png" alt="Jira" width="100"> </a> </td> <td align="center" valign="middle"> <a href="https://github.com/features/actions" target="_blank"> <img src="assets/technologies/github-logo.png" alt="Github Actions" width="100"> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://yaml.org" target="_blank"> <img src="assets/technologies/yaml-logo.png" alt="YAML" width="100"> </a> </td> </tr> </table>Design and Prototype
The following technologies are used in designing and prototyping:
<table align="center"> <tr> <td align="center" valign="middle"> <a href="https://www.figma.com" target="_blank"> <img src="assets/technologies/figma-logo.png" alt="Figma" width="100"> </a> </td> <td align="center" valign="middle"> <a href="https://miro.com" target="_blank"> <img src="assets/technologies/miro-logo.png" alt="Miro" width="100"> </a> </td> </tr> </table>Development
You need to have Java 17 installed to build the project.
To build the project, run:
./mvnw clean package
To start a local instance (with debugging enabled on port 7777), run:
JAVA_DEBUG_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:7777"
export JAVA_OPTS="${JAVA_OPTS} ${JAVA_DEBUG_OPTS}"
distribution/target/dependency/org.apache.sling.feature.launcher/bin/launcher \
-f distribution/target/slingfeature-tmp/feature-websight-cms-starter-tar.json \
-D org.osgi.service.http.port=8888
The logs will be available at launcher/logs directory.
Then open http://localhost:8888/ in a Web browser and log in using the credentials wsadmin/wsadmin.
For more details please refer to our Developers quick start guide.
Run modes
Running the starter WebSight CMS project requires selecting OAK Node Storage mode. To choose the mode, run the distribution with one of the following configuration files:
feature-websight-cms-starter-tar.json- starts the project with theTARSegment NodeStore mode (uses the local file system, by default./launcherdirectory)feature-websight-cms-starter-mongo.json- starts the project with theMongoDBDocument NodeStore mode (requires MongoDB instance)
To run the stater project with MongoDB run:
docker run -d -p 27017:27017 --env MONGO_INITDB_ROOT_USERNAME=mongoadmin \
--env MONGO_INITDB_ROOT_PASSWORD=mongoadmin mongo
MONGODB_HOST=localhost && MONGODB_PORT=27017 && distribution/target/dependency/org.apache.sling.feature.launcher/bin/launcher \
-f distribution/target/slingfeature-tmp/feature-websight-cms-starter-mongo.json
Project structure
applications- components related code and scriptsluna-custom-code- contains code related tocustom-codeversion of the Luna projectbackend- contains application elements (components, templates, etc.) and Java codefrontend- contains frontend elements (scss, ts, fonts etc.)
luna-low-code- contains code related tolow-codeversion of the Luna projectbackend- contains application elements (components, templates, etc.) and Java codefrontend- contains frontend elements (scss, ts, fonts etc.)
puresight- contains code related to Puresight projectbackend- contains application elements (components, templates, etc.) and Java codefrontend- contains frontend elements (scss, ts, fonts etc.)content- contains initial content related to the project
content- contains sample content created with use of applicationdistribution- builds a distribution (Sling OSGi Feature) of the projecttests- responsible for the automatic distribution validationcontent- contains content used for end-to-end testsend-to-end- end-to-end tests validating distribution
Executing end-to-end tests
Check the tests README for more details.
Docker
You can run a containerized version of the project by building the Docker image with the following command:
docker build -t ds/websight-cms-starter .
And running it with:
docker run -p 8888:8080 --name websight-cms --rm \
--mount source=segment-store-repository,target=/websight/launcher/repository ds/websight-cms-starter
By default, the tar mode is used.
You can find an example WebSight CMS Starter with MongoDB setup in the CMS Helm Chart.
StreamX
The WebSight Blueprint integrates seamlessly with StreamX. To launch a StreamX instance, use the [StreamX CLI](https:
