This commit is contained in:
eric
2026-05-19 07:49:56 +00:00
parent 78e1308063
commit 585bcd9500
112 changed files with 61939 additions and 23 deletions

View File

@@ -13,6 +13,13 @@ def env(name: str, default: str) -> str:
return value if value not in {None, ""} else default
def env_enabled(name: str, default: bool = False) -> bool:
raw = os.environ.get(name)
if raw in {None, ""}:
return default
return raw.strip().lower() in {"1", "true", "yes", "on", "enable", "enabled"}
def q(value: str) -> str:
return json.dumps(str(value), ensure_ascii=False)
@@ -49,6 +56,8 @@ def render(count: int) -> str:
base_profile = env("NEKO_PROFILE_HOST_DIR", str(Path.cwd() / "data" / "chromium-profile-v2"))
http_base = int(env("NEKO_HTTP_PORT", "9200"))
mux_base = int(env("NEKO_WEBRTC_TCPMUX", "52300"))
managed_policies = env_enabled("NEKO_MANAGED_POLICIES", False)
policy_dir = "./policies" if managed_policies else "./no-managed-policies"
lines = [
"# Generated by tools/render_neko_compose.py - do not hand-edit",
@@ -85,6 +94,7 @@ def render(count: int) -> str:
' NEKO_PLUGINS_DIR: "/etc/neko/plugins/"',
f" NEKO_START_URL: {q(start_url)}",
f" NEKO_BROWSER_RENDER_MODE: {q(render_mode)}",
f" NEKO_MANAGED_POLICIES: {q('1' if managed_policies else '0')}",
f" NEKO_WEBRTC_EPR: {q(epr)}",
f" NEKO_WEBRTC_TCPMUX: {q(tcp_mux)}",
f" NEKO_WEBRTC_UDPMUX: {q(udp_mux)}",
@@ -96,8 +106,14 @@ def render(count: int) -> str:
" volumes:",
f" - {q(f'{profile}:/home/neko/.config/chromium')}",
f" - {q(f'{profile}:/home/neko/.config/google-chrome')}",
' - "./policies:/etc/chromium/policies/managed:ro"',
' - "./policies:/etc/opt/chrome/policies/managed:ro"',
f" - {q(f'{policy_dir}:/etc/chromium/policies/managed:ro')}",
f" - {q(f'{policy_dir}:/etc/chromium-browser/policies/managed:ro')}",
f" - {q(f'{policy_dir}:/etc/opt/chrome/policies/managed:ro')}",
' - "./external-extensions:/opt/google/chrome/extensions:ro"',
' - "./external-extensions:/usr/share/chromium/extensions:ro"',
' - "./external-extensions:/usr/share/chromium-browser/extensions:ro"',
' - "./tampermonkey-seed:/etc/neko/tampermonkey-seed:ro"',
' - "./youtube-auto-dismiss-extension:/etc/neko/youtube-auto-dismiss-extension:ro"',
' - "./provisioning:/var/www/provisioning:ro"',
' - "./browser-launch.sh:/etc/neko/browser-launch.sh:ro"',
f" - {q(f'./{supervisor_conf}:/etc/neko/supervisord/{supervisor_conf}:ro')}",