forust
eb8d1b361e
ci: add branch tags to docker builds
ci / lint (push) Successful in 15s
ci / validate (push) Successful in 8s
ci / build (push) Successful in 3s
2026-06-30 01:20:51 +02:00
forust
6e2cafb206
ci: merge lint validate and docker builds
ci / lint (push) Successful in 14s
ci / validate (push) Successful in 19s
ci / build (push) Successful in 2s
2026-06-30 01:17:31 +02:00
forust
67b0c0824f
ci: restore docker-based lint and validate jobs
lint / prettier (push) Successful in 7s
lint / ruff (push) Successful in 3s
lint / yamllint (push) Successful in 5s
lint / hadolint (push) Successful in 4s
validate / yaml (push) Successful in 6s
validate / k8s (push) Successful in 4s
2026-06-30 01:12:23 +02:00
forust
8e72e0a920
ci: run lint and validate tools locally
lint / prettier (push) Failing after 2s
lint / ruff (push) Successful in 2s
lint / yamllint (push) Successful in 3s
lint / hadolint (push) Failing after 2s
validate / yaml (push) Successful in 2s
validate / k8s (push) Failing after 1s
2026-06-30 00:14:14 +02:00
forust
73a1132beb
Align Traefik Helm log values with chart v41
lint / prettier (push) Successful in 1m59s
lint / ruff (push) Successful in 4s
lint / yamllint (push) Successful in 5s
lint / hadolint (push) Successful in 4s
validate / yaml (push) Successful in 6s
validate / k8s (push) Successful in 3s
2026-06-29 23:02:26 +02:00
forust
a128523c24
Fix CrowdSec middleware references in Traefik ingresses
2026-06-29 22:47:21 +02:00
forust
ee881acd0e
refactor: update xdfnx homepage index.html
lint / prettier (push) Successful in 14s
lint / ruff (push) Successful in 5s
lint / yamllint (push) Successful in 9s
lint / hadolint (push) Successful in 17s
validate / yaml (push) Successful in 8s
validate / k8s (push) Successful in 7s
2026-06-28 11:59:57 +02:00
forust
bacb2f4b9f
fix: correct Traefik rule syntax for local IngressRoutes
...
Move parentheses outside Host() calls so that || and && operators
are properly grouped in Traefik rule expressions.
2026-06-28 11:59:52 +02:00
forust
91211e7b78
fix: resolve CrowdSec Helm upgrade failure - remove duplicate DISABLE_ONLINE_API env and add metrics config
2026-06-28 11:59:46 +02:00
forust
9b3a7aadb4
fix: resolve pyrogram imports by adding venv and pyright config
...
lint / prettier (push) Successful in 7s
lint / ruff (push) Successful in 4s
lint / yamllint (push) Successful in 6s
lint / hadolint (push) Successful in 4s
validate / yaml (push) Successful in 5s
validate / k8s (push) Successful in 5s
- Create .venv with pyrofork and all dependencies installed
- Add pyrightconfig.json at workspace root and in userbot/
- Enable pyright as language server for Python in Zed settings
- Update uv.lock with resolved dependency tree
2026-06-21 22:33:04 +02:00
forust
b123621ead
chore: remove github obsolete prod deploy workflow
lint / prettier (push) Successful in 7s
lint / ruff (push) Successful in 4s
lint / yamllint (push) Successful in 6s
lint / hadolint (push) Successful in 4s
validate / yaml (push) Successful in 6s
validate / k8s (push) Successful in 4s
2026-06-21 22:24:30 +02:00
forust
a2df8504f5
Fix DL3013: pin pip version in webinar-checker Dockerfile
lint / prettier (push) Successful in 8s
lint / ruff (push) Successful in 4s
lint / yamllint (push) Successful in 6s
lint / hadolint (push) Successful in 4s
validate / yaml (push) Successful in 6s
validate / k8s (push) Successful in 4s
2026-06-21 22:07:44 +02:00
forust
fb43306571
Fix all lint issues: Dockerfiles (DL3015/DL3013/DL4006) + Ruff (173→0 errors)
...
lint / prettier (push) Successful in 8s
lint / ruff (push) Successful in 5s
lint / yamllint (push) Successful in 7s
lint / hadolint (push) Failing after 4s
validate / yaml (push) Successful in 5s
validate / k8s (push) Successful in 5s
Dockerfile fixes:
- edu_master/phpsessid-bot: add --no-install-recommends, pin pip versions
- edu_master/webinar-checker: pin pip versions with --no-cache-dir
- userbot: add SHELL with pipefail for pipe operations
Ruff fixes (173 → 0):
- W293/W291/W292: whitespace clean via ruff format
- N806: camelCase → snake_case (anilist, safone, hearts, flux, etc.)
- ARG001/ARG002: prefix unused params with _
- SIM115: use context managers for file I/O
- SIM117: combine nested with statements
- S608: noqa on SQL f-strings (module name is validated)
- E402/N812/N817: import fixes
- B023: pass loop variable as argument
- I001: auto-sorted imports
- syntax: fixed = vs == in dtek_notif/main.py
2026-06-21 22:01:51 +02:00
forust
f424d91405
Tighten lint workflow scope
lint / prettier (push) Successful in 8s
lint / ruff (push) Failing after 5s
lint / yamllint (push) Successful in 6s
lint / hadolint (push) Failing after 4s
validate / yaml (push) Successful in 6s
validate / k8s (push) Successful in 4s
2026-06-21 21:51:20 +02:00
forust
88a8f2987f
Unify workflow job naming
lint / prettier (push) Failing after 9s
lint / ruff (push) Failing after 5s
lint / yamllint (push) Successful in 7s
lint / hadolint (push) Failing after 13s
validate / yaml (push) Successful in 6s
validate / k8s (push) Successful in 5s
2026-06-21 21:46:22 +02:00
forust
17027b232b
Rename workflows to yaml
2026-06-21 21:45:16 +02:00
forust
6ecbbb39b4
Fix yamllint workflow invocation
validate / k8s (push) Successful in 5s
validate / yaml (push) Successful in 7s
2026-06-21 21:40:11 +02:00
forust
175cbc8860
Fix validation workflows for self-hosted runner
validate / yaml (push) Failing after 15s
validate / k8s (push) Successful in 9s
2026-06-21 21:37:30 +02:00
forust
6363d050b0
Add YAML validation workflows
2026-06-21 21:27:31 +02:00
forust
c855764bc6
feat: add vaultwarden deployment config (compose + k8s)
Deploy to Server / deploy (push) Failing after 1s
2026-06-21 01:02:09 +02:00
forust
7d92b85e21
Merge commit '4355f451d4b4288d43468e08cad1f377e511f98a'
Deploy to Server / deploy (push) Has been cancelled
2026-06-19 23:23:28 +02:00
forust
9364392bc0
Merge commit '3eaef5dc90b716cc0fa391cbe2394be56d5f6041' as 'userbot'
Deploy to Server / deploy (push) Has been cancelled
2026-06-19 23:20:23 +02:00
forust
4355f451d4
Merge commit '3eaef5dc90b716cc0fa391cbe2394be56d5f6041' as 'userbot'
2026-06-19 23:20:23 +02:00
forust
3eaef5dc90
Squashed 'userbot/' content from commit 7fb0a0e
...
git-subtree-dir: userbot
git-subtree-split: 7fb0a0e179
2026-06-19 23:20:23 +02:00
forust
69ffd3682e
refactor: userbot to subtree
2026-06-19 23:20:13 +02:00
forust
1930600c40
Revert "refactor: extract userbot to standalone repo, add as git submodule"
...
This reverts commit 3c383db9a7 .
2026-06-19 23:11:27 +02:00
forust
d74a705d53
chore(k8s): rewritten ingressroute to include headplane AND headscale-admin ui
...
Deploy to Server / deploy (push) Has been cancelled
new routes groupping style
2026-06-19 23:02:22 +02:00
forust
3c383db9a7
refactor: extract userbot to standalone repo, add as git submodule
...
Deploy to Server / deploy (push) Has been cancelled
userbot now lives at ssh://git@gitssh.forust.xyz:2221/forust/userbot.git
and is included in homelab as a submodule at userbot/
2026-06-19 15:39:00 +02:00
forust
7fb0a0e179
chore: batch lint fixes across userbot and edu_master
...
- S113: Add timeout=10 to all requests calls (74 fixes)
- E722: Replace bare except: with except Exception:
- B904: Replace redundant re-raise with bare raise
- E402: Add noqa for intentional late imports after import_library()
- S102/S307/S310/S311/S603/S605/S606/S607/S108: Add noqa for intentional usage
- F601: Fix duplicate dict key in unsplash.py
- N802: Rename ReplyCheck -> reply_check with backward compat alias
- N813: Rename bs -> BS in icons.py
- B007/B020: Rename loop var _j in animations.py
- SIM102: Collapse nested if in autofwd.py
- SIM113: Use enumerate() in calculator.py
- A002: Add noqa for builtin shadowing in admlist.py
- F811: Add noqa for cohere redefinition
- edu_master: Fix ARG001, S108, S110, SIM117, apply --unsafe-fixes
- Add modules_list.txt with full module inventory
2026-06-19 15:36:25 +02:00
forust
227e5fda27
chore: batch lint fixes across userbot and edu_master
...
- S113: Add timeout=10 to all requests calls (74 fixes)
- E722: Replace bare except: with except Exception:
- B904: Replace redundant re-raise with bare raise
- E402: Add noqa for intentional late imports after import_library()
- S102/S307/S310/S311/S603/S605/S606/S607/S108: Add noqa for intentional usage
- F601: Fix duplicate dict key in unsplash.py
- N802: Rename ReplyCheck -> reply_check with backward compat alias
- N813: Rename bs -> BS in icons.py
- B007/B020: Rename loop var _j in animations.py
- SIM102: Collapse nested if in autofwd.py
- SIM113: Use enumerate() in calculator.py
- A002: Add noqa for builtin shadowing in admlist.py
- F811: Add noqa for cohere redefinition
- edu_master: Fix ARG001, S108, S110, SIM117, apply --unsafe-fixes
- Add modules_list.txt with full module inventory
2026-06-19 15:36:25 +02:00
forust
20bce5b31c
fix(userbot): add missing safone.py imports, apply ruff --unsafe-fixes
...
- Add missing aiohttp, PIL, BytesIO imports to safone.py (F821 runtime bugs)
- Apply ruff --unsafe-fixes (27 fixes): ternary operators, .get() patterns,
contextlib.suppress, enumerate(), collapsible if/else, remove .keys()
2026-06-19 15:27:12 +02:00
forust
70d7855f06
fix(userbot): add missing safone.py imports, apply ruff --unsafe-fixes
...
- Add missing aiohttp, PIL, BytesIO imports to safone.py (F821 runtime bugs)
- Apply ruff --unsafe-fixes (27 fixes): ternary operators, .get() patterns,
contextlib.suppress, enumerate(), collapsible if/else, remove .keys()
2026-06-19 15:27:12 +02:00
forust
c905bbd039
chore(userbot): optimize Dockerfile with multi-stage build and static ffmpeg
...
- Multi-stage build: pip deps built in separate stage
- Static ffmpeg binary instead of apt package (avoid 200+ deps)
- Keep only git, mediainfo, wget via apt
2026-06-19 14:56:37 +02:00
forust
fc83176522
chore(userbot): optimize Dockerfile with multi-stage build and static ffmpeg
...
Deploy to Server / deploy (push) Has been cancelled
- Multi-stage build: pip deps built in separate stage
- Static ffmpeg binary instead of apt package (avoid 200+ deps)
- Keep only git, mediainfo, wget via apt
2026-06-19 14:56:37 +02:00
forust
7ba6bc44f2
chore(userbot): apply ruff check --fix and ruff format
...
- ruff check --fix: 210 auto-fixed errors (import sorting, trailing
whitespace, unused imports, f-string fixups, deprecated annotations)
- ruff format: 104 files reformatted to consistent style
- 268 non-auto-fixable issues remain (S113 requests timeout, etc.)
2026-06-19 12:19:01 +02:00
forust
0506aaaac8
chore(userbot): apply ruff check --fix and ruff format
...
- ruff check --fix: 210 auto-fixed errors (import sorting, trailing
whitespace, unused imports, f-string fixups, deprecated annotations)
- ruff format: 104 files reformatted to consistent style
- 268 non-auto-fixable issues remain (S113 requests timeout, etc.)
2026-06-19 12:19:01 +02:00
forust
bd9724da69
Revert "chore: switch yaml formatter to prettier, disable yaml-language-server validation (yamllint covers it)"
...
This reverts commit 3bad433f1a .
2026-06-19 12:15:14 +02:00
forust
3bad433f1a
chore: switch yaml formatter to prettier, disable yaml-language-server validation (yamllint covers it)
2026-06-19 12:11:58 +02:00
forust
2bd7a5176f
Revert "chore: disable yaml-language-server formatting (handled by prettier), set yamlVersion 1.2"
...
This reverts commit a9ff01261b .
2026-06-19 12:08:42 +02:00
forust
a9ff01261b
chore: disable yaml-language-server formatting (handled by prettier), set yamlVersion 1.2
2026-06-19 12:06:16 +02:00
forust
95cec59263
chore(userbot): apply prettier formatting across manifests
2026-06-19 12:03:13 +02:00
forust
1362ebc3c2
chore(userbot): apply prettier formatting across manifests
2026-06-19 12:03:13 +02:00
forust
2de6131ba7
chore: apply prettier formatting across compose files and configs
2026-06-19 12:03:11 +02:00
forust
1762962f32
chore(k8s): fix indentation in ingress manifests (3-space -> 2-space)
2026-06-19 12:03:02 +02:00
forust
7fb9e46c05
chore: remove singleQuote from prettier config to preserve original quotes
2026-06-19 12:02:59 +02:00
forust
b33488342a
chore: add truthy allowed-values to yamllint config
2026-06-19 12:01:11 +02:00
forust
d53b14b1de
chore: apply yaml lint fixes across compose files
...
- Fix trailing whitespace in compose files
- Add missing final newlines (EOF)
- Fix indentation in dockmon (3-space -> 2-space) and glance monitor.yml
- Align comments consistently
2026-06-19 11:57:14 +02:00
forust
a6a6d933da
chore: add linter configs (editorconfig, hadolint, markdownlint, prettier, yamllint, ruff, zed)
2026-06-19 11:57:04 +02:00
forust
0803f3efff
chore(k8s): returned to Host || Host standart instead of regexp.
...
Deploy to Server / deploy (push) Has been cancelled
Yaml lint (yamllint)
2026-06-18 21:02:40 +02:00
forust
ec0420962b
hotfix: update headscale config for v0.29.0 breaking changes
...
- ephemeral_node_inactivity_timeout → node.ephemeral.inactivity_timeout
- randomize_client_port → randomizeClientPort in policy file
2026-06-18 14:26:58 +02:00
forust
b407202e53
chore(k8s): imagepullpolicy always for homepages
...
Deploy to Server / deploy (push) Has been cancelled
tools column on the forust.xyz landing
2026-06-17 01:53:00 +02:00
forust
b9b8474455
feat(k8s): protect all prod routers with crowdsec middleware
2026-06-17 01:50:33 +02:00
forust
76853637bc
feat: traefik prometheus metrics
2026-06-17 01:41:45 +02:00
forust
dac3777fc4
fix: authentik k8s url
2026-06-17 01:41:13 +02:00
forust
bb5a3697f2
feat: bentopdf k8s manifests
2026-06-16 13:35:03 +02:00
forust
e73aacb900
feat: add bentopdf pdf suite to converters stack
2026-06-16 12:36:31 +02:00
forust
ea483da645
feat: kube-prometeus-stack
2026-06-16 12:36:31 +02:00
forust
85d35f86a7
feat: switch adguard dns to a dedicated metallb IP
2026-06-16 12:36:31 +02:00
forust
3d03ab1ea4
fix: priority for homepage's router
2026-06-16 12:36:26 +02:00
forust
4ca3ccdad3
chore(k8s): router rewrite
...
- returned to Host matcher instead of Hostregexp
- switched dockercompose labels to letsencrypt
- renamed DoH route
2026-06-16 12:34:15 +02:00
forust
10e26cda72
feat: crowdsec
...
- moved bouncer tokens to secrets
- experimental host ssh log parsing
- moved crowdsec to it's own directory
2026-06-16 00:23:29 +02:00
forust
c648dfd147
chore(k8s): renamed gitea ingressroute to ingress
Deploy to Server / deploy (push) Has been cancelled
2026-06-14 23:24:24 +02:00
forust
2f97821dc6
feat: crowdsec lapi helm
Deploy to Server / deploy (push) Has been cancelled
2026-06-14 23:21:37 +02:00
forust
3d78b90f3a
updated kener to v4.1.0
2026-06-14 23:02:35 +02:00
forust
3dc8228e22
matched dns record and the searxng's route
2026-06-14 23:01:58 +02:00
forust
93171ad8e6
fixed and tweaked glance app
2026-06-14 23:00:29 +02:00
forust
dca7ad0902
fix: race condition convertx and homepage
...
typo in glance stripprefix
glance placed at /glance
2026-06-14 22:48:50 +02:00
forust
26d10f4e71
changed traefik bgp ip
Deploy to Server / deploy (push) Has been cancelled
2026-06-11 19:44:07 +02:00
forust
68c5eac164
chore: compact ingress rules with regex
2026-06-11 14:20:03 +02:00
forust
30f0f05150
chore(k8): system requirements fine-tuning
...
- reduced at homepages
- reduced at netronome
- reduced at dockmon
- reduced at gitea
- reduced at kener
2026-06-11 03:51:16 +02:00
forust
a97560eaf3
ui(honepage): minor changes on forust homepage
...
- add kubernetes skill gauge
- add links to services
2026-06-11 03:44:17 +02:00
forust
2dce972be2
feat(k8s): traefik metallb and minecraft ports
...
- MetalLB binded on 172.20.10.2
- disabled hostnetwork
- 25565 MC Java
- 19132 UDP MC Bedrock
2026-06-11 03:42:59 +02:00
forust
c2ad1122e5
fix: add www subdomain routers
2026-06-11 03:41:46 +02:00
forust
4c356924e7
feat(k8s): authentik server+worker deployments and postgres statefulset
2026-06-11 03:35:28 +02:00
forust
51777f904f
feat(k8s): searchx metasearch engine
2026-06-11 02:52:03 +02:00
forust
37550da086
chore(k8s): portainer sys reqs
2026-06-10 23:43:41 +02:00
forust
12d59cb6f9
feat(k8s): n8n
2026-06-10 23:32:59 +02:00
forust
714d4896c6
feat(k8s): glance deployments
2026-06-10 23:07:39 +02:00
forust
e369875117
chore(k8s): change termix statefulset to deployment
...
Signed-off-by: mr-forust <vzlomdsisma@gmail.com >
2026-06-10 21:51:33 +02:00
forust
31e61a9513
chore(k8s): convertx system reqs
2026-06-10 21:40:12 +02:00
forust
9b21f8056c
chore(k8s): added more predictivity
2026-06-10 21:22:01 +02:00
forust
4623fbd8bd
chore: make metube downloads writed to a temporary storage
2026-06-10 21:17:43 +02:00
forust
18d1e21690
fix(k8s): traefik log spam for non-existing local-tls secret, because of namespace isolation
2026-06-10 21:14:10 +02:00
forust
20b8c93275
chore(k8s): make dockmon statefulset
...
+ adjusted userbot sys reqs
2026-06-10 19:40:45 +02:00
forust
5f88ecf02b
chore(k8s): make dockmon statefulset
...
+ adjusted userbot sys reqs
2026-06-10 19:40:45 +02:00
forust
0093e5ac52
feat(k8s): termix statefulset
2026-06-10 19:38:16 +02:00
forust
bb821e138a
chore(k8): adjusted system resources requests and limits based on manual monitoring
2026-06-10 19:37:16 +02:00
forust
1ea669220b
chore(k8): adjusted system resources requests and limits based on manual monitoring
2026-06-10 19:37:16 +02:00
forust
f068a3e6a0
feat: convertx k8s deployment
2026-06-09 14:41:56 +02:00
forust
b7854447af
lint: yaml spaces and tabs
2026-06-09 12:59:36 +02:00
forust
7a3708f70c
lint: yaml spaces and tabs
2026-06-09 12:59:36 +02:00
forust
01ae2dd5cf
Merge branch 'feat/convertx' into k8s/full-transfer
2026-06-09 12:19:13 +02:00
forust
82595804bf
fix: naio port fix
2026-06-09 12:17:43 +02:00
forust
31b3c5bc31
add kener redis service (clusterip none)
2026-06-09 09:04:02 +02:00
forust
1cdbfb2d7b
chore: secrets example for gitea
2026-06-09 09:03:39 +02:00
forust
6232b77026
fix: traefik restart policy to fix port issue
2026-06-09 09:02:30 +02:00
forust
22ffd779cc
fix: switched headscale to external-service (managed by docker, routed by k8s)
...
- Changed ports for headscale to prefix "1"
2026-06-09 09:01:44 +02:00
forust
d85b3f02f5
k8s: fixes and formating
...
- Add checkmk secrets example
- space-tab fixes (linter)
- switcher kener redis to statefulset
- disabled netronome voulme mount (not needed). postgres statefulset instead
- switched naio to 8888 port (traefik port conflict)
- changed nextcloud ips and ports to prod
2026-06-08 17:39:32 +02:00
forust
17b2dfdc2e
fix: gitea ssh tcp router, dns over tls adguard router
2026-06-08 14:20:28 +02:00
forust
b641e3bd94
fix: adguard cers mount name
2026-06-08 12:40:23 +02:00