KI-AGENT: Seafile in Selfhost-Stack integrieren

This commit is contained in:
2026-05-22 16:34:29 +02:00
parent 8a2429827c
commit 19bab852de
4 changed files with 195 additions and 2 deletions

View File

@@ -278,6 +278,11 @@ write_env() {
local dokubox_secure="${34}"
local dokubox_user="${35}"
local dokubox_password="${36}"
local seafile_mysql_root_password="${37}"
local seafile_mysql_password="${38}"
local seafile_redis_password="${39}"
local seafile_jwt_private_key="${40}"
local seafile_admin_password="${41}"
cat >"$ENV_FILE" <<EOF
# FEDEO Selfhosting
@@ -317,6 +322,28 @@ S3_ACCESS_KEY=$(env_quote "fedeo-minio")
S3_SECRET_KEY=$(env_quote "$minio_password")
S3_BUCKET=$(env_quote "fedeo")
FEDEO_FILE_BACKEND=$(env_quote "s3")
SEAFILE_SERVER_HOSTNAME=$(env_quote "files.$domain")
SEAFILE_SERVER_PROTOCOL=$(env_quote "https")
SEAFILE_BASE_URL=$(env_quote "https://files.$domain")
SEAFILE_INTERNAL_URL=$(env_quote "http://seafile:80")
SEAFILE_IMAGE=$(env_quote "seafileltd/seafile-mc:13.0-latest")
SEAFILE_DB_IMAGE=$(env_quote "mariadb:10.11")
SEAFILE_REDIS_IMAGE=$(env_quote "redis:7-alpine")
INIT_SEAFILE_MYSQL_ROOT_PASSWORD=$(env_quote "$seafile_mysql_root_password")
SEAFILE_MYSQL_DB_USER=$(env_quote "seafile")
SEAFILE_MYSQL_DB_PASSWORD=$(env_quote "$seafile_mysql_password")
SEAFILE_REDIS_PASSWORD=$(env_quote "$seafile_redis_password")
SEAFILE_JWT_PRIVATE_KEY=$(env_quote "$seafile_jwt_private_key")
INIT_SEAFILE_ADMIN_EMAIL=$(env_quote "$admin_email")
INIT_SEAFILE_ADMIN_PASSWORD=$(env_quote "$seafile_admin_password")
SEAFILE_ENABLE_GO_FILESERVER=$(env_quote "true")
SEAFILE_ENABLE_SEADOC=$(env_quote "false")
SEAFILE_ENABLE_NOTIFICATION_SERVER=$(env_quote "false")
SEAFILE_ENABLE_AI=$(env_quote "false")
SEAFILE_ENABLE_FACE_RECOGNITION=$(env_quote "false")
SEAFILE_MD_FILE_COUNT_LIMIT=$(env_quote "100000")
M2M_API_KEY=$(env_quote "$m2m_key")
API_BASE_URL=$(env_quote "https://$domain/backend")
GOCARDLESS_BASE_URL=$(env_quote "https://api.gocardless.com")
@@ -364,6 +391,8 @@ prepare_directories() {
"$ROOT_DIR/traefik/logs" \
"$ROOT_DIR/postgres" \
"$ROOT_DIR/minio" \
"$ROOT_DIR/seafile/mysql" \
"$ROOT_DIR/seafile/data" \
"$ROOT_DIR/matrix/postgres" \
"$ROOT_DIR/matrix/synapse"
@@ -403,6 +432,7 @@ main() {
echo "Secrets werden automatisch erzeugt."
local db_password minio_password cookie_secret jwt_secret encryption_key m2m_key
local matrix_db_password matrix_turn_secret matrix_registration_secret livekit_secret
local seafile_mysql_root_password seafile_mysql_password seafile_redis_password seafile_jwt_private_key seafile_admin_password
db_password="$(random_secret)"
minio_password="$(random_secret)"
cookie_secret="$(random_secret)"
@@ -413,6 +443,11 @@ main() {
matrix_turn_secret="$(random_secret)"
matrix_registration_secret="$(random_secret)"
livekit_secret="$(random_secret)"
seafile_mysql_root_password="$(random_secret)"
seafile_mysql_password="$(random_secret)"
seafile_redis_password="$(random_secret)"
seafile_jwt_private_key="$(random_secret)"
seafile_admin_password="$(random_secret)"
local mailer_host="smtp.example.com"
local mailer_port="587"
@@ -471,7 +506,9 @@ main() {
"$mailer_ssl" "$mailer_user" "$mailer_pass" "$mailer_from" "$web_push_public" \
"$web_push_private" "$pdf_license" "$openai_key" "$stirling_key" \
"$gocardless_secret_id" "$gocardless_secret_key" "$dokubox_host" \
"$dokubox_port" "$dokubox_secure" "$dokubox_user" "$dokubox_password"
"$dokubox_port" "$dokubox_secure" "$dokubox_user" "$dokubox_password" \
"$seafile_mysql_root_password" "$seafile_mysql_password" "$seafile_redis_password" \
"$seafile_jwt_private_key" "$seafile_admin_password"
prepare_directories
@@ -481,6 +518,7 @@ main() {
echo
echo "Vor dem Start prüfen:"
echo " 1. DNS zeigt auf diesen Server: $domain"
echo " Zusätzlich für Seafile: files.$domain"
echo " 2. Ports 80, 443, 3478/tcp, 3478/udp, 5349/tcp, 49160-49200/udp sind offen"
echo " 3. Platzhalter für optionale Dienste in .env bei Bedarf ersetzen"