1
0
Fork 0
mirror of https://github.com/CardinalApps/self-hosted.git synced 2026-07-11 04:57:49 +00:00
No description
  • TypeScript 53.4%
  • SCSS 26.8%
  • CSS 19.3%
  • JavaScript 0.3%
  • MDX 0.1%
  • Other 0.1%
Find a file
briiian b050b7edb6 chore: add dev:oss script for running whatever packages are present
internal-repo-sha: 090958f128c873a540134c878b0e20df98378f92
2026-07-10 20:51:16 -04:00
.github chore(ci): add per-app emojis and fix the pinned reusable names 2026-07-10 20:51:16 -04:00
.vscode chore(remote-access-server): dx — launch configs, .env loader in dev, silence DEP0040 2026-06-26 23:21:43 -04:00
apps refactor: replace raw FontAwesome <i> usages with the Icon component 2026-07-10 20:51:16 -04:00
compose fix(media-server): pin SQLite compose to linux/x86_64 + flag macOS-only in Quick Start 2026-07-10 20:51:16 -04:00
config chore: relicense from Elastic License 2.0 to DISL 2026-07-10 20:51:16 -04:00
docs docs: interactive launch in quick start 2026-05-19 00:00:27 -04:00
libraries fix(ui): fix sidebar nav icon spacing regression from Icon component migration 2026-07-10 20:51:16 -04:00
servers/media fix(music): queue the full release when the MusicRelease play button is clicked 2026-07-10 20:51:16 -04:00
.dockerignore feat(cms): upgrade to Strapi 5 2026-07-10 20:51:16 -04:00
.gitignore chore: allowlist pnpm test/lint commands and ignore .playwright-mcp 2026-06-26 23:21:43 -04:00
.npmrc Publish self-hosted code [main] [0ee49f9] [2026-03-10T05:54:38] 2026-03-10 18:17:43 -04:00
.nvmrc ci: run code-validation and code-tests on self-hosted runners 2026-06-26 23:21:43 -04:00
Dockerfile.media-server chore: use ENV key=value format in media-server Dockerfile 2026-07-10 20:51:16 -04:00
LICENSE chore: relicense from Elastic License 2.0 to DISL 2026-07-10 20:51:16 -04:00
package.json chore: add dev:oss script for running whatever packages are present 2026-07-10 20:51:16 -04:00
pnpm-lock.yaml fix(bev): declare @reduxjs/toolkit dependency 2026-07-10 20:51:16 -04:00
pnpm-workspace.yaml fix(media): bundle linux-x64 sharp natives in the pkg binary 2026-07-10 20:51:16 -04:00
README.md chore: relicense from Elastic License 2.0 to DISL 2026-07-10 20:51:16 -04:00
turbo.json test(admin-web e2e): split FTS suite + fix shared-server races 2026-06-26 23:21:43 -04:00

Self-Hosted Cardinal Apps

This monorepo contains the source code for all self-hosted Cardinal apps.

Made with:

  • TypeScript
  • React (Vite)
  • Redux (RTK)
  • Node.js (Nest.js)

Quick start

See Quick Start for instructions on how to run this code.

Packages

These are the packages in this monorepo.

Package Directory Dev Port Description
admin-web /apps 3090 Cardinal Media Server Admin web app
cinema-web /apps 3096 Cardinal Cinema web app
music-web /apps 3094 Cardinal Music web app
photos-web /apps 3092 Cardinal Photos web app
eslint /config - ESLint configurations
typescript /config - TypeScript configurations
access-control /libraries - Access Control (RBAC) core
app-settings /libraries - App settings and utils
products /libraries - Data about Cardinal's products
topology /libraries - Infrastructure topology
types /libraries - Not used
ui /libraries 3099 UI layer & React component library with Storybook
media /servers 3080, 24800 Monolithic Media Server

About This Repository

How do I use this as someone that wants to build an app that uses Cardinal's APIs?

You should develop against the beta or latest release available on Docker Hub instead.

How do I build the apps?

The official builds that are on Docker Hub are built and published by Cardinal's CI. While you can definitely build and use Docker images using this repository, doing so is out of scope of this repository and there is no orchestration available for it beyond running the pnpm commands yourself one by one.

Running self-built containers is not offically supported, and this repository may change at any time in ways that break self-build setups.

Can I use this to verify the integrity of the public builds?

Sort of? The Media Server binary that you can build with this repository will exactly match the one that is shipped in the public Docker builds.

But, like other CI things, this is out of scope of this repository.

Is this made with AI?

Guidelines for working with AI coding assistants can be found in the Contributors docs. The first AI code was added in 2026. All code prior to that was pure human.

About the commit history

This repository was created in March 2026. Prior to that, this project was closed source.

This project began in 2023, in pure JavaScript in separate repositories, and by 2026 it had become the fully TypeScript monorepo that is seen here. During those years the code went through a few different repositories, so there is unfortunately no single linear history of commits.

The second commit in this repository is a squashed commit containing all the self-hosted code since the beginning. That one commit adds 270k lines of code, and it is also the last commit before AI coding assistants were allowed to contribute.

Contributing
  • Suggestions: Create a post on the forums or create a GitHub issue.
  • Bug Reports: Create a GitHub issue. For a serious vulnerability, please disclose responsibly using the email on the Contact page.
  • Code Contributions: Public contributions are currently closed. If you particularly like this project then come say hello in the Forums or on Reddit.

License

Licensed under DISL (dualinterestlicense.com)

Copyright Cardinal Apps Inc. 2023 - 2026