From 82158bfc25df522fe668bf9581a200f1050f15a0 Mon Sep 17 00:00:00 2001 From: hueseyin Date: Sun, 15 Feb 2026 15:41:55 +0100 Subject: [PATCH] Add stacks: gitea, vaultwarden, freescout (docker-host-01) --- .../stacks/freescout/.env.example | 11 ++++ .../docker-host-01/stacks/freescout/README.md | 11 ++++ .../stacks/freescout/docker-compose.yml | 43 +++++++++++++++ .../docker-host-01/stacks/gitea/.env.example | 22 ++++++++ servers/docker-host-01/stacks/gitea/README.md | 11 ++++ .../stacks/gitea/docker-compose.yml | 53 +++++++++++++++++++ .../stacks/vaultwarden/.env.example | 19 +++++++ .../stacks/vaultwarden/README.md | 11 ++++ .../stacks/vaultwarden/docker-compose.yml | 27 ++++++++++ 9 files changed, 208 insertions(+) create mode 100644 servers/docker-host-01/stacks/freescout/.env.example create mode 100644 servers/docker-host-01/stacks/freescout/README.md create mode 100644 servers/docker-host-01/stacks/freescout/docker-compose.yml create mode 100644 servers/docker-host-01/stacks/gitea/.env.example create mode 100644 servers/docker-host-01/stacks/gitea/README.md create mode 100644 servers/docker-host-01/stacks/gitea/docker-compose.yml create mode 100644 servers/docker-host-01/stacks/vaultwarden/.env.example create mode 100644 servers/docker-host-01/stacks/vaultwarden/README.md create mode 100644 servers/docker-host-01/stacks/vaultwarden/docker-compose.yml diff --git a/servers/docker-host-01/stacks/freescout/.env.example b/servers/docker-host-01/stacks/freescout/.env.example new file mode 100644 index 0000000..00b9519 --- /dev/null +++ b/servers/docker-host-01/stacks/freescout/.env.example @@ -0,0 +1,11 @@ +DB_NAME=freescout +DB_USER=freescout +DB_PASSWORD=CHANGEME +DB_ROOT_PASSWORD=CHANGEME + +FREESCOUT_URL=ticket.selfip.com + +ADMIN_NAME=CHANGEME +ADMIN_PASSWORD=CHANGEME + +ENABLE_CRON=true diff --git a/servers/docker-host-01/stacks/freescout/README.md b/servers/docker-host-01/stacks/freescout/README.md new file mode 100644 index 0000000..fef1299 --- /dev/null +++ b/servers/docker-host-01/stacks/freescout/README.md @@ -0,0 +1,11 @@ +# Stack: FreeScout +Pfad (live): /home/container/freescout + +Start: docker compose up -d +Stop: docker compose down +Update: docker compose pull && docker compose up -d + +Backups: +- App + DB (falls DB-Container) Volumes / Datenpfade laut compose +Ports/Notes: +- Mail-Setup, Cron, Queue Worker etc. falls relevant diff --git a/servers/docker-host-01/stacks/freescout/docker-compose.yml b/servers/docker-host-01/stacks/freescout/docker-compose.yml new file mode 100644 index 0000000..25d874c --- /dev/null +++ b/servers/docker-host-01/stacks/freescout/docker-compose.yml @@ -0,0 +1,43 @@ +--- +services: + freescout-app: + #image: tiredofit/freescout:latest_php8.3 das ist die Version die gerade läuft. + image: tiredofit/freescout:latest + container_name: freescout-app + restart: unless-stopped + links: + - freescout-db + volumes: + - /home/container/freescout/data:/data + - /home/container/freescout/logs/:/www/logs + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + environment: + - ZABBIX_HOSTNAME=freescout-app + - DB_HOST=freescout-db + - DB_NAME=${DB_NAME} + - DB_USER=${DB_USER} + - DB_PASS=${DB_PASSWORD} + - SITE_URL=https://${FREESCOUT_URL} + - ADMIN_EMAIL=${ADMIN_NAME} + - ADMIN_PASS=${ADMIN_PASSWORD} + - ENABLE_SSL_PROXY=TRUE + - DISPLAY_ERRORS=FALSE + - TIMEZONE=Europe/Berlin + ports: + - 8910:80 + + freescout-db: + image: tiredofit/mariadb:10.11 + container_name: freescout-db + restart: unless-stopped + volumes: + - /home/container/freescout/db:/var/lib/mysql + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + environment: + - ROOT_PASS=${DB_ROOT_PASSWORD} + - DB_NAME=${DB_NAME} + - DB_USER=${DB_USER} + - DB_PASS=${DB_PASSWORD} + - ZABBIX_HOSTNAME=freescout-db diff --git a/servers/docker-host-01/stacks/gitea/.env.example b/servers/docker-host-01/stacks/gitea/.env.example new file mode 100644 index 0000000..3608068 --- /dev/null +++ b/servers/docker-host-01/stacks/gitea/.env.example @@ -0,0 +1,22 @@ +# ---- Versions ---- +GITEA_IMAGE=gitea/gitea:latest +POSTGRES_IMAGE=postgres:16 + +# ---- IDs (wichtig für Rechte auf Volumes) ---- +PUID=1000 +PGID=1000 + +# ---- Zeitzone ---- +TZ=Europe/Berlin + +# ---- Ports am Host ---- +GITEA_HTTP_PORT=3000 +GITEA_SSH_PORT=2222 + +# ---- Datenbank ---- +POSTGRES_DB=gitea +POSTGRES_USER=gitea +POSTGRES_PASSWORD=CHANGEME + +# optional: falls du später Domain nutzen willst +GITEA_ROOT_URL=https://anko-git.selfip.com:3000/ diff --git a/servers/docker-host-01/stacks/gitea/README.md b/servers/docker-host-01/stacks/gitea/README.md new file mode 100644 index 0000000..a9b1b15 --- /dev/null +++ b/servers/docker-host-01/stacks/gitea/README.md @@ -0,0 +1,11 @@ +# Stack: Gitea +Pfad (live): /home/container/gitea + +Start: docker compose up -d +Stop: docker compose down +Update: docker compose pull && docker compose up -d + +Backups: +- Gitea + DB Volumes / Datenpfade laut compose +Ports/Notes: +- Web/SSH wie konfiguriert diff --git a/servers/docker-host-01/stacks/gitea/docker-compose.yml b/servers/docker-host-01/stacks/gitea/docker-compose.yml new file mode 100644 index 0000000..48e739a --- /dev/null +++ b/servers/docker-host-01/stacks/gitea/docker-compose.yml @@ -0,0 +1,53 @@ +services: + db: + image: ${POSTGRES_IMAGE} + container_name: gitea-db + restart: unless-stopped + environment: + POSTGRES_DB: ${POSTGRES_DB} + POSTGRES_USER: ${POSTGRES_USER} + POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} + TZ: ${TZ} + volumes: + - db-data:/var/lib/postgresql/data + healthcheck: + test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}"] + interval: 10s + timeout: 5s + retries: 10 + + gitea: + image: ${GITEA_IMAGE} + container_name: gitea + restart: unless-stopped + depends_on: + db: + condition: service_healthy + environment: + USER_UID: ${PUID} + USER_GID: ${PGID} + TZ: ${TZ} + + # DB Config (Gitea) + GITEA__database__DB_TYPE: postgres + GITEA__database__HOST: db:5432 + GITEA__database__NAME: ${POSTGRES_DB} + GITEA__database__USER: ${POSTGRES_USER} + GITEA__database__PASSWD: ${POSTGRES_PASSWORD} + + # Optional: erzeugt korrekte Links/Clone-URLs (kannst du später anpassen) + GITEA__server__ROOT_URL: ${GITEA_ROOT_URL} + GITEA__server__SSH_PORT: ${GITEA_SSH_PORT} + + ports: + - "${GITEA_HTTP_PORT}:3000" + - "${GITEA_SSH_PORT}:22" + volumes: + - gitea-data:/data + - /etc/timezone:/etc/timezone:ro + - /etc/localtime:/etc/localtime:ro + +volumes: + db-data: + gitea-data: + diff --git a/servers/docker-host-01/stacks/vaultwarden/.env.example b/servers/docker-host-01/stacks/vaultwarden/.env.example new file mode 100644 index 0000000..66a5540 --- /dev/null +++ b/servers/docker-host-01/stacks/vaultwarden/.env.example @@ -0,0 +1,19 @@ +# Admin-Zugang für /admin +ADMIN_TOKEN='$argon2id$v=19$m=65540,t=3,p=CHANGEME + +# WebSocket aktivieren (für Echtzeitfunktionen) +WEBSOCKET_ENABLED=true + +# Registrierung neuer Benutzer erlauben +SIGNUPS_ALLOWED=true + +# SMTP-Einstellungen für Mails (Passwort vergessen etc.) +SMTP_HOST=CHANGEME +SMTP_FROM=CHANGEME +SMTP_PORT=CHANGEME +SMTP_SSL=CHANGEME +SMTP_USERNAME=CHANGEME +SMTP_PASSWORD=CHANGEME + +# Öffentliche Domain (für Links in E-Mails) +DOMAIN=https://sifre.selfip.com diff --git a/servers/docker-host-01/stacks/vaultwarden/README.md b/servers/docker-host-01/stacks/vaultwarden/README.md new file mode 100644 index 0000000..ced1736 --- /dev/null +++ b/servers/docker-host-01/stacks/vaultwarden/README.md @@ -0,0 +1,11 @@ +# Stack: Vaultwarden +Pfad (live): /home/container/vaultwarden + +Start: docker compose up -d +Stop: docker compose down +Update: docker compose pull && docker compose up -d + +Backups: +- Wichtig: Vaultwarden-Datenvolume (enthält DB/attachments) +Ports/Notes: +- hinter Reverse Proxy? (ja/nein) diff --git a/servers/docker-host-01/stacks/vaultwarden/docker-compose.yml b/servers/docker-host-01/stacks/vaultwarden/docker-compose.yml new file mode 100644 index 0000000..d340f71 --- /dev/null +++ b/servers/docker-host-01/stacks/vaultwarden/docker-compose.yml @@ -0,0 +1,27 @@ +services: + vaultwarden: + image: vaultwarden/server:latest + container_name: vaultwarden + restart: unless-stopped + ports: + - "8920:80" # Webinterface + - "3012:3012" # Websocket für Echtzeit + volumes: + - /home/container/vaultwarden/bitwarden:/data:rw + environment: + - ADMIN_TOKEN=${ADMIN_TOKEN} + - WEBSOCKET_ENABLED=${WEBSOCKET_ENABLED} + - SIGNUPS_ALLOWED=${SIGNUPS_ALLOWED} + - SMTP_HOST=${SMTP_HOST} + - SMTP_FROM=${SMTP_FROM} + - SMTP_PORT=${SMTP_PORT} + - SMTP_SSL=${SMTP_SSL} + - SMTP_USERNAME=${SMTP_USERNAME} + - SMTP_PASSWORD=${SMTP_PASSWORD} + - DOMAIN=${DOMAIN} + networks: + - vaultwarden_net + +networks: + vaultwarden_net: + driver: bridge