From 5cbe6376f0a8d9509f61a9be2ca73c2a4bd81a9d Mon Sep 17 00:00:00 2001 From: duffyduck Date: Fri, 16 Oct 2026 16:56:28 +0200 Subject: [PATCH] Dotfiles ergaenzen: .gitignore (mit .env.example-Ausnahme), .env.example, .dockerignore Co-Authored-By: Claude Opus 5.5 --- .dockerignore | 2 ++ .env.example | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ .gitignore | 17 +++++++++++++++++ 3 files changed, 68 insertions(+) create mode 100644 .dockerignore create mode 100644 .env.example create mode 100644 .gitignore diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..16add31 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,2 @@ +data +certs diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..dd8c030 --- /dev/null +++ b/.env.example @@ -0,0 +1,49 @@ +# --- NetClip-Server --- +# Port auf dem Host (HTTP, ohne TLS). Mit nginx-Profil z.B. BIND_ADDR=127.0.0.1 setzen, +# damit der Server nur noch ueber HTTPS erreichbar ist. +PORT=8080 +BIND_ADDR=0.0.0.0 +# Datenverzeichnis (Bind-Mount, enthaelt nur verschluesselte Clips) +DATA_DIR=./data +TZ=Europe/Berlin +# Optionaler Server-Schluessel: nur Clients, die ihn kennen, duerfen den Server benutzen. +# Leer = jeder mit Netzwerkzugang kann einen eigenen Raum (Token) anlegen. +# Erzeugen z.B. mit: openssl rand -hex 24 +SERVER_KEY= +# Maximale Groesse eines einzelnen Clips (Datei/Ordner, verschluesselt) in MB +MAX_CLIP_MB=1024 +# Verlauf pro Token: maximale Anzahl Eintraege, maximales Alter in Tagen, Speicher-Limit in MB +HISTORY_MAX=100 +HISTORY_DAYS=14 +ROOM_QUOTA_MB=5120 +LOG_LEVEL=INFO + +# --- nginx (HTTPS-Reverse-Proxy) --- +# Schalter: "nginx" = nginx mitstarten, leer lassen = nur der Server +# (z.B. wenn schon ein nginx/Traefik/Caddy vorhanden ist, siehe docs/eigener-reverse-proxy.md). +# (COMPOSE_PROFILES wird von docker compose direkt aus der .env gelesen.) +COMPOSE_PROFILES=nginx +# Ports auf dem Host (HTTP leitet auf HTTPS um) +HTTP_PORT=80 +HTTPS_PORT=443 +# Maximale Upload-Groesse in nginx, etwas groesser als MAX_CLIP_MB waehlen +NGINX_MAX_BODY=1100m +# Zertifikatsverzeichnis (Bind-Mount). Eigene Zertifikate: fullchain.pem + privkey.pem +# hineinlegen und die Datei .selfsigned loeschen, dann wird nichts erzeugt. +CERT_DIR=./certs + +# --- Selbstsigniertes Zertifikat --- +# Hostname, unter dem der Server aufgerufen wird +CERT_CN=clip.example.de +# Weitere Namen/IPs, kommagetrennt (leer = nur CERT_CN), z.B. DNS:clip.example.de,DNS:clip,IP:192.168.1.10 +CERT_SAN=DNS:clip.example.de,IP:192.168.1.10 +# Gueltigkeitsdauer in Tagen +CERT_DAYS=825 +# So viele Tage vor Ablauf wird beim Container-Start automatisch neu erzeugt +CERT_RENEW_DAYS=30 +CERT_KEY_BITS=2048 +CERT_COUNTRY=DE +CERT_STATE=Bayern +CERT_CITY=Muenchen +CERT_ORG=NetClip +CERT_OU=IT diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..99045b4 --- /dev/null +++ b/.gitignore @@ -0,0 +1,17 @@ +.env +.env.* +!.env.example +data/ +certs/ +__pycache__/ +*.pyc +.venv/ +client-desktop/build/ +client-desktop/dist/ +*.spec.bak +client-android/.gradle/ +client-android/build/ +client-android/app/build/ +client-android/local.properties +client-android/.idea/ +*.apk