Publish curated chimera source from 1978c431dc7a90efc2e8405e8b3c301cc7151895
This commit is contained in:
1 parent
3ceefb175f
commit
b00cc1a843
3 files changed
+39
-6
No files matched your search
@@ -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.
|
||||||
@@ -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",
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
Reference in new issue
Block a user