Initial backup import

This commit is contained in:
Michael Seidel
2026-03-28 10:48:09 +01:00
commit de4ae83476
118 changed files with 1388 additions and 0 deletions

17
etc/fstab Normal file
View File

@@ -0,0 +1,17 @@
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# systemd generates mount units based on this file, see systemd.mount(5).
# Please run 'systemctl daemon-reload' after making changes here.
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sda2 during installation
UUID=9c56b6fd-2a60-4480-b82f-240da2e66acc / ext4 errors=remount-ro 0 1
# /boot/efi was on /dev/sda1 during installation
UUID=C863-7654 /boot/efi vfat umask=0077 0 1
# swap was on /dev/sda3 during installation
UUID=da855cd2-3dc7-490d-a9c9-9c6b473b5e8b none swap sw 0 0
/dev/sr0 /media/cdrom0 udf,iso9660 user,noauto 0 0

7
etc/hosts Normal file
View File

@@ -0,0 +1,7 @@
127.0.0.1 localhost
127.0.1.1 debian
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

31
etc/network/interfaces Normal file
View File

@@ -0,0 +1,31 @@
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
#/etc/network/interfaces
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto ens18
iface ens18 inet static
address 10.9.0.10
netmask 255.255.255.0
gateway 10.9.0.160
# IP 2
auto ens18:0
iface ens18:0 inet static
address 10.9.0.11
netmask 255.255.255.0
# IP 3
auto ens18:1
iface ens18:1 inet static
address 10.0.0.12
netmask 255.255.255.0

45
etc/samba/smb.conf Normal file
View File

@@ -0,0 +1,45 @@
[global]
workgroup = WORKGROUP
log file = /var/log/samba/log.%m
max log size = 1000
logging = file
panic action = /usr/share/samba/panic-action %d
server role = standalone server
obey pam restrictions = yes
unix password sync = yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
pam password change = yes
map to guest = bad user
usershare allow guests = yes
[homes]
comment = Home Directories
browseable = no
read only = yes
create mask = 0700
directory mask = 0700
valid users = %S
[printers]
comment = All Printers
browseable = no
path = /var/tmp
printable = yes
guest ok = no
read only = yes
create mask = 0700
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
browseable = yes
read only = yes
guest ok = no
[micha]
path = /srv/nextcloud-data-local/nextcloud/data/097A228A-E85A-426F-9C54-8FED13177EC5/files
browseable = yes
read only = no
valid users = micha
force user = www-data
force group = www-data
create mask = 0660
directory mask = 0770

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/chrony.service

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/cloud-init-hotplugd.socket

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/cloud-config.service

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/cloud-final.service

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/cloud-init-local.service

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/cloud-init-main.service

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/cloud-init-network.service

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/systemd-timesyncd.service

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/wtmpdb-update-boot.service

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/getty@.service

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/grub-common.service

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/grub-common.service

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/chrony.service

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/console-setup.service

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/containerd.service

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/cron.service

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/docker.service

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/e2scrub_reap.service

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/fail2ban.service

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/grub-common.service

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/networking.service

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/nmbd.service

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/remote-fs.target

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/rsyslog.service

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/samba-ad-dc.service

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/smbd.service

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/ssh.service

View File

@@ -0,0 +1 @@
/etc/systemd/system/start-containers.service

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/unattended-upgrades.service

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/winbind.service

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/zfs.target

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/networking.service

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/nmbd.service

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/samba-ad-dc.service

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/smbd.service

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/docker.socket

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/sshd-keygen.service

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/sshd-keygen.service

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/ssh.service

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/sshd-keygen.service

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/sshd-keygen.service

View File

@@ -0,0 +1,14 @@
#/etc/systemd/system/start-containers.service
[Unit]
Description=Update and start containers after Docker starts
Wants=network-online.target
After=docker.service network-online.target
[Service]
Type=oneshot
ExecStart=/root/docker/start.sh
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/grub-common.service

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/grub-common.service

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/apparmor.service

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/keyboard-setup.service

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/resolvconf.service

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/systemd-pstore.service

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/systemd-timesyncd.service

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/rsyslog.service

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/resolvconf-pull-resolved.path

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/resolvconf-pull-resolved.service

View File

@@ -0,0 +1 @@
/lib/systemd/system/apt-daily-upgrade.timer

