Skip to content

Commit 4a01875

Browse files
committed
Address PR #4142 review comments
- Fix wildcard (*) rendering bug in JWT permissions table - Clarify ENVIRONMENTS_MANAGEMENT_SECRET_KEY description - Simplify filesystem storage IMPORTANT admonition - Un-collapse PostgreSQL compose file for consistency - Promote MySQL version pinning to WARNING admonition - Align Redis description with overview diagram label
1 parent 87be074 commit 4a01875

3 files changed

Lines changed: 6 additions & 9 deletions

File tree

modules/ROOT/pages/tinymceai-on-premises-database.adoc

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
This page covers the *data layer*: the SQL database, Redis, and file storage. These components must be running and accessible before the AI service container can start — the service connects to them on boot and will not proceed without them.
77

88
* *SQL database*: stores persistent data such as configurations, conversations, files, and documents.
9-
* *Redis*: handles temporary data and inter-instance communication for scaling. When multiple application instances are running, Redis ensures that data is shared correctly across all of them.
9+
* *Redis*: caching and coordination (SSE delivery, rate limits, pub/sub). Enables the AI service to remain stateless.
1010
* *File storage*: stores uploaded files and documents.
1111
1212
Configure the data layer first, then proceed to xref:tinymceai-on-premises-providers.adoc[LLM providers] and xref:tinymceai-on-premises-jwt.adoc[JWT authentication]. For container runtimes, reverse proxies, Transport Layer Security (TLS), Kubernetes, and ECS deployment, see the xref:tinymceai-on-premises-production.adoc[Production deployment guide].
@@ -85,7 +85,7 @@ TIP: Pin specific major versions for all data layer images (`mysql:8.0`, `postgr
8585
[[mysql-version-pinning]]
8686
=== MySQL
8787

88-
Do *not* use `mysql:8`. That tag now floats to the latest MySQL, which removes the `default-authentication-plugin=mysql_native_password` startup flag the AI service relies on. The container crashloops with:
88+
WARNING: Do *not* use `mysql:8`. That tag now floats to the latest MySQL, which removes the `default-authentication-plugin=mysql_native_password` startup flag the AI service relies on. The container crashloops with:
8989

9090
....
9191
[ERROR] [MY-000067] [Server] unknown variable 'default-authentication-plugin=mysql_native_password'.
@@ -206,8 +206,6 @@ volumes:
206206
----
207207

208208
.PostgreSQL compose file
209-
[%collapsible]
210-
====
211209
[source,yaml]
212210
----
213211
services:
@@ -240,7 +238,6 @@ services:
240238
volumes:
241239
pg_data:
242240
----
243-
====
244241

245242
If using PostgreSQL and not using `DATABASE_SCHEMA=public`, after `docker compose up -d`, create the schema:
246243

@@ -620,7 +617,7 @@ STORAGE_DRIVER=filesystem
620617
STORAGE_LOCATION=/tmp/ai-storage
621618
----
622619

623-
IMPORTANT: The container runs as a non-root user and cannot write under `/var`. Mount a writable volume and point `STORAGE_LOCATION` at the mount point: `-v ./ai-storage:/tmp/ai-storage`.
620+
IMPORTANT: The AI service container runs as a non-root user. Mount a writable volume and point `STORAGE_LOCATION` at the mount path (for example, `-v ./ai-storage:/tmp/ai-storage`).
624621

625622
=== Database
626623

modules/ROOT/pages/tinymceai-on-premises-jwt.adoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ The API Secret is generated when creating an access key inside an environment, i
5252
|===
5353
|Credential |Purpose |Used by
5454
|*API Secret* |Signs user-facing JWTs presented to the AI runtime endpoints. Created per access key inside an environment. |The application token endpoint. Never appears in any management call.
55-
|*`ENVIRONMENTS_MANAGEMENT_SECRET_KEY`* |Signs Management Panel logins. Set as an environment variable on the AI service container. |The Management Panel UI.
55+
|*`ENVIRONMENTS_MANAGEMENT_SECRET_KEY`* |Password to log in to the Management Panel. Set as an environment variable on the AI service container. |The Management Panel UI.
5656
|===
5757

5858
These two credentials are unrelated. Using one in place of the other produces `invalid-jwt-signature`.
@@ -70,7 +70,7 @@ Every token MUST contain the following claims.
7070
|`iat` |number |Issued-at, seconds since epoch (UTC).
7171
|`exp` |number |Expiry, seconds since epoch (UTC). Recommend `iat {plus} 3600` for demos, `iat {plus} 900` for production. The server applies 60 seconds of clock-skew leeway; tokens up to 60 seconds past `exp` still verify.
7272
|`sub` |string |Unique, stable user identifier. Conversation history is isolated per-`sub`; do not reuse one `sub` across users or conversations will leak between them.
73-
|`auth.ai.permissions` |`string[]` |Array of feature permission strings. See the permissions reference below. Wildcards (`*`) are accepted only in the documented positions; the bare string `"*"` is rejected.
73+
|`auth.ai.permissions` |`string[]` |Array of feature permission strings. See the permissions reference below. Wildcards (pass:[*]) are accepted only in the documented positions; the bare string `"*"` is rejected.
7474
|===
7575

7676
== Optional claims

modules/ROOT/pages/tinymceai-on-premises.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ The infrastructure consists of three layers:
1515
* The *application layer* runs the AI service container and communicates with LLM providers to process AI requests. It may consist of one or more instances behind a load balancer (round-robin recommended). Each instance runs the same stateless container image.
1616
* The *data layer* consists of a SQL database, a Redis instance, and file storage:
1717
** *SQL database*: stores persistent data: configurations, conversations, files, and documents.
18-
** *Redis*: handles temporary data and inter-instance communication for scaling. When multiple instances are running, Redis ensures data is shared correctly across all of them.
18+
** *Redis*: caching and coordination (SSE delivery, rate limits, pub/sub). Enables the AI service to remain stateless.
1919
** *File storage*: stores uploaded files and documents (S3, Azure Blob, filesystem, or the database itself).
2020

2121
[.text-center]

0 commit comments

Comments
 (0)