{"id":50926023,"url":"https://github.com/junkerderprovinz/krusader","last_synced_at":"2026-06-16T23:02:58.626Z","repository":{"id":356690894,"uuid":"1233380915","full_name":"junkerderprovinz/krusader","owner":"junkerderprovinz","description":"Krusader twin-panel file manager for Unraid — fast KasmVNC web desktop with native Dark Mode, Kate, krename and RAR support.","archived":false,"fork":false,"pushed_at":"2026-06-11T10:33:19.000Z","size":1699,"stargazers_count":3,"open_issues_count":2,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-11T12:15:18.876Z","etag":null,"topics":["community-applications","docker","file-manager","ghcr","kasmvnc","kde","krusader","self-hosted","unraid"],"latest_commit_sha":null,"homepage":"https://github.com/junkerderprovinz/krusader","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/junkerderprovinz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":"NOTICE","maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":"junkerderprovinz","thanks_dev":null,"custom":null}},"created_at":"2026-05-08T22:38:22.000Z","updated_at":"2026-06-11T10:33:24.000Z","dependencies_parsed_at":"2026-06-03T02:03:48.326Z","dependency_job_id":null,"html_url":"https://github.com/junkerderprovinz/krusader","commit_stats":null,"previous_names":["junkerderprovinz/krusader"],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/junkerderprovinz/krusader","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/junkerderprovinz%2Fkrusader","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/junkerderprovinz%2Fkrusader/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/junkerderprovinz%2Fkrusader/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/junkerderprovinz%2Fkrusader/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/junkerderprovinz","download_url":"https://codeload.github.com/junkerderprovinz/krusader/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/junkerderprovinz%2Fkrusader/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34426745,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-16T02:00:06.860Z","response_time":126,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["community-applications","docker","file-manager","ghcr","kasmvnc","kde","krusader","self-hosted","unraid"],"created_at":"2026-06-16T23:02:57.451Z","updated_at":"2026-06-16T23:02:58.611Z","avatar_url":"https://github.com/junkerderprovinz.png","language":"Dockerfile","funding_links":["https://buymeacoffee.com/junkerderprovinz"],"categories":[],"sub_categories":[],"readme":"\u003ca href=\"https://krusader.org\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/junkerderprovinz/krusader/main/.github/assets/krusader-banner.png\" alt=\"Krusader\" width=\"100%\"\u003e\n\u003c/a\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/junkerderprovinz/krusader/actions/workflows/build.yml\"\u003e\u003cimg src=\"https://img.shields.io/github/actions/workflow/status/junkerderprovinz/krusader/build.yml?branch=main\u0026label=Build\u0026style=for-the-badge\u0026logo=githubactions\u0026logoColor=white\" alt=\"Build\" height=\"36\"\u003e\u003c/a\u003e\u0026nbsp;\n  \u003ca href=\"https://github.com/junkerderprovinz/krusader/actions/workflows/lint.yml\"\u003e\u003cimg src=\"https://img.shields.io/github/actions/workflow/status/junkerderprovinz/krusader/lint.yml?branch=main\u0026label=Lint\u0026style=for-the-badge\u0026logo=githubactions\u0026logoColor=white\" alt=\"Lint\" height=\"36\"\u003e\u003c/a\u003e\u0026nbsp;\n  \u003ca href=\"https://hub.docker.com/r/junkerderprovinz/krusader\"\u003e\u003cimg src=\"https://img.shields.io/docker/pulls/junkerderprovinz/krusader?style=for-the-badge\u0026logo=docker\u0026logoColor=white\u0026label=Pulls\u0026color=1d99f3\" alt=\"Docker Pulls\" height=\"36\"\u003e\u003c/a\u003e\u0026nbsp;\n  \u003ca href=\"https://hub.docker.com/r/junkerderprovinz/krusader\"\u003e\u003cimg src=\"https://img.shields.io/docker/image-size/junkerderprovinz/krusader/latest?style=for-the-badge\u0026logo=docker\u0026logoColor=white\u0026label=Size\u0026color=1d99f3\" alt=\"Image Size\" height=\"36\"\u003e\u003c/a\u003e\u0026nbsp;\n  \u003ca href=\"https://github.com/junkerderprovinz/krusader/pkgs/container/krusader\"\u003e\u003cimg src=\"https://img.shields.io/badge/Arch-amd64%20%7C%20arm64-success?style=for-the-badge\u0026logo=linux\u0026logoColor=white\" alt=\"Arch\" height=\"36\"\u003e\u003c/a\u003e\u0026nbsp;\n  \u003ca href=\"https://github.com/kasmtech/KasmVNC\"\u003e\u003cimg src=\"https://img.shields.io/badge/Web-KasmVNC-3daee9?style=for-the-badge\u0026logo=kde\u0026logoColor=white\" alt=\"KasmVNC\" height=\"36\"\u003e\u003c/a\u003e\u0026nbsp;\n  \u003ca href=\"#5-languages\"\u003e\u003cimg src=\"https://img.shields.io/badge/Languages-25-3daee9?style=for-the-badge\u0026logo=googletranslate\u0026logoColor=white\" alt=\"Languages\" height=\"36\"\u003e\u003c/a\u003e\u0026nbsp;\n  \u003ca href=\"https://unraid.net\"\u003e\u003cimg src=\"https://img.shields.io/badge/Unraid-Template-f15a2c?style=for-the-badge\u0026logo=unraid\u0026logoColor=white\" alt=\"Unraid\" height=\"36\"\u003e\u003c/a\u003e\u0026nbsp;\n  \u003ca href=\"LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/badge/License-MIT-yellow?style=for-the-badge\u0026logo=opensourceinitiative\u0026logoColor=white\" alt=\"License\" height=\"36\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cbr\u003e\n\n\u003cp align=\"center\"\u003e\nA modern, plug-and-play Docker image for \u003cb\u003eKrusader\u003c/b\u003e on Unraid. Twin-pane file\nmanagement in your browser, powered by KasmVNC, with Dark Mode, Kate as\nexternal editor, full archive support and 25 UI languages — all configurable\nfrom the Unraid template, no SSH or config-file editing required.\n\u003c/p\u003e\n\n\u003cbr\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://buymeacoffee.com/junkerderprovinz\"\u003e\n    \u003cimg src=\".github/assets/button-buy-me-a-coffee.svg\" alt=\"Buy me a coffee\" width=\"220\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cbr\u003e\n\n## Table of Contents\n\n1. [Overview](#1-overview)\n2. [Screenshots](#2-screenshots)\n3. [Quick Start](#3-quick-start)\n4. [Configuration](#4-configuration)\n5. [Languages](#5-languages)\n6. [Right-Click Actions](#6-right-click-actions)\n7. [Customisation \u0026 Persistence](#7-customisation--persistence)\n8. [Building Locally](#8-building-locally)\n9. [Updating](#9-updating)\n10. [Troubleshooting](#10-troubleshooting)\n11. [Architecture](#11-architecture)\n12. [Contributing / License](#12-contributing--license)\n13. [Support this project](#13-support-this-project)\n\u003cbr\u003e\n\n## 1. Overview\n\nThis image packages [Krusader](https://krusader.org) — KDE's twin-pane file manager — into a self-contained Docker container that runs in any modern web browser. It is built on top of [`linuxserver/baseimage-kasmvnc`](https://github.com/linuxserver/docker-baseimage-kasmvnc), so it benefits from LSIO's hardware-accelerated KasmVNC stack and weekly security updates, while everything Krusader-specific (theme, archive tools, right-click actions, language packs, default configs) is layered on top in this repo.\n\nWhat's included beyond bare Krusader:\n\n- **KasmVNC** instead of noVNC — hardware-accelerated rendering, real browser clipboard, native file upload and download, high-DPI ready\n- **Dark Mode** pre-applied to Krusader, Kate and the whole KDE stack; switch to light with one variable\n- **Kate** wired up as Krusader's external editor, also Dark Mode, with spell-check\n- **krename** — KDE's batch-rename dialog bundled; rename hundreds of files at once using regex, counters, case transforms and metadata patterns\n- **Full archive support** — RAR, 7z, ZIP, TAR, GZ, BZ2, XZ, LHA, ARJ, ACE, RPM, CPIO; right-click \"Extract RAR here\" works out of the box\n- **25 UI languages** picked from a dropdown in the Unraid template\n- **Update-safe configs** — first-run-only seeding, your customisations in `/config` survive every `docker pull`\n- **Multi-arch** — amd64 and arm64\n\n| | **This image** | binhex | jlesage | ich777 |\n|---|:---:|:---:|:---:|:---:|\n| Web stack | **KasmVNC** | noVNC | noVNC | noVNC |\n| HW-accelerated rendering | ✅ | ❌ | ❌ | ❌ |\n| Browser clipboard | ✅ | ⚠️ | ⚠️ | ⚠️ |\n| File upload via WebUI | ✅ | ❌ | ❌ | ❌ |\n| Dark Mode default | ✅ | ❌ | ❌ | ❌ |\n| Kate as editor | ✅ | ❌ | ❌ | ❌ |\n| Batch rename (krename) | ✅ | ❌ | ❌ | ❌ |\n| RAR right-click | ✅ | ❌ | ❌ | ❌ |\n| Language dropdown | ✅ (25) | ❌ | ❌ | ❌ |\n| Multi-arch | ✅ amd64 + arm64 | amd64 | ✅ | amd64 |\n| Base | LinuxServer | binhex/Arch | jlesage/Alpine | ich777/Debian |\n\n\u003cbr\u003e\n\n## 2. Screenshots\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\".github/assets/screenshots/krusader-2.png\" alt=\"Krusader twin-pane main view with Dark Mode theme\" width=\"90%\"\u003e\n  \u003cbr\u003e\u003cem\u003eTwin-pane file manager — Dark Mode, F-key shortcuts, in-browser via KasmVNC.\u003c/em\u003e\n\u003c/p\u003e\n\n\u003cbr\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\".github/assets/screenshots/krusader-3.png\" alt=\"Krusader configurator — Colors\" width=\"90%\"\u003e\n  \u003cbr\u003e\u003cem\u003eConfigurator → Colors: full control over panel foreground / background / selection.\u003c/em\u003e\n\u003c/p\u003e\n\n\u003cbr\u003e\n\n## 3. Quick Start\n\n### Step 1 — Install the template\n\nOn Unraid: **Apps** → search for **Krusader** → click **Install**. The Community Applications\ntemplate is published from the\n[`unraid-docker-templates`](https://github.com/junkerderprovinz/unraid-docker-templates) feed\n(one feed for all of junkerderprovinz's apps).\n\nTo load it by hand, pull it into Unraid's user-template folder via the console / SSH:\n\n```bash\nmkdir -p /boot/config/plugins/dockerMan/templates-user \u0026\u0026 \\\ncurl -fsSL -o /boot/config/plugins/dockerMan/templates-user/my-Krusader.xml \\\n  https://raw.githubusercontent.com/junkerderprovinz/unraid-docker-templates/main/krusader/krusader.xml\n```\n\n### Step 2 — Add the container\n\nIn the Unraid Web UI: **Docker** tab → **Add Container** → in the **Template** dropdown, pick **Krusader** under *User templates*. All fields are pre-filled.\n\n### Step 3 — Adjust paths and start\n\nThe defaults work out of the box, but you may want to tweak:\n\n- **Storage (`/storage`)** — defaults to `/mnt`, which exposes all shares and disks. Restrict to e.g. `/mnt/user` if you want.\n- **UI Language** — dropdown, default `de`.\n- **Theme** — `dark` or `light`.\n- **KasmVNC Password** — leave empty for LAN-only, set anything for exposure beyond the LAN.\n\nHit **Apply**. The first start takes 30–60 seconds while the container seeds its config and KasmVNC generates a self-signed certificate.\n\n### Step 4 — Open the WebUI\n\n`https://\u003cunraid-ip\u003e:3001/` (HTTPS, self-signed — accept the certificate once). **Use HTTPS:** browsers only allow seamless clipboard sync over HTTPS, so the template's WebUI button points here. `http://\u003cunraid-ip\u003e:3000/` is an optional fallback without clipboard support.\n\n\u003e Once Community Applications has accepted this image it will also be installable via **Apps** → search `Krusader`.\n\n\u003cdetails\u003e\n\u003csummary\u003ePlain Docker (no Unraid)\u003c/summary\u003e\n\n```bash\ndocker run -d \\\n  --name krusader \\\n  --restart unless-stopped \\\n  --shm-size=1gb \\\n  -p 3000:3000 -p 3001:3001 \\\n  -e PUID=99 -e PGID=100 \\\n  -e TZ=Europe/Vienna \\\n  -e KRUSADER_LANG=de \\\n  -e KRUSADER_THEME=dark \\\n  -v /mnt/user/appdata/krusader:/config \\\n  -v /mnt:/storage \\\n  junkerderprovinz/krusader:latest\n```\n\n**`--shm-size=1gb`** is required for smooth KDE rendering. The Unraid template sets it for you.\n\n\u003c/details\u003e\n\n\u003cbr\u003e\n\n## 4. Configuration\n\n| Variable | Default | Description |\n|---|---|---|\n| `PUID` | `99` | User ID — Unraid's *nobody* |\n| `PGID` | `100` | Group ID — Unraid's *users* |\n| `TZ` | `Etc/UTC` | Timezone, e.g. `Europe/Vienna` |\n| `KRUSADER_LANG` | `de` | UI language — see [Languages](#5-languages) |\n| `KRUSADER_THEME` | `dark` | `dark` (Dark Mode) or `light` (Breeze) |\n| `CUSTOM_USER` | `abc` | KasmVNC HTTP-basic-auth username |\n| `PASSWORD` | *(empty)* | KasmVNC password — **set this if exposed beyond LAN** |\n| `TITLE` | `Krusader` | Browser tab / KasmVNC top-bar title |\n| `UMASK` | `022` | File-creation mask |\n\n| Port | Purpose | | Volume | Purpose |\n|---|---|---|---|---|\n| `3001` | KasmVNC HTTPS *(self-signed)* — **default WebUI, needed for clipboard** | | `/config` | Persistent KDE / Krusader / Kate configs |\n| `3000` | KasmVNC HTTP *(optional fallback)* | | `/storage` | Files to manage — default host `/mnt` |\n\n\u003cbr\u003e\n\n## 5. Languages\n\nThe Unraid template ships a **dropdown** with **25 UI languages** (German default, plus `system` fallback). Each language has its `language-pack-\u003ccode\u003e` and `language-pack-kde-\u003ccode\u003e` baked in — switching is instant after a restart.\n\n| Region | Languages |\n|---|---|\n| **Western Europe** | 🇩🇪 `de` Deutsch · 🇬🇧 `en` English · 🇫🇷 `fr` Français · 🇪🇸 `es` Español · 🇮🇹 `it` Italiano · 🇵🇹 `pt` Português · 🇳🇱 `nl` Nederlands · 🇪🇸 `ca` Català · 🇪🇸 `eu` Euskara · 🇮🇪 `ga` Gaeilge |\n| **Northern Europe** | 🇩🇰 `da` Dansk · 🇸🇪 `sv` Svenska · 🇳🇴 `nb` Norsk Bokmål · 🇫🇮 `fi` Suomi · 🇮🇸 `is` Íslenska |\n| **Central / Eastern Europe** | 🇵🇱 `pl` Polski · 🇨🇿 `cs` Čeština · 🇸🇰 `sk` Slovenčina · 🇭🇺 `hu` Magyar · 🇷🇴 `ro` Română · 🇸🇮 `sl` Slovenščina · 🇭🇷 `hr` Hrvatski · 🇷🇸 `sr` Српски · 🇧🇬 `bg` Български · 🇺🇦 `uk` Українська · 🇷🇺 `ru` Русский · 🇬🇷 `el` Ελληνικά |\n| **Middle East** | 🇹🇷 `tr` Türkçe · 🇮🇱 `he` עברית · 🇸🇦 `ar` العربية |\n| **Asia / CJK** | 🇯🇵 `ja` 日本語 · 🇰🇷 `ko` 한국어 · 🇨🇳 `zh` 中文 |\n| **Fallback** | `system` — use the container's default locale |\n\n*Default: `de` (Deutsch). Set via `KRUSADER_LANG` or the Unraid dropdown.*\n\n\u003e **How it works:** Unraid renders any `\u003cDefault\u003ea|b|c\u003c/Default\u003e` value with at least one `|` as a native `\u003cselect\u003e` dropdown. The cont-init hook re-applies the language on every start.\n\n\u003cbr\u003e\n\n## 6. Right-Click Actions\n\nKrusader's *UserActions* are pre-loaded with extras:\n\n| Action | Command |\n|---|---|\n| **Extract RAR here** | `unrar x -o+` into the current directory |\n| **Extract RAR to subfolder** | Same, but into a folder named after the archive |\n| **Open with Kate** | Opens the selected file(s) in Kate |\n| **Open Konsole here** | New Konsole tab in the current directory |\n\n\u003e For generic archive extraction (7z, ZIP, TAR, …) use Ark's built-in right-click menu — it is already installed and avoids a duplicate \"Extract\" entry in the context menu.\n\nEdit them via *Krusader → Settings → Configure UserActions*, or directly at `/config/.local/share/krusader/useractions.xml`.\n\n\u003cbr\u003e\n\n## 7. Customisation \u0026 Persistence\n\nOn the **first start only**, the container seeds defaults from `/defaults/` into `/config/`:\n\n```\n/config/\n├── .config/\n│   ├── kdeglobals          # KDE color scheme + Dark Mode\n│   ├── krusaderrc          # Editor=kate, theme, panel layout\n│   └── katerc              # Kate Dark Mode\n└── .local/share/krusader/\n    └── useractions.xml     # right-click actions\n```\n\nA marker file `/config/.krusader-firstrun.done` is written so subsequent container starts **never overwrite your customisations**. To re-seed defaults, delete the marker and restart.\n\nThe two env-driven knobs (`KRUSADER_LANG`, `KRUSADER_THEME`) are re-applied on **every** start via a `cont-init.d` hook, so you can flip them freely.\n\nThe base image also supports `/config/custom-cont-init.d/` for your own init scripts — see the [LinuxServer docs](https://docs.linuxserver.io/general/container-customization/).\n\n\u003cbr\u003e\n\n## 8. Building Locally\n\n```bash\ngit clone https://github.com/junkerderprovinz/krusader.git\ncd krusader\n\n# amd64 only (your local arch)\ndocker build -t krusader:dev .\n\n# Multi-arch (amd64 + arm64) – needs buildx\ndocker buildx build --platform linux/amd64,linux/arm64 -t krusader:dev --load .\n\n# Test run\ndocker run --rm -it \\\n  -p 3000:3000 \\\n  -v \"$PWD/.dev-config:/config\" \\\n  -v \"$PWD:/storage\" \\\n  krusader:dev\n```\n\n\u003cbr\u003e\n\n## 9. Updating\n\n```bash\ndocker pull junkerderprovinz/krusader:latest\ndocker stop krusader \u0026\u0026 docker rm krusader\n# re-create with the same template / docker run args\n```\n\nOn Unraid: **Docker** tab → click the container → **Force Update**. Your `/config` is untouched.\n\n\u003e The image is rebuilt **weekly** via GitHub Actions for upstream KasmVNC, Ubuntu and KDE patches.\n\n\u003cbr\u003e\n\n## 10. Troubleshooting\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eWebUI is black / desktop never appears\u003c/b\u003e\u003c/summary\u003e\n\n- Make sure `--shm-size` is at least `512mb` (Unraid template sets `1gb`)\n- Check the container log for KasmVNC startup errors\n- Try opening on `https://\u003cip\u003e:3001/` (self-signed) — sometimes browsers block ws over plain http\n- Wait 30–60 seconds on first start; KDE caches need to be built once\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eWebUI is unreachable\u003c/b\u003e\u003c/summary\u003e\n\n- Check the host port isn't already taken: `netstat -tlnp | grep 3000`\n- Disable the host firewall briefly to rule it out\n- Verify the container is listening: `docker exec krusader ss -tlnp`\n- Confirm the network is `bridge` (or `host`), not a custom `br0` whose IP isn't reachable from your client\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eRight-click \"Extract RAR here\" does nothing\u003c/b\u003e\u003c/summary\u003e\n\n- Open a Konsole inside the container: `which unrar` should print `/usr/bin/unrar`. If empty, file an issue.\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eLanguage change doesn't take effect\u003c/b\u003e\u003c/summary\u003e\n\n- Restart the container — language is applied at start, not live\n- Check the env value matches a code from the [Languages](#5-languages) table\n- The script writes `/etc/profile.d/zz-krusader-lang.sh` and updates `kdeglobals[Translations]`\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eFiles outside /storage not visible\u003c/b\u003e\u003c/summary\u003e\n\n- That's by design. Map another path: `-v /mnt/disks/somepool:/storage/somepool`\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003e\"Permission denied\" on /storage/...\u003c/b\u003e\u003c/summary\u003e\n\n- Check `PUID` / `PGID`. On Unraid, `99:100` (nobody:users) match share permissions.\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eKasmVNC password not accepted\u003c/b\u003e\u003c/summary\u003e\n\n- Open in a private window once — your browser may have cached old credentials.\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eContainer fails to start — \"mkdir /etc/localtime: file exists\"\u003c/b\u003e\u003c/summary\u003e\n\nYou have a `/etc/localtime:/etc/localtime:ro` bind-mount configured (e.g. from an old template version). The LSIO base image manages `/etc/localtime` internally as a symlink; a bind-mount on top causes the conflict.\n\n**Fix:** Remove the `/etc/localtime` path mapping from your container settings and use the `TZ` environment variable instead (e.g. `TZ=Europe/Vienna`). The `TZ` variable is the correct and supported way to set the timezone in LSIO-based containers.\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eBottom status bar reappears after a restart (known limitation)\u003c/b\u003e\u003c/summary\u003e\n\nKrusader **2.8.1 does not persist the bottom (KDE) status bar's visibility**. Even with `[Startup] Show statusbar=false` in `krusaderrc` the bar is shown again on the next start, and Krusader only saves such UI state on a *clean* exit — which a hard `docker stop` never performs. The container can't force-hide it either: the only reliable mechanism (a Qt application stylesheet) also disables Krusader's **custom status-bar colours**, which are deliberately kept user-configurable.\n\n**Workaround:** hide it per session via **View → Show Statusbar**. The per-panel (upper) status bar with the free-space / device info is unaffected and stays fully configurable.\n\u003c/details\u003e\n\n\u003cbr\u003e\n\n## 11. Architecture\n\n```\n┌─────────────────────────────────────────────────────────────────┐\n│  ghcr.io/linuxserver/baseimage-kasmvnc:ubuntunoble              │\n│  ┌───────────────────────────────────────────────────────────┐  │\n│  │  s6-overlay v3 init                                       │  │\n│  │   ↓                                                       │  │\n│  │  s6-rc.d/init-krusader/run                                │  │\n│  │   ↓ seeds /config from /defaults  (first run only)        │  │\n│  │   ↓ sets theme, locale → s6 container environment         │  │\n│  │   ↓                                                       │  │\n│  │  KasmVNC ← /defaults/autostart                            │  │\n│  │              → dbus-launch krusader-session               │  │\n│  │                 → ksmserver (KDE session manager)         │  │\n│  │                 → krusader                                │  │\n│  └───────────────────────────────────────────────────────────┘  │\n└─────────────────────────────────────────────────────────────────┘\n```\n\n\u003cbr\u003e\n\n## 12. Contributing / License\n\nPull requests welcome. Issues: \u003chttps://github.com/junkerderprovinz/krusader/issues\u003e.\n\n**Licensing — dual:**\n\n- This **wrapper repository** (Dockerfile, `rootfs/`, scripts, Unraid templates, README and banner/icon artwork) is licensed under the [MIT License](LICENSE).\n- **Krusader itself** and the bundled KDE / Qt / KasmVNC / unrar / LSIO base-image components retain their upstream licenses (mostly GPL-2.0+ / GPL-3.0+ / LGPL-2.1+, plus unrar's non-free terms). When you run, redistribute or rebuild the resulting container image, you must comply with **all** of those licenses, not only with this wrapper's MIT license. See the `LICENSE` file for the full notice.\n\n```bash\n# Run lints locally (CI runs them too)\ndocker run --rm -i hadolint/hadolint \u003c Dockerfile\ndocker run --rm -v \"$PWD:/mnt\" koalaman/shellcheck:stable rootfs/etc/cont-init.d/* rootfs/usr/local/bin/*\nxmllint --noout unraid-template.xml ca_profile.xml\n```\n\n### Credits\n\n- [**Krusader**](https://krusader.org) — KDE community, the actual file manager\n- [**LinuxServer.io**](https://www.linuxserver.io) — for the excellent [`baseimage-kasmvnc`](https://github.com/linuxserver/docker-baseimage-kasmvnc)\n- [**KasmVNC**](https://github.com/kasmtech/KasmVNC) — for finally fixing remote-desktop-in-a-browser\n- [**Kate**](https://kate-editor.org) — best lightweight editor on Linux\n- Inspiration: binhex, jlesage and ich777 Krusader containers — they paved the way\n\n\u003cbr\u003e\n\n## 13. Support this project\n\nIf this template saves you a setup hassle or a debug night, consider buying me a coffee:\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://buymeacoffee.com/junkerderprovinz\"\u003e\n    \u003cimg src=\".github/assets/button-buy-me-a-coffee.svg\" alt=\"Buy me a coffee\" width=\"220\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjunkerderprovinz%2Fkrusader","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjunkerderprovinz%2Fkrusader","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjunkerderprovinz%2Fkrusader/lists"}