Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
72a1260546 | ||
|
|
76166669ae | ||
|
|
0ff39ca740 |
No files matched your search
@@ -1,4 +1,4 @@
|
||||
# TeamVis — Self-Hosting-Bundle (v0.56.3)
|
||||
# TeamVis — Self-Hosting-Bundle (v0.59.0)
|
||||
|
||||
Dieses Bundle enthält alles zum **Betreiben** von TeamVis auf eigener
|
||||
Infrastruktur — **keinen** App-Quellcode. Die App selbst kommt als fertiges
|
||||
@@ -36,4 +36,4 @@ Vollständige Schritt-für-Schritt-Anleitung (von der nackten VM bis live):
|
||||
| `supabase/migrations/` | Datenbank-Schema (DDL) |
|
||||
| `docs/` | Anleitungen |
|
||||
|
||||
Stand: TeamVis 0.56.3.
|
||||
Stand: TeamVis 0.59.0.
|
||||
@@ -35,3 +35,7 @@ TEAMVIS_SMTP_FROM_NAME=TeamVis
|
||||
|
||||
# Optional: zusätzliche next/image-Hosts (i.d.R. leer lassen).
|
||||
SUPABASE_IMAGE_HOSTS=
|
||||
|
||||
# Update-Hinweis im Admin (ab 0.57): ruft höchstens alle 6 Stunden eine
|
||||
# öffentliche Datei bei git.zfx.services ab. Abschalten mit:
|
||||
# TEAMVIS_UPDATE_CHECK=off
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "teamvis-selfhost",
|
||||
"version": "0.56.3",
|
||||
"version": "0.59.0",
|
||||
"private": true,
|
||||
"description": "Self-Hosting-Bundle für TeamVis (Installer + Migrationen, ohne App-Quellcode).",
|
||||
"type": "module",
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"version": "0.59.0",
|
||||
"released": "2026-10-14",
|
||||
"security": true,
|
||||
"summary": "Neuer KI-Anbieter mit eigener Adresse (OpenAI-kompatibel), etwa für einen Hoster mit Sitz und Verarbeitung in der EU. Zwei KI-Funktionen im Portal folgen jetzt dem Modul „KI“. Eine optionale Migration (0071), keine neuen Pflicht-Variablen."
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
-- KI-Anbieter mit OpenAI-kompatibler Schnittstelle und eigener Adresse
|
||||
-- ====================================================================
|
||||
-- Ergänzt die drei festen Anbieter aus 0038 um einen vierten, dessen
|
||||
-- Adresse die Verwaltung selbst einträgt — z. B. ein Hoster mit Sitz und
|
||||
-- Verarbeitung in der EU oder ein selbst betriebenes Modell. Nur additiv:
|
||||
-- neue Spalten und eine erweiterte Prüfregel.
|
||||
|
||||
alter table public.site_settings
|
||||
add column if not exists ai_compatible_name text,
|
||||
add column if not exists ai_compatible_base_url text,
|
||||
add column if not exists ai_compatible_key text,
|
||||
add column if not exists ai_compatible_model text;
|
||||
|
||||
-- Die Prüfregel aus 0038 hat einen automatisch vergebenen Namen; sie wird
|
||||
-- über ihre Definition gefunden und mit 'compatible' neu angelegt.
|
||||
do $$
|
||||
declare c record;
|
||||
begin
|
||||
for c in
|
||||
select conname
|
||||
from pg_constraint
|
||||
where conrelid = 'public.site_settings'::regclass
|
||||
and contype = 'c'
|
||||
and pg_get_constraintdef(oid) like '%ai_active_provider%'
|
||||
loop
|
||||
execute format('alter table public.site_settings drop constraint %I', c.conname);
|
||||
end loop;
|
||||
end $$;
|
||||
|
||||
alter table public.site_settings
|
||||
add constraint site_settings_ai_active_provider_check
|
||||
check (ai_active_provider in ('anthropic', 'openai', 'openrouter', 'compatible'));
|
||||
|
||||
-- Nur verschlüsselte Verbindungen: Über die Schnittstelle gehen
|
||||
-- personenbezogene Daten.
|
||||
alter table public.site_settings drop constraint if exists site_settings_ai_compatible_base_url_https;
|
||||
alter table public.site_settings
|
||||
add constraint site_settings_ai_compatible_base_url_https
|
||||
check (ai_compatible_base_url is null or ai_compatible_base_url ~ '^https://');
|
||||
Reference in new issue
Block a user