diff --git a/.gitignore b/.gitignore index 016078f..192dcb8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,14 +1,18 @@ -<<<<<<< HEAD -# ---> Nextjs +# ---> Next.js # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. # dependencies /node_modules /.pnp .pnp.js +jspm_packages/ +web_modules/ +.pnpm-store # testing /coverage +*.lcov +.nyc_output # private gf site /src/app/darecek/ @@ -16,180 +20,56 @@ # next.js /.next/ +/.next /out/ +out # production /build +build/Release +dist +.output # misc .DS_Store /public/DS_Store *.pem +.idea/ +.vercel +.svelte-kit/ +.vite/ # debug npm-debug.log* yarn-debug.log* yarn-error.log* - -# local env files -.env*.local -.env - -# vercel -.vercel - -# typescript -*.tsbuildinfo -next-env.d.ts - -# ---> Node -# Logs +lerna-debug.log* logs *.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -lerna-debug.log* -# Diagnostic reports (https://nodejs.org/api/report.html) -report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json - -# Runtime data +# runtime data pids *.pid *.seed *.pid.lock -# Directory for instrumented libs generated by jscoverage/JSCover -lib-cov - -# Coverage directory used by tools like istanbul -coverage -*.lcov - -# nyc test coverage -.nyc_output - -# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) -.grunt - -# Bower dependency directory (https://bower.io/) -bower_components - -# node-waf configuration -.lock-wscript - -# Compiled binary addons (https://nodejs.org/api/addons.html) -build/Release - -# Dependency directories -node_modules/ -jspm_packages/ - -# Snowpack dependency directory (https://snowpack.dev/) -web_modules/ - -# TypeScript cache -*.tsbuildinfo - -# Optional npm cache directory -.npm - -# Optional eslint cache -.eslintcache - -# Optional stylelint cache -.stylelintcache - -# Optional REPL history -.node_repl_history - -# Output of 'npm pack' -*.tgz - -# Yarn Integrity file -.yarn-integrity - -# dotenv environment variable files +# local env files .env .env.* !.env.example -# parcel-bundler cache (https://parceljs.org/) +# caches +.npm +.eslintcache +.stylelintcache +.node_repl_history +.grunt .cache .parcel-cache -# Next.js build output -.next -out +# typescript +*.tsbuildinfo +next-env.d.ts -# Nuxt.js build / generate output -.nuxt -dist -.output - -# Gatsby files -.cache/ -# Comment in the public line in if your project uses Gatsby and not Next.js -# https://nextjs.org/blog/next-9-1#public-directory-support -# public - -# vuepress build output -.vuepress/dist - -# vuepress v2.x temp and cache directory -.temp -.cache - -# Sveltekit cache directory -.svelte-kit/ - -# vitepress build output -**/.vitepress/dist - -# vitepress cache directory -**/.vitepress/cache - -# Docusaurus cache and generated files -.docusaurus - -# Serverless directories -.serverless/ - -# FuseBox cache -.fusebox/ - -# DynamoDB Local files -.dynamodb/ - -# Firebase cache directory -.firebase/ - -# TernJS port file -.tern-port - -# Stores VSCode versions used for testing VSCode extensions -.vscode-test - -# pnpm -.pnpm-store - -# yarn v3 -.pnp.* -.yarn/* -!.yarn/patches -!.yarn/plugins -!.yarn/releases -!.yarn/sdks -!.yarn/versions - -# Vite files -vite.config.js.timestamp-* -vite.config.ts.timestamp-* -.vite/ - -======= -node_modules/ -.next/ -.idea/ ->>>>>>> 2b92431 (first commit/push) +# build artifacts +*.tgz diff --git a/README.md b/README.md index 5c65480..7a5b563 100644 --- a/README.md +++ b/README.md @@ -34,4 +34,4 @@ Detailed step-by-step production instructions for **PM2 + npm on Debian and Alpi [`DEPLOYMENT.md`](./DEPLOYMENT.md). ## πŸ“¬ Contact -To see my projects or get in touch, visit the live site or email me at [dvorak@dvorakmortonxd.dev](mailto:martin@dvorakmortonxd.dev). +To see my projects or get in touch, visit the live site or email me at [dvorak@dvorakmortonxd.dev](mailto:dvorak@dvorakmortonxd.dev). diff --git a/package-lock.json b/package-lock.json index 0af1926..b24bddb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "dvorakmortonxd", - "version": "1.2.0", + "version": "1.2.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "dvorakmortonxd", - "version": "1.2.0", + "version": "1.2.1", "dependencies": { "next": "^16.3.5", "react": "^19.3.0", diff --git a/package.json b/package.json index cda2f9d..342b42c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "dvorakmortonxd", - "version": "1.2.0", + "version": "1.2.1", "private": true, "scripts": { "dev": "next dev --turbopack", diff --git a/public/dirt.webp b/public/dirt.webp deleted file mode 100644 index ee626fc..0000000 Binary files a/public/dirt.webp and /dev/null differ diff --git a/public/llms.txt b/public/llms.txt index 0b60cdf..2fc3493 100644 --- a/public/llms.txt +++ b/public/llms.txt @@ -9,7 +9,7 @@ - Role: Developer, homelab enthusiast, self-hoster, IT Student at sssvt.cz - Location: Czech Republic - Contact: dvorak@dvorakmortonxd.dev, or see social links below -- Free time: Spending time with girlfriend, playing Terraria and Minecraft modpacks with Mekanism +- Free time: Spending time with girlfriend, playing Terraria and Minecraft modpacks with Mekanism, going to the gym (PPL / powerlifting SBD) ## Socials @@ -18,7 +18,7 @@ - SoundCloud: https://soundcloud.com/martin-dvorak-185636305 - TikTok: https://www.tiktok.com/@dvorakmortonxd - Snapchat: https://www.snapchat.com/add/dvorakmortonxd -- GitHub: https://github.com/dvorakmortonxd +- GitDXD (self-hosted Git forge): https://git.dvorakmortonxd.dev/dvorakmortonxd - LinkedIn: https://www.linkedin.com/in/martin-dvorak-32012a394/ - Itch.io: https://martin-dv.itch.io - Discord: https://discord.com/users/555745543763001364 @@ -30,78 +30,89 @@ Martin runs a personal Proxmox homelab server and self-hosts the following services: -- Proxmox (server management): https://proxmox.dvorakmortonxd.dev/ -- Ollama (local AI inference with RTX 3070 GPU passthrough): https://ai.dvorakmortonxd.dev/ -- Jellyfin (local media server): https://jelly.dvorakmortonxd.dev/ -- MCSManager (game server panel): https://fake-pterodactyl.dvorakmortonxd.dev/ -- Navidrome (music streaming): https://navidrome.dvorakmortonxd.dev/ -- Mailcow (email server): https://mailcow.dvorakmortonxd.dev/ -- SearxNG (private search): https://search.dvorakmortonxd.dev/ -- ConvertX (file converter): https://convert.dvorakmortonxd.dev/ +- Proxmox (server management, private): https://proxmox.dvorakmortonxd.dev/ +- Llama.cpp (local AI inference with RTX 3070 GPU passthrough, on request): https://ai.dvorakmortonxd.dev/ +- Jellyfin (local media server, on request): https://jelly.dvorakmortonxd.dev/ +- SMP (survival Minecraft server, on request): mc.dvorakmortonxd.dev:25565 +- Navidrome (music streaming, private): https://navidrome.dvorakmortonxd.dev/ +- SearXNG (private search, private): https://search.dvorakmortonxd.dev/ +- ConvertX (file converter, on request): https://convert.dvorakmortonxd.dev/ +- GitDXD (self-hosted Forgejo Git instance, public): https://git.dvorakmortonxd.dev ## Hardware ### Main Desktop β€” Gentoo Linux - CPU: AMD Ryzen 5 3600 (6c/12t) -- GPU: NVIDIA GTX 1050 Ti +- GPU: AMD RX 580 8GB (ASUS ROG) - RAM: 16GB -- Storage: 240GB SSD -- OS: Gentoo Linux +- Storage: 240GB SATA SSD +- OS: Gentoo Linux with SwayFX ### Proxmox Homelab Server - CPU: Intel Xeon E5 2680 v4 (14c/28t) -- GPU: NVIDIA RTX 3070 (used for local AI via Ollama) +- GPU: NVIDIA RTX 3070 (used for local AI via Llama.cpp) - RAM: 68GB DDR4 RDIMM (2Γ—16GB + 1Γ—32GB + 1Γ—4GB) - Storage: 256GB SATA M.2 + 1TB HDD + 750GB HDD - Note: Available for VPS/hosting (DM on Instagram) +### Handhelds & Consoles +- Lenovo Legion Go S β€” 32GB LPDDR5X unified RAM, 1TB NVMe. Dual-boots Artix Linux (OpenRC, SwayFX) and stock SteamOS. +- Xbox 360 S β€” Trinity motherboard, modified with the badupdate exploit for custom software. XCGPU (3c/6t), 0.5GB GDDR3, 500GB HDD. +- Xbox One S 2TB β€” Owned since ~2018 or 2019, used sometimes for the Minecraft console edition gliding minigame. + ### Laptops - MacBook Air M4 13" β€” Apple M4 (10c CPU / 8c GPU), 16GB unified RAM (LPDDR5X), 256GB storage. Main daily driver for everything except gaming. -- MacBook Air 2013 11" β€” Intel Core i5 (2c/4t), 8GB DDR3, 250GB SSD. Runs Arch Linux with i3-gaps (given to Josef). +- MacBook Air 2013 11" β€” Intel Core i5 (2c/4t), 8GB DDR3, 250GB SSD. Runs Arch Linux with i3wm. - MacBook Unibody 2010 β€” Non-functional (purchased faulty for €15 on bazos). -- ThinkPad T400s 14" (2009) β€” Intel Core 2 Duo (2c/2t), 8GB DDR3, 800GB HDD. Runs Void Linux + i3wm. Intel AMT disabled. +- ThinkPad T400s 14" (2009) β€” Intel Core 2 Duo (2c/2t), 8GB DDR3, 800GB HDD. Runs Void Linux + i3wm. - Asus N56JR 15.6" β€” Intel Core i7 4700HQ (4c/8t), 8GB DDR3, 240GB SSD. Runs Ubuntu 24.04 LTS (mom uses it for movies). +- Dell Latitude E6320 (2011) β€” Rescued from e-waste, now running Linux Mint. Battery is dead. +- Small Unknown XP-era Acer Laptop β€” Rescued from e-waste, Intel Atom-class, ~2GB RAM. ### Phones - iPhone 16 Pro 128GB β€” Apple A18 Pro (6c/6t), 8GB RAM. Current main phone. - iPhone 11 128GB β€” Apple A13 (6c/6t), 4GB RAM. Now used by father. - iPhone 7 128GB β€” Apple A10 (4c/4t), 2GB RAM. Purchased for ~€4 on refurbed.cz. -### Gaming -- Xbox 360 S β€” Trinity motherboard, modified with badupdate exploit for custom software. XCGPU (3c/6t), 0.5GB GDDR3, 500GB HDD. -- Xbox One S 2TB β€” Owned since ~2018 or 2019, used sometimes for Minecraft console edition gliding minigame. - ## Coding Projects ### Games -- Hospital Execution β€” First real game, made in Pygame. https://martin-dv.itch.io/hospital-execution-demo +- Hospital Execution β€” First real game, made in Pygame. Unfinished. https://martin-dv.itch.io/hospital-execution-demo - Underbaranoia β€” Undertale-like infinite fight simulator, made in Pygame. https://martin-dv.itch.io/underbaranoia -- Swords and Sandals 2 Pygame Remake β€” Unfinished remake of the classic flash game (will finish it one day). https://github.com/dvorakmortonxd/sas2py -- Underpygametale β€” Remake of Undertale written in Pygame. https://github.com/dvorakmortonxd/underpygametale +- Underpygametale β€” Remake of Undertale written in Pygame. Unfinished. https://git.dvorakmortonxd.dev/dvorakmortonxd/underpygametale +- Swords and Sandals 2 Pygame Remake β€” Unfinished remake of the classic flash game (will finish it one day). https://git.dvorakmortonxd.dev/dvorakmortonxd/sas2py +- Revival Inc. β€” Pygame game packaged with Pygbag for Mini Jame Gam #55 (theme: Necromancy, special item: Milk). Playable on the site at https://dvorakmortonxd.dev/revival-inc or https://martin-dv.itch.io/revival-inc +- Mandelbrot Set in Pygame β€” Python script rendering the Mandelbrot set. https://git.dvorakmortonxd.dev/dvorakmortonxd/mandelbrot ### Tools & Utilities - Offline Memer β€” Parody of the Discord bot "Dank Memer", made in Batch (first published game). https://martin-dv.itch.io/offline-memer -- 4y β€” Rebranded fork of Ly (Linux login manager), no extra features. Outdated. https://github.com/dvorakmortonxd/4y -- 4rch Linux β€” Rebranded fork of Arch Linux with the Calamares installer. Outdated. https://github.com/dvorakmortonxd/4rch-linux -- You_Are_An_Idiot_Virus.py β€” Python script spamming blinking windows as a prank. https://github.com/dvorakmortonxd/You_Are_An_Idiot_Virus -- Batch MSDOS Simulator β€” School project, OS simulator with browser, games, and photos in Batch. https://github.com/dvorakmortonxd/DvorakMSDOS +- 4y β€” Rebranded fork of Ly (Linux login manager), no extra features. Outdated. https://git.dvorakmortonxd.dev/dvorakmortonxd/4y +- 4rch Linux β€” Rebranded fork of Arch Linux with the Calamares installer. Outdated. https://git.dvorakmortonxd.dev/dvorakmortonxd/4rch-linux +- You_Are_An_Idiot_Virus.py β€” Python script spamming blinking windows as a prank. https://git.dvorakmortonxd.dev/dvorakmortonxd/uranidiot +- Batch MSDOS Simulator β€” School project, OS simulator with browser, games, and photos in Batch. https://git.dvorakmortonxd.dev/dvorakmortonxd/DvorakMSDOS ### Browsers -- Venturesome β€” Browser built in Python using PyQtWebEngine with PyQt5. Superseded by RustyWolf. https://github.com/dvorakmortonxd/Venturesome -- RustyWolf β€” Lightweight browser built in Rust with WebKitGTK. Successor to Venturesome. https://github.com/dvorakmortonxd/RustyWolf +- Venturesome β€” Browser built in Python using PyQtWebEngine with PyQt5. Superseded by RustyWolf. https://git.dvorakmortonxd.dev/dvorakmortonxd/Venturesome +- RustyWolf β€” Lightweight browser built in Rust with WebKitGTK. Successor to Venturesome. https://git.dvorakmortonxd.dev/dvorakmortonxd/RustyWolf ### Window Manager -- dxdwm β€” Minimal X11 window manager written in Rust. https://github.com/dvorakmortonxd/DvorakMSDOS +- dxdwm β€” Minimal X11 window manager written in Rust. https://git.dvorakmortonxd.dev/dvorakmortonxd/dxdwm ### Minecraft -- MMO Minecraft Plugin β€” Basic MMO plugin with custom bosses and items done manually. https://www.youtube.com/watch?v=cSAX5Ds61ac +- MMO Minecraft Plugin β€” Basic MMO plugin with custom bosses and items, done manually. https://www.youtube.com/watch?v=cSAX5Ds61ac - Various Minecraft servers β€” Creative Games, Softcraft, Frostville, EuSMP, EurthSMP, SoftSMP, etc. https://discord.gg/KtHRm9kRmy ### Other -- PYGETEX β€” Discord bots collection. (Including a self-bot that auto-advertised a minecraft server). https://github.com/dvorakmortonxd/PYGETEX -- Ollama Server β€” Local AI server VM running on Proxmox with RTX 3070 GPU passthrough. https://ai.dvorakmortonxd.dev/ -- Mandelbrot Set in Pygame β€” Python script rendering the Mandelbrot set. https://github.com/dvorakmortonxd/mandelbrot -- Proxmox Setup β€” Proxmox setup with over 8 VMs running all local services. https://proxmox.dvorakmortonxd.dev/ +- PYGETEX β€” Discord bots collection (including a self-bot that auto-advertised a Minecraft server). https://git.dvorakmortonxd.dev/dvorakmortonxd/PYGETEX +- Llama.cpp Server β€” Local AI server VM running on Proxmox with RTX 3070 GPU passthrough. https://ai.dvorakmortonxd.dev/ +- maturita.c β€” Educational study app being built with Josef Skopec (Pepa). https://git.dvorakmortonxd.dev/edu/maturita.c +- GitDXD β€” Self-hosted Forgejo Git instance, started for himself and friends but now public. https://git.dvorakmortonxd.dev + +## Now + +- Hosting an SMP (DM on Discord). +- Bulking through the non-summer seasons, cooking daily. +- Building maturita.c, an education app, with Josef Skopec. ## Friends @@ -114,4 +125,4 @@ Martin runs a personal Proxmox homelab server and self-hosts the following servi - Personal website, not a commercial entity. - Content may be referenced with attribution. - Self-hosted services are personal and not intended for public use unless stated. -- The Proxmox server is available for VPS/hosting on request (contact via Instagram). \ No newline at end of file +- The Proxmox server is available for VPS/hosting on request (contact via Instagram). diff --git a/public/minecrafttest2.webp b/public/minecrafttest2.webp deleted file mode 100644 index e976763..0000000 Binary files a/public/minecrafttest2.webp and /dev/null differ diff --git a/public/robots.txt b/public/robots.txt index 63a9182..2d08bd6 100644 --- a/public/robots.txt +++ b/public/robots.txt @@ -5,7 +5,6 @@ User-agent: * Allow: / Allow: /llms.txt -Allow: /llms-full.txt Disallow: /api/ Disallow: /_next/ Disallow: /admin/ diff --git a/public/sitemap.xml b/public/sitemap.xml index d55cd80..d9dec3b 100644 --- a/public/sitemap.xml +++ b/public/sitemap.xml @@ -4,7 +4,7 @@ https://dvorakmortonxd.dev/ - 2026-04-14 + 2026-09-20 monthly 1.0 @@ -12,7 +12,7 @@ https://dvorakmortonxd.dev/llms.txt - 2026-04-14 + 2026-09-20 monthly 0.5 @@ -20,51 +20,45 @@ https://proxmox.dvorakmortonxd.dev/ - 2026-04-14 + 2026-09-20 yearly 0.4 https://ai.dvorakmortonxd.dev/ - 2026-04-14 + 2026-09-20 yearly 0.4 https://jelly.dvorakmortonxd.dev/ - 2026-04-14 + 2026-09-20 yearly 0.4 - - https://fake-pterodactyl.dvorakmortonxd.dev/ - 2026-04-14 - yearly - 0.3 - https://navidrome.dvorakmortonxd.dev/ - 2026-04-14 + 2026-09-20 yearly 0.4 - - https://mailcow.dvorakmortonxd.dev/ - 2026-04-14 - yearly - 0.3 - https://search.dvorakmortonxd.dev/ - 2026-04-14 + 2026-09-20 yearly 0.3 https://convert.dvorakmortonxd.dev/ - 2026-04-14 + 2026-09-20 yearly 0.3 + + https://git.dvorakmortonxd.dev/ + 2026-09-20 + yearly + 0.4 + - \ No newline at end of file + diff --git a/public/softcraft.webp b/public/softcraft.webp deleted file mode 100644 index 216f4d9..0000000 Binary files a/public/softcraft.webp and /dev/null differ diff --git a/src/app/api/ping/route.ts b/src/app/api/ping/route.ts index 3be527c..98a2bec 100644 --- a/src/app/api/ping/route.ts +++ b/src/app/api/ping/route.ts @@ -9,7 +9,11 @@ export async function GET(request: Request) { if (url.startsWith('minecraft://')) { const address = url.replace('minecraft://', ''); try { - const res = await fetch(`https://api.mcsrvstat.us/3/${address}`); + // mcsrvstat.us is unreliable at resolving some hostnames, so use mcstatus.io. + const res = await fetch(`https://api.mcstatus.io/v2/status/java/${address}`, { + signal: AbortSignal.timeout(5000), + cache: 'no-store', + }); const data = await res.json(); return NextResponse.json({ status: data.online ? 'up' : 'down' }); } catch { diff --git a/src/app/components/ServiceButton.tsx b/src/app/components/ServiceButton.tsx index 97906cd..2662026 100644 --- a/src/app/components/ServiceButton.tsx +++ b/src/app/components/ServiceButton.tsx @@ -2,10 +2,16 @@ import React, { useEffect, useState, ReactNode } from 'react'; -export default function ServiceButton({ url, checkUrl, className, icon, name, desc, access }: { url: string, checkUrl?: string, className: string, icon: ReactNode, name: string, desc: string, access?: 'public' | 'private' | 'on_request' }) { - const [status, setStatus] = useState<'pending' | 'up' | 'down'>('pending'); +export default function ServiceButton({ url, checkUrl, className, icon, name, desc, access, disabled }: { url: string, checkUrl?: string, className: string, icon: ReactNode, name: string, desc: string, access?: 'public' | 'private' | 'on_request', disabled?: boolean }) { + const [status, setStatus] = useState<'pending' | 'up' | 'down'>(disabled ? 'up' : 'pending'); useEffect(() => { + // Disabled buttons are decorative: skip the health check and stay green. + if (disabled) { + setStatus('up'); + return; + } + const checkStatus = async () => { try { const targetUrl = checkUrl || url; @@ -17,22 +23,15 @@ export default function ServiceButton({ url, checkUrl, className, icon, name, de } }; checkStatus(); - }, [url, checkUrl]); + }, [url, checkUrl, disabled]); const statusColor = status === 'up' ? '#4ade80' : status === 'down' ? '#ef4444' : '#9ca3af'; const statusGlow = status === 'up' ? 'rgba(74, 222, 128, 0.9)' : status === 'down' ? 'rgba(239, 68, 68, 0.9)' : 'transparent'; const statusLabel = status === 'up' ? 'Active' : status === 'down' ? 'Dead' : 'Checking...'; const isFriend = className === 'friend'; - return ( - + const content = ( + <> {isFriend && } {icon} @@ -46,6 +45,39 @@ export default function ServiceButton({ url, checkUrl, className, icon, name, de {desc} + + ); + + const sharedStyle = { + position: 'relative', + '--status-color': statusColor, + '--status-glow': statusGlow, + ...(disabled ? { cursor: 'default' } : {}), + } as React.CSSProperties; + + if (disabled) { + return ( + + {content} + + ); + } + + return ( + + {content} ); } diff --git a/src/app/page.css b/src/app/page.css index 7c0cf2a..f573240 100644 --- a/src/app/page.css +++ b/src/app/page.css @@ -343,7 +343,7 @@ body { } .services-buttons.services-main { - grid-template-columns: repeat(4, 1fr); + grid-template-columns: repeat(3, 1fr); } @@ -480,8 +480,6 @@ body { .service-button.jellyfin:hover .service-name { color: var(--purple); } .service-button.pterodactyl:hover .service-name { color: var(--red); } .service-button.funkwhale:hover .service-name { color: var(--darkpink); } -.service-button.searxng:hover .service-name { color: var(--aqua); } -.service-button.convertx:hover .service-name { color: var(--gray); } .service-button.gitdxd:hover .service-name { color: var(--purple); } .service-button.proxmox { border-color: rgba(168, 153, 132, 0.1); } @@ -489,8 +487,6 @@ body { .service-button.jellyfin { border-color: rgba(168, 153, 132, 0.1); } .service-button.pterodactyl { border-color: rgba(168, 153, 132, 0.1); } .service-button.funkwhale { border-color: rgba(255, 0, 67, 0.1); } -.service-button.searxng { border-color: rgba(168, 153, 132, 0.1); } -.service-button.convertx { border-color: rgba(168, 153, 132, 0.1); } .service-button.gitdxd { border-color: rgba(255, 0, 67, 0.1); } .service-desc { diff --git a/src/app/page.tsx b/src/app/page.tsx index c27cba2..4b15e66 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -107,8 +107,8 @@ const codingProjects = [ url: "https://git.dvorakmortonxd.dev/dvorakmortonxd/sas2py", }, { - title: "Ollama server", - desc: "my ollama vm running on my proxmox with a gpu passthroughed RTX 3070, dm me if u wanna test it lol.", + title: "Llama.cpp server", + desc: "my llama.cpp vm running on my proxmox with a gpu passthroughed RTX 3070, dm me if u wanna test it lol.", img: "/coding-14.webp", url: "https://ai.dvorakmortonxd.dev/", }, @@ -162,7 +162,7 @@ export default function Home() { }, { title: "Proxmox Server", - desc: "my personal proxmox server (dm me on ig if u need a VPS/hosting), specs: Xeon E5 2680 v4 (14c/28t), RTX 3070 (ollama), 68gb ddr4 rdimm ram (2*16gb, 1*32gb, 1*4gb), 256gb of sata m2 space + 1tb hdd + 750gb hdd.", + desc: "my personal proxmox server (dm me on ig if u need a VPS/hosting), specs: Xeon E5 2680 v4 (14c/28t), RTX 3070 (llama.cpp), 68gb ddr4 rdimm ram (2*16gb, 1*32gb, 1*4gb), 256gb of sata m2 space + 1tb hdd + 750gb hdd.", image: "/proxmox-server.webp", }, { @@ -388,12 +388,13 @@ export default function Home() { name="Proxmox" desc="Server Management" access="private" + disabled /> @@ -422,22 +423,6 @@ export default function Home() { desc="Music Streaming" access="private" /> - -
- v1.2.0 + v1.2.1 Β© 2025-2026 Martin DvoΕ™Γ‘k. All rights reserved (not really I dont care, just follow the GPL3.0 License)
diff --git a/src/app/softcraft/page.tsx b/src/app/softcraft/page.tsx deleted file mode 100644 index f0d3d3a..0000000 --- a/src/app/softcraft/page.tsx +++ /dev/null @@ -1,235 +0,0 @@ -import Image from "next/image"; -import "../page.css"; -import { Metadata } from 'next'; -import type { CSSProperties } from 'react'; -import JokerLogo from "../components/JokerLogo"; -import ServiceButton from "../components/ServiceButton"; - -export const metadata: Metadata = { - title: 'dvorakmortonxd.dev/softcraft', - description: 'Welcome to the Softcraft Minecraft Server info page!', - openGraph: { - title: 'dvorakmortonxd.dev/softcraft', - description: 'Welcome to the Softcraft Minecraft Server info page!', - url: 'https://dvorakmortonxd.dev/softcraft', - siteName: 'dvorakmortonxd.dev', - }, -}; - -type PanelStyle = CSSProperties & { '--panel-color'?: string }; - -const panelStyle = (color: string, style: CSSProperties = {}): PanelStyle => ({ - ...style, - '--panel-color': color, -}); - -export default function Softcraft() { - return <> - -
-
- - {/* Header - TUI top bar */} -
-
- -

dvorakmortonxd.dev/softcraft

-
-
- - {/* Hero - TUI welcome panel */} -
-
- ~ ABOUT_SOFTCRAFT.MD -

$ ./start_softcraft.sh

-

- Welcome to the Softcraft info page! {'>'}:) -

