-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
79 lines (70 loc) · 4.8 KB
/
Copy path.env.example
File metadata and controls
79 lines (70 loc) · 4.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
# Ashley AI configuration.
#
# You normally do NOT write this file by hand — run ./install.sh (or install.bat
# on Windows) and it is generated for you, with secrets already random. Copy this
# example only if you would rather configure it manually.
#
# cp .env.example .env && chmod 600 .env
#
# It holds secrets. It is gitignored. Keep it mode 600 and never commit it.
# ── model endpoint ────────────────────────────────────────────────────────────
# Any OpenAI-compatible API: llama.cpp's llama-server, Ollama, LM Studio, vLLM.
# These SEED the admin panel on first boot. After that the panel is
# authoritative and editing them here has no further effect.
ASHLEY_LLM_URL=http://10.0.0.10:8080/v1
# The id the endpoint reports at GET /v1/models.
ASHLEY_LLM_MODEL=YOUR_MODEL_ID
# Leave empty if your endpoint needs no authentication.
ASHLEY_LLM_API_KEY=
# ── where data lives on this host ─────────────────────────────────────────────
# Compose mounts ${ASHLEY_DATA_DIR}/{characters,chats,uploads,auth,config,pipeline}.
# Point it somewhere that gets backed up. Defaults to ./data if unset.
ASHLEY_DATA_DIR=/srv/ashley
# ── the parent gate ───────────────────────────────────────────────────────────
# Password for the admin panel at /admin. The username is always "Admin" and is
# never asked for — the panel prompts for a password only.
#
# When set, this is AUTHORITATIVE: the backend re-hashes it into
# <data>/auth/admin.json on EVERY boot. So the password reset path is:
# edit this line, then `docker compose up -d ashley-backend`. That is all.
#
# Leave it empty to keep whatever password was last set inside the app. If none
# was ever set, one is generated on first run, written to
# <data>/auth/ADMIN_PASSWORD.txt (mode 600), and printed to the container log.
ASHLEY_ADMIN_PASSWORD=
# ── first boot only ───────────────────────────────────────────────────────────
# Used ONLY when no accounts exist yet. Renaming later is done in the admin
# panel; changing these afterwards does nothing.
ASHLEY_DEFAULT_USER=Alex
# Safety preset the first account starts on. One of:
# child_8_12_restrictive Child (8-12), most protective
# child_8_12_unhinged Child (8-12), relaxed tone, still child-safe
# teen_13_16_restrictive Teen (13-16), protective
# teen_13_16_unhinged Teen (13-16), most latitude in tone
# Defaults to the most protective one. An unrecognised value falls back to it.
ASHLEY_DEFAULT_PRESET=child_8_12_restrictive
# ── access ────────────────────────────────────────────────────────────────────
# Browser origins allowed to POST, beyond the one the app computes for itself.
#
# READ THIS IF YOU USE A REVERSE PROXY. A proxy that terminates TLS forwards
# plain HTTP, so the app sees scheme "http" while the browser sent an "https"
# Origin. They will not match, and every login and every message is refused with
# "cross-origin request refused". Listing the exact browser-facing origin here
# is what prevents that. Comma-separated; scheme included; no trailing slash.
ASHLEY_TRUSTED_ORIGINS=https://ashley.example.invalid
# Set to 1 only when Ashley is reached over HTTPS. On plain HTTP a Secure cookie
# is never sent back and login fails silently.
ASHLEY_COOKIE_SECURE=0
# ── internal secrets ──────────────────────────────────────────────────────────
# Session signing. Must be at least 32 characters. Changing it signs everyone
# out. Generate with:
# python3 -c "import secrets; print(secrets.token_urlsafe(48))"
ASHLEY_SECRET_KEY=
# Authenticates the backend to the pipeline container. Internal to the compose
# network, but must NOT be left as the upstream default (0p3n-w3bu!). Generate:
# python3 -c "import secrets; print(secrets.token_urlsafe(32))"
ASHLEY_PIPELINE_KEY=
# ── notes ─────────────────────────────────────────────────────────────────────
# ASHLEY_AUTH_REQUIRED is retired. Logging in is per-user now: each account in
# <data>/auth/users.json carries its own password_protected flag, set from the
# admin panel. An unprotected account signs in with a single click.