View File

@@ -0,0 +1 @@
/lib/systemd/system/apt-daily.timer

View File

@@ -0,0 +1 @@
/lib/systemd/system/dpkg-db-backup.timer

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/e2scrub_all.timer

View File

@@ -0,0 +1 @@
/lib/systemd/system/fstrim.timer

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/logrotate.timer

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/man-db.timer

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/zfs-zed.service

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/zfs-import-cache.service

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/zfs-load-module.service

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/zfs-volume-wait.service

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/zfs-import.target

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/zfs-load-module.service

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/zfs-mount.service

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/zfs-share.service

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/zfs-volumes.target

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/zfs-zed.service

View File

@@ -0,0 +1 @@
{"creation_dt": "2026-03-01T09:32:06Z", "creation_host": "9ca7aa7ce7ab"}

View File

@@ -0,0 +1 @@
{"n": "sERopFAfSHSwK4dpxrUW_H3QbKjsFPaDgg9ENG1b4eW6UjILnHZG0xDuxDwXyhNO0D-IWL2r3piFVhDl_oaPLceFmgWy0qGp0r3MrTetpS4EIBrLcDozXRm73wLPv21FD46GPA6Gu2DkuvVPemZa1KxT3IAfSG-j4tSNzryxJBTIYqIR2P8X99XCNLtLmqdBiKkNz1iyDhoGB3HKx8yQY3kRZOG90z7bYWxMaN5CQXGXPrZMcNHsLgCfuZhwbC2Wod8-B27lEZ3Pi3jCmqFqM7K0BriV9ifBVeflI8mXTfSCKe6kWAc7vFdKZIhC4hcKVOTfswVkZja8qk0DY6aFDw", "e": "AQAB", "d": "G8KmcxFgdQH_JDgF73PkP9bywk1Oz4KFKOf35vxUmHmrp9O4MyItMLrGCE-dVTIP9Tr-JGaCtif2701zys6Rw_rEpQHfOP0RkpSiuB2FqEMS4BXa6DPlsEahCzkXoA9QvB2bYDK-kFzN_gLkzhGqZ14rPdkJJsNLvE7o3BQZjKSEf81a8MmzTLM1GmOn9DnjfR63DuXQFXjXzdQ_gom7TP1PrzUxRcj5lT5OpuJKRhMcR6iT8aF7tMODr58azu2hWNnZbbbEyMoiG6ih7fHTB3HoNytCHTSBuXbt-_wV16KmxABfZr0NxFXpOC7c_i20I7ezwiMNybM4Er_aVYbB", "p": "2AX-qC5CdDcIYspGGy_vwC5qLD5ACExr3S-mEwO-AoR_yeU4JudqtsecBDQ5VsedfhTYjvghv-dsb6SVlAtEs-ep9yOPV4mdIbZaNN9f_joQeCrFXhp4wHRQChxdj4uFZknD0M4iuJt9NmRJbQV8yhmSdPTRwZflIDv89t-zke8", "q": "0OL7wSIz3wctIgquAF0MY_jCYeF3ayDX9laFkQ1gRw4AUILo5hmjsZsHE7EjcY5SeaZqrsk0hKNe2tPzpQDBn-AqDVL8q0zcRDW-T0E2PNRFGg8Mm4IATVpnZqZN8e1N0p09hE2ool0ZwWqMtJX4_UD30eKAmWDIcSIpYYQa3uE", "dp": "bjp43BZmwGhIdihip4LJYpYMhTDqeZGNRJsIshEpxp0Xm8zD304cbNHj8V04mOhYm7pFWoaQqhyLf1hLHvS1BNvEJaBWh0NoE4i59Nq6X73_I2InvcHiNcnkAZTBxPpbgntHWOemXe6xcKyxrtiq-XEdA2LdGVzJhK43gT1aoq8", "dq": "IFAclcHOuF-J0cxJInFCa2yd1TplmMLZ5Zd4zfl9vUAjOFEn6gBpXB4ZOCiczQIxK_RcaHFjmGkVUVCcThgR28N3fdwqje0z3bFaoTP7SemkTuWpE51GorCrciujvxrwgPYmAANrZMJ2K39qCL1yaOrV6zfYoOFh4G5ibF1dMsE", "qi": "Hel70qiVCLGOPQCnzq50bXRi6voLTW0Omhmc9BAY_iq9HTavEL27iDKj9pO3Ga5zAdbnrmVGahCu3P1BDB2nJoBRcfCGnrxd1cQgOaasWxseaoT178gz3rPg78CKr3iMwst_lAZiX3u5jWcbtBO9ZbJsvx8jdZgzvVBkNQmnlQw", "kty": "RSA"}