-
- - {/* Server Info Panel */} -
-
- β”œβ”€ neofetch -
-

- martin@dvorakmortonxd:~/softcraft$ neofetch -

-
- -
- Softcraft Logo -
- -
-
-

martin@softcraft

-

----------------

-

OS: Purpur 1.21.11 or newer on Debian 13 Trixie

-

Host/IP Adress: mc.dvorakmortonxd.dev

-

Uptime: 24/7

-

Rules: Little to no chat control, just enjoy the game bro

-
- -
- - - - - - - - -
-
- -
-
-
-
- - {/* Links Panel */} -
-
- β”œβ”€ LINKS.SH -
- - } - name="Community Discord" - desc="Chat with other players" - /> - -
-
-
- - {/* Vote Panel */} -
-
- β”œβ”€ VOTE_HERE.JS -
- - - - -
-
-
- - {/* Video Panel */} -
-
- └─ BASH 'LS ./VIDEOS/' -
- {[ - "ifBnNS8X3O8", - "fQ3T374cpZk", - "yYrzQkhp8CQ", - "gIl01RaQjcI", - "e3gjtyPNZjg", - "P97CC3BWvg4", - "uPNN6LppOsg", - "NCy-h29lfzM" - ].map(id => ( -
- -
- ))} -
-
-
-
- - -
- -}