Publish curated chimera source from 1978c431dc7a90efc2e8405e8b3c301cc7151895

This commit is contained in:
Public Source Publisher committed 2026-10-01 14:29:14 +00:00
1 parent 3ceefb175f
commit b00cc1a843
3 files changed
+39 -6

No files matched your search

+1 -1
View File
@@ -1,3 +1,3 @@
# Public source export # Public source export
This source snapshot was generated from the private canonical repository at revision `95e6b4be8a9669686a6241fda6f22034fd8d0b5c`. It contains no private Git history or operational evidence. Changes are published from the canonical repository. This source snapshot was generated from the private canonical repository at revision `1978c431dc7a90efc2e8405e8b3c301cc7151895`. It contains no private Git history or operational evidence. Changes are published from the canonical repository.
+3 -3
View File
@@ -1,6 +1,6 @@
{ {
"schemaVersion": 1, "schemaVersion": 1,
"sourceRevision": "95e6b4be8a9669686a6241fda6f22034fd8d0b5c", "sourceRevision": "1978c431dc7a90efc2e8405e8b3c301cc7151895",
"files": [ "files": [
{ {
"path": ".dockerignore", "path": ".dockerignore",
@@ -59,8 +59,8 @@
}, },
{ {
"path": "README.md", "path": "README.md",
"sha256": "f8ddee78ee5231a2efa3f3e941a2acab8679107063e98b7acdb64e8455e0f786", "sha256": "9afa01877fd56bc06cf7ccdbfe9ae422b5a24e159a7adf6c212d450b886ea721",
"bytes": 6284 "bytes": 8372
}, },
{ {
"path": "SECURITY.md", "path": "SECURITY.md",
+35 -2
View File
@@ -1,4 +1,4 @@
# Chimera — Public Source # Chimera - Public Source
**A self-hosted PS4/PS5 library and console operations platform.** **A self-hosted PS4/PS5 library and console operations platform.**
@@ -34,11 +34,22 @@ Requires **Node.js 24** and **npm 11**. The browser server is the simplest sourc
git clone https://gitea.itworx.tech/Jens/chimera-Public.git git clone https://gitea.itworx.tech/Jens/chimera-Public.git
cd chimera-Public cd chimera-Public
npm ci --ignore-scripts npm ci --ignore-scripts
HOST=127.0.0.1 PORT=6967 npm run start:server CHIMERA_DATA_DIR="$HOME/.local/share/chimera-evaluation" HOST=127.0.0.1 PORT=6967 npm run start:server
``` ```
Open `http://127.0.0.1:6967`, create the administrator when prompted and use a unique password. Server state is created outside tracked source in the application's configured data directory. For a disposable evaluation set `CHIMERA_DATA_DIR` to an empty directory. Native optional tools and Electron require their separate prerequisites; `--ignore-scripts` intentionally does not install their binaries. Open `http://127.0.0.1:6967`, create the administrator when prompted and use a unique password. Server state is created outside tracked source in the application's configured data directory. For a disposable evaluation set `CHIMERA_DATA_DIR` to an empty directory. Native optional tools and Electron require their separate prerequisites; `--ignore-scripts` intentionally does not install their binaries.
On Windows PowerShell, set the same local boundary explicitly:
```powershell
$env:CHIMERA_DATA_DIR = Join-Path $env:LOCALAPPDATA "Chimera-evaluation"
$env:HOST = "127.0.0.1"
$env:PORT = "6967"
npm run start:server
```
The configured directory is persistent application state. Keep it outside Git and retain it when restarting the server.
### Source-only container ### Source-only container
Create the external secret files and configure the HTTPS origin before starting the container: Create the external secret files and configure the HTTPS origin before starting the container:
@@ -54,12 +65,34 @@ sudo chmod 600 /secure/chimera/master.key /secure/chimera/bootstrap.token
docker compose up --build -d docker compose up --build -d
``` ```
Open the configured HTTPS origin, enter the contents of the external bootstrap-token file in the first-run form, create the administrator and select the permitted storage roots. Compose maps `CHIMERA_BOOTSTRAP_TOKEN_PATH` to the container’s `CHIMERA_BOOTSTRAP_TOKEN_FILE`. Local loopback evaluation does not require this remote bootstrap token.
Local Compose file secrets keep host permissions. The image runs as UID 1000, so ensure it can read both mounted secret files; adapt the ownership/ACL for rootless Docker. Local Compose file secrets keep host permissions. The image runs as UID 1000, so ensure it can read both mounted secret files; adapt the ownership/ACL for rootless Docker.
The public Compose example exposes only `127.0.0.1:6967`, persists application state in a named volume and runs as an unprivileged user. The container binds internally to all interfaces so that Docker port forwarding works; HTTPS origin, host and secret settings remain required. It does not mount your host libraries or bundle console payloads/native conversion tools. Start with an empty instance before configuring read-only library mounts. The public Compose example exposes only `127.0.0.1:6967`, persists application state in a named volume and runs as an unprivileged user. The container binds internally to all interfaces so that Docker port forwarding works; HTTPS origin, host and secret settings remain required. It does not mount your host libraries or bundle console payloads/native conversion tools. Start with an empty instance before configuring read-only library mounts.
For network access, use an HTTPS reverse proxy and configure `CHIMERA_PUBLIC_ORIGIN`, `CHIMERA_ALLOWED_HOSTS`, `CHIMERA_COOKIE_SECURE=1`, `CHIMERA_TRUST_PROXY=1`, a high-entropy master key file and a separate bootstrap-token file. Keep those files outside the repository. The server rejects an incomplete security boundary on non-loopback binds. Do not expose the plain HTTP evaluation port directly to the internet. For network access, use an HTTPS reverse proxy and configure `CHIMERA_PUBLIC_ORIGIN`, `CHIMERA_ALLOWED_HOSTS`, `CHIMERA_COOKIE_SECURE=1`, `CHIMERA_TRUST_PROXY=1`, a high-entropy master key file and a separate bootstrap-token file. Keep those files outside the repository. The server rejects an incomplete security boundary on non-loopback binds. Do not expose the plain HTTP evaluation port directly to the internet.
## Verify startup and preserve state
```bash
docker compose config
docker compose ps
docker compose logs --tail=100 chimera
curl http://127.0.0.1:6967/health/live
curl http://127.0.0.1:6967/health/ready
```
`/health/live` checks the responding HTTP process. Before administrator setup, `/health/ready` returns HTTP 503 with `setup-required`. After setup, inspect its JSON status and volume details: HTTP 200 can still report `attention`. Neither endpoint proves console connectivity.
Back up persistent application state and the external master-key file together before upgrading. The public `chimera-data` volume stores configuration, the database, encrypted secrets, logs, caches and application backups. Retain the previous source revision or image for rollback. Removing a named volume with `docker compose down -v` erases its state.
## What works without a console?
You can evaluate administrator setup, navigation, configuration and local state without a console. Console inventory, FTP transfers, media retrieval and console operations need separately configured compatible services. The public container excludes payload binaries and native conversion tools.
Remote Play runs through a separately installed native client on the paired computer. Chimera coordinates that companion; it does not stream console video inside the browser.
## Usage ## Usage
1. Create an administrator and review settings. 1. Create an administrator and review settings.