View File

@@ -0,0 +1 @@
{"body": {}, "uri": "https://acme-v02.api.letsencrypt.org/acme/acct/3106776712"}

View File

@@ -0,0 +1,20 @@
version = 5.3.1
archive_dir = /etc/letsencrypt/archive/service.focus-on-it.net
cert = /etc/letsencrypt/live/service.focus-on-it.net/cert.pem
privkey = /etc/letsencrypt/live/service.focus-on-it.net/privkey.pem
chain = /etc/letsencrypt/live/service.focus-on-it.net/chain.pem
fullchain = /etc/letsencrypt/live/service.focus-on-it.net/fullchain.pem
[renewalparams]
account = 1d335dddc645fdf5a3f24e2c5208e236
authenticator = webroot
webroot_path = /var/www/certbot,
server = https://acme-v02.api.letsencrypt.org/directory
key_type = ecdsa
[[webroot_map]]
service.focus-on-it.net = /var/www/certbot
dokuwiki.focus-on-it.net = /var/www/certbot
guacamole.focus-on-it.net = /var/www/certbot
drawio.focus-on-it.net = /var/www/certbot
nextcloud.focus-on-it.net = /var/www/certbot
[acme_renewal_info]
ari_retry_after = 2026-03-28T10:14:22

View File

@@ -0,0 +1,2 @@
drawioUser:$2y$05$Ckt.CPSBzFPWkkRhCe3M7eYePnkPVfhfjDcjpw.1Knn7Amh0N.gxq

View File

@@ -0,0 +1,171 @@
#/root/docker/Webproxy/Data/nginx/service.conf
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
server {
listen 80;
server_name service.focus-on-it.net;
location /.well-known/acme-challenge/ { root /var/www/certbot; }
location / { return 301 https://$host$request_uri; }
}
server {
listen 443 ssl;
server_name service.focus-on-it.net;
ssl_certificate /etc/letsencrypt/live/service.focus-on-it.net/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/service.focus-on-it.net/privkey.pem;
location / {
return 200 "service endpoint\n";
}
}
server {
listen 80;
server_name dokuwiki.focus-on-it.net;
location /.well-known/acme-challenge/ { root /var/www/certbot; }
location / { return 301 https://$host$request_uri; }
}
server {
listen 443 ssl;
server_name dokuwiki.focus-on-it.net;
resolver 127.0.0.11 valid=30s ipv6=off;
ssl_certificate /etc/letsencrypt/live/service.focus-on-it.net/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/service.focus-on-it.net/privkey.pem;
location / {
set $dokuwiki_upstream dokuwiki:8080;
proxy_pass http://$dokuwiki_upstream;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Port 443;
}
}
server {
listen 80;
server_name guacamole.focus-on-it.net;
location /.well-known/acme-challenge/ { root /var/www/certbot; }
location / { return 301 https://$host$request_uri; }
}
server {
listen 443 ssl;
server_name guacamole.focus-on-it.net;
ssl_certificate /etc/letsencrypt/live/service.focus-on-it.net/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/service.focus-on-it.net/privkey.pem;
# optional sinnvoll
client_max_body_size 50m;
# Guacamole läuft standardmäßig unter /guacamole/
location / {
return 302 /guacamole/;
}
location /guacamole/ {
proxy_pass http://guacamole:8080/guacamole/;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Port 443;
# WebSocket für Guacamole Tunnel
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_buffering off;
}
}
server {
listen 80;
server_name drawio.focus-on-it.net;
location /.well-known/acme-challenge/ {
root /var/www/certbot;
}
location / {
return 301 https://$host$request_uri;
}
}
server {
listen 443 ssl;
server_name drawio.focus-on-it.net;
ssl_certificate /etc/letsencrypt/live/service.focus-on-it.net/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/service.focus-on-it.net/privkey.pem;
client_max_body_size 50m;
location / {
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/auth/.htpasswd;
proxy_pass http://drawio:8080;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Port 443;
proxy_read_timeout 300;
proxy_send_timeout 300;
}
}
server {
listen 80;
server_name nextcloud.focus-on-it.net;
location /.well-known/acme-challenge/ {
root /var/www/certbot;
}
location / {
return 301 https://$host$request_uri;
}
}
server {
listen 443 ssl;
server_name nextcloud.focus-on-it.net;
resolver 127.0.0.11 valid=30s ipv6=off;
ssl_certificate /etc/letsencrypt/live/service.focus-on-it.net/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/service.focus-on-it.net/privkey.pem;
client_max_body_size 10G;
proxy_read_timeout 3600;
proxy_send_timeout 3600;
location / {
set $nextcloud_upstream nextcloud-nginx:80;
proxy_pass http://$nextcloud_upstream;
proxy_http_version 1.1;
proxy_request_buffering off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Port 443;
}
}

10
root/docker/Webproxy/certbot.sh Executable file
View File

@@ -0,0 +1,10 @@
# //root/docker/Webproxy/certbot.sh
docker compose run --rm --entrypoint certbot certbot certonly \
--webroot -w /var/www/certbot \
-d service.focus-on-it.net \
-d dokuwiki.focus-on-it.net \
-d guacamole.focus-on-it.net \
-d drawio.focus-on-it.net \
-d nextcloud.focus-on-it.net \
--email Michael.Seidel@focus-on-it.de \
--agree-tos --no-eff-email

View File

@@ -0,0 +1,41 @@
# /root/docker/Webproxy/docker-compose.yml
services:
webproxy:
image: nginx:stable
container_name: Webproxy
ports:
- "80:80"
- "443:443"
environment:
- NGINX_ENTRYPOINT_DISABLE_IPV6=true
volumes:
- /root/docker/Webproxy/Data/nginx/service.conf:/etc/nginx/conf.d/default.conf:ro
- /root/docker/Webproxy/Data/certbot/webroot:/var/www/certbot:ro
- /root/docker/Webproxy/Data/certbot/conf:/etc/letsencrypt:ro
- /root/docker/Webproxy/Data/logs:/var/log/nginx
- /root/docker/Webproxy/Data/nginx/auth:/etc/nginx/auth:ro
networks:
- webproxy-net
restart: unless-stopped
certbot:
image: certbot/certbot
container_name: Webproxy-certbot
volumes:
- /root/docker/Webproxy/Data/certbot/webroot:/var/www/certbot
- /root/docker/Webproxy/Data/certbot/conf:/etc/letsencrypt
networks:
- webproxy-net
restart: unless-stopped
entrypoint: /bin/sh -c
command: >
"trap exit TERM;
while :; do
certbot renew --webroot -w /var/www/certbot --quiet;
sleep 12h;
done"
networks:
webproxy-net:
external: true

17
root/docker/Webproxy/start.sh Executable file
View File

@@ -0,0 +1,17 @@
#!/bin/sh
#/root/docker/Webserver/start.sh
set -euo pipefail
cd "$(dirname "$0")"
# Stack sauber stoppen und entfernen (Container weg, Volumes bleiben!)
docker compose down
# Images aktualisieren
docker compose pull
# Neu erstellen und starten
docker compose up -d --force-recreate --remove-orphans
# Optional: alte Images aufräumen
docker image prune -f

View File

@@ -0,0 +1,17 @@
# acl.auth.php
# <?php exit()?>
# Don't modify the lines above
#
# Access Control Lists
#
# Auto-generated by install script
# Date: Sat, 14 Feb 2026 13:16:27 +0000
* @ALL 0
* micha 16
it-doku:* @foit 1
it-doku:* @it 16
knowledgebase:* @it 16
rsit:* @rsit 16
start @user 1
user:username:* @ALL 1
user:username:* @user 1

View File

@@ -0,0 +1 @@
/var/www/html/conf.core/license.php

View File

@@ -0,0 +1,24 @@
<?php
/*
* Dokuwiki's Main Configuration File - Local Settings
* Auto-generated by config plugin
* Run for user: admin
* Date: Sun, 08 Mar 2026 06:10:58 +0000
*/
$conf['title'] = 'Wiki';
$conf['license'] = '0';
$conf['basedir'] = '/';
$conf['baseurl'] = 'https://dokuwiki.focus-on-it.net';
$conf['useacl'] = 1;
$conf['superuser'] = '@admin';
$conf['disableactions'] = 'register';
$conf['auth_security_timeout'] = 3600;
$conf['mailfrom'] = 'Dokuwiki@focus-on-it.net';
$conf['canonical'] = 1;
$conf['plugin']['diagrams']['service_url'] = 'https://embed.diagrams.net/';
$conf['plugin']['diagrams']['mode'] = '2';
$conf['plugin']['smtp']['smtp_host'] = 'mail.focus-on-it.net';
$conf['plugin']['smtp']['smtp_port'] = 587;
$conf['plugin']['smtp']['smtp_ssl'] = 'tls';
$conf['plugin']['smtp']['localdomain'] = 'service.focus-on-it.net';

View File

@@ -0,0 +1,24 @@
<?php
/*
* Dokuwiki's Main Configuration File - Local Settings
* Auto-generated by config plugin
* Run for user: admin
* Date: Sun, 08 Mar 2026 06:09:16 +0000
*/
$conf['title'] = 'Wiki';
$conf['license'] = '0';
$conf['basedir'] = '/';
$conf['baseurl'] = 'https://dokuwiki.focus-on-it.net';
$conf['useacl'] = 1;
$conf['superuser'] = '@admin';
$conf['disableactions'] = 'register';
$conf['auth_security_timeout'] = 3600;
$conf['mailfrom'] = 'Dokuwiki@focus-on-it.net';
$conf['canonical'] = 1;
$conf['plugin']['diagrams']['service_url'] = 'https://app.diagrams.net';
$conf['plugin']['diagrams']['mode'] = '2';
$conf['plugin']['smtp']['smtp_host'] = 'mail.focus-on-it.net';
$conf['plugin']['smtp']['smtp_port'] = 587;
$conf['plugin']['smtp']['smtp_ssl'] = 'tls';
$conf['plugin']['smtp']['localdomain'] = 'service.focus-on-it.net';

View File

@@ -0,0 +1,12 @@
<?php
/*
* Local plugin enable/disable settings
*
* Auto-generated by install script
* Date: Sat, 14 Feb 2026 13:16:27 +0000
*/
$plugins['authad'] = 0;
$plugins['authldap'] = 0;
$plugins['authmysql'] = 0;
$plugins['authpgsql'] = 0;

View File

@@ -0,0 +1,18 @@
# users.auth.php
# <?php exit()?>
# Don't modify the lines above
#
# Userfile
#
# Auto-generated by install script
# Date: Sat, 14 Feb 2026 13:16:27 +0000
#
# Format:
# login:passwordhash:Real Name:email:groups,comma,separated
admin:$2y$10$jJlC0eW/qKfyZsXxwYlOTuNOpjKzdL32wIFArVbiknOWrjxfwho8e:Admin:Michael.Seidel@focus-on-it.de:admin,user
dany:$2y$10$id0jpOSPPzQU2Obx5ZMX8eCcqMH1PFQc7dW8XswjbjXzcGkFD/iBi:Daniela Seidel:Daniela.Seidel@focus-on-it.de:user,dany,foit
micha:$2y$10$8wh6APl35INN752EY3NTM.yy04SZWUzQhrkk040wMX8IFwMiMMrV6:Michael Seidel:Michael.Seidel@focus-on-it.de:user,it,rsit,foit
matthias:$2y$10$aSQqSxmUKm97IZPqUdEMzug9C1XlZGKcAhFytCO0vveJ9SMxoQahy:Matthias Ruckwied:matthias@ruckwied-it.de:rsit,user
testuser:$2y$10$RFWOkg5sm5W51pLpgOXLOO.h0PszrYOhFcTxrLkVMtvncCX2nQWWa:Testo:test@focus-on-it.de:user
testrsit:$2y$10$LmgM9kTY11ynNdNOH6g2qeADFO8GrNiRbFo8lK.lSreiQRi8P9SBy:RSITler:RSIt@focus-on-it.de:rsit,user

View File

@@ -0,0 +1,14 @@
# users.auth.php
# <?php exit()?>
# Don't modify the lines above
#
# Userfile
#
# Auto-generated by install script
# Date: Sat, 14 Feb 2026 13:16:27 +0000
#
# Format:
# login:passwordhash:Real Name:email:groups,comma,separated
admin:$2y$10$zGnIfotQJ7QVVrsQtBzRy.vbbR3dOPJjNHpPqUjAUrh3nZ/E1SBRG:Admin:Michael.Seidel@focus-on-it.de:admin,user
micha:$2y$10$vfJ2kebl9bNf9kzfkxzgB.HuMQkyDMBPSOOXcItO6.MLg9wt4rXMO:Michael Seidel:Michael.Seidel@focus-on-it.de:user

View File

@@ -0,0 +1,22 @@
{
"name": "diagrams.net",
"short_name": "Diagrams",
"description": "diagrams.net is a completely free diagram editor",
"icons": [
{
"src": "/images/android-chrome-196x196.png",
"sizes": "196x196",
"type": "image/png",
"purpose": "any maskable"
},
{
"src": "/images/android-chrome-512x512.png",
"sizes": "512x512",
"type": "image/png"
}
],
"theme_color": "#DF6C0C",
"background_color": "#DF6C0C",
"display": "fullscreen",
"start_url": "/index.html"
}

View File

@@ -0,0 +1,17 @@
language: node_js
node_js:
- stable
sudo: false
script:
- npm install
- npm test
branches:
only:
- "/^\\d+\\.\\d+/"
deploy:
provider: npm
email: manager@mathjax.org
api_key:
secure: VbG6GALVGUCeZKhaqpR1JD70ZWC20NyTSyue9htlmLMhrw02JR/5Bi7mZDZrnvAqo8gSO6MGE6lbbaBBI5u42iklNHFYg+RTeEF7CafoVBSC7QeNNdkpDJyeEQ+zEAWKv4/oOcqH9logQBJoW+iT9xHlyVIZxmEYG9ptWYzouWk=
on:
tags: true

View File

@@ -0,0 +1,39 @@
{
"name": "draw.io",
"version": "15.7.2",
"description": "diagrams.net desktop",
"main": "electron.js",
"scripts": {
"start": "electron ."
},
"repository": {
"type": "git",
"url": "git+https://github.com/jgraph/drawio.git"
},
"keywords": [
"draw.io",
"diagram",
"flowchart",
"UML"
],
"author": "JGraph",
"license": "Apache-2.0",
"bugs": {
"url": "https://github.com/jgraph/drawio-desktop/issues"
},
"homepage": "https://github.com/jgraph/drawio",
"dependencies": {
"@electron/remote": "^2.0.1",
"commander": "^8.2.0",
"compression": "^1.7.4",
"crc": "^3.8.0",
"electron-log": "^4.4.1",
"electron-progressbar": "^2.0.1",
"electron-store": "^8.0.0",
"electron-updater": "^4.3.9",
"pdf-lib": "^1.16.0"
},
"devDependencies": {
"electron": "^13.6.1"
}
}

View File

@@ -0,0 +1,11 @@
name: DokuWiki Default Tasks
on:
push:
pull_request:
schedule:
- cron: '1 18 5 * *'
jobs:
all:
uses: dokuwiki/github-action/.github/workflows/all.yml@main

View File

@@ -0,0 +1,24 @@
# Create release on change to plugin.info.txt version line
# https://github.com/dokuwiki/dokuwiki/issues/3951
#
# Requires DOKUWIKI_USER and DOKUWIKI_PASS secrets be set in GitHub Actions
name: Release
on:
push:
branches:
- master
paths:
- "*.info.txt"
jobs:
release:
name: Release
# https://github.com/dokuwiki/dokuwiki/pull/3966
uses: glensc/dokuwiki/.github/workflows/plugin-release.yml@39431875f734bddc35cc6b4a899bbfdec97e8aba
secrets:
DOKUWIKI_USER: ${{ secrets.DOKUWIKI_USER }}
DOKUWIKI_PASS: ${{ secrets.DOKUWIKI_PASS }}
# vim:ts=2:sw=2:et

View File

@@ -0,0 +1,9 @@
# auto replies used by probot/auto-comment
issuesOpened: >
Thank you for opening this issue.
[CosmoCode](https://www.cosmocode.de) is a software company in Berlin providing services for wiki, app and web development. As such we can't guarantee quick responses for issues opened on our Open Source projects.
If you require certain features or bugs fixed, you can always hire us. Feel free to contact us at dokuwiki@cosmocode.de for an offer.

View File

@@ -0,0 +1,15 @@
# Config file for travis-ci.org
language: php
php:
- "7.3"
- "7.2"
- "7.1"
- "7.0"
- "5.6"
env:
- DOKUWIKI=master
- DOKUWIKI=stable
before_install: wget https://raw.github.com/splitbrain/dokuwiki-travis/master/travis.sh
install: sh travis.sh
script: cd _test && ./phpunit.phar --stderr --group plugin_smtp

View File

@@ -0,0 +1,39 @@
{
"name": "txthinking/mailer",
"type": "library",
"keywords": ["mail", "smtp"],
"description": "A very lightweight PHP SMTP mail sender",
"license": "MIT",
"homepage": "http://github.com/txthinking/Mailer",
"authors": [
{
"name": "Cloud",
"email": "cloud@txthinking.com",
"homepage": "http://www.txthinking.com",
"role": "Thinker"
},
{
"name": "Matt Sowers",
"email": "msowers@erblearn.org"
}
],
"require": {
"php": ">=5.3.2",
"psr/log": "~1.0"
},
"require-dev": {
"phpunit/phpunit": "~4.0",
"erb/testing-tools": "dev-master",
"monolog/monolog": "~1.13"
},
"autoload": {
"psr-4": {
"Tx\\": "src/"
}
},
"autoload-dev": {
"classmap": [
"tests/TestCase.php"
]
}
}

View File

@@ -0,0 +1,24 @@
#/root/docker/dokuwiki/docker-compose.yml
services:
dokuwiki:
image: dokuwiki/dokuwiki:stable
container_name: dokuwiki
restart: unless-stopped
volumes:
- ./data:/storage
networks:
- webproxy-net
labels:
- traefik.enable=true
- traefik.docker.network=webproxy-net
- traefik.http.routers.dokuwiki.rule=Host(`dokuwiki.focus-on-it.net`)
- traefik.http.routers.dokuwiki.entrypoints=websecure
- traefik.http.routers.dokuwiki.tls=true
- traefik.http.routers.dokuwiki.tls.certresolver=le
- traefik.http.services.dokuwiki.loadbalancer.server.port=8080
networks:
webproxy-net:
external: true
name: webproxy-net

17
root/docker/dokuwiki/start.sh Executable file
View File

@@ -0,0 +1,17 @@
#!/bin/sh
#/root/docker/dokuwiki/start.sh
set -euo pipefail
cd "$(dirname "$0")"
# 1) Name freimachen egal ob Container von docker run oder compose stammt
docker rm -f dokuwiki >/dev/null 2>&1 || true
# 2) Falls Compose-Reste existieren, wegräumen (optional, aber sauber)
docker compose down >/dev/null 2>&1 || true
# 3) Update + Recreate
docker compose pull
docker compose up -d --force-recreate --remove-orphans
# 4) Cleanup
docker image prune -f

View File

@@ -0,0 +1,37 @@
services:
drawio:
image: jgraph/drawio:latest
container_name: drawio
restart: unless-stopped
environment:
TZ: Europe/Berlin
DRAWIO_SERVER_URL: "https://drawio.focus-on-it.net/"
DRAWIO_BASE_URL: "https://drawio.focus-on-it.net"
DRAWIO_DISABLE_XFRAME: "1"
expose:
- "8080"
networks:
- webproxy-net
volumes:
- drawio-logs:/usr/local/tomcat/logs
labels:
- traefik.enable=true
- traefik.docker.network=webproxy-net
- traefik.http.routers.drawio.rule=Host(`drawio.focus-on-it.net`)
- traefik.http.routers.drawio.entrypoints=websecure
- traefik.http.routers.drawio.tls=true
- traefik.http.routers.drawio.tls.certresolver=le
- traefik.http.routers.drawio.middlewares=drawio-auth@file
- traefik.http.services.drawio.loadbalancer.server.port=8080
networks:
webproxy-net:
external: true
volumes:
drawio-logs:

Some files were not shown because too many files have changed in this diff Show More