Compare commits

...

14 Commits

Author SHA1 Message Date
Kroese
472a940a23
Update define.sh 2024-05-18 15:02:15 +02:00
Kroese
0389e4bb7c
Update define.sh 2024-05-18 14:46:50 +02:00
Kroese
5cad811be5
Update define.sh 2024-05-18 14:33:27 +02:00
Kroese
fab966da90
Update install.sh 2024-05-18 14:29:31 +02:00
Kroese
2bef094216
Update install.sh 2024-05-18 14:14:50 +02:00
Kroese
625ace1f59
Update define.sh 2024-05-18 13:55:56 +02:00
Kroese
957ecdf3c5
Update install.sh 2024-05-18 13:34:20 +02:00
Kroese
280384ded3
Update install.sh 2024-05-18 13:33:19 +02:00
Kroese
0d67fa3034
Update readme.md 2024-05-18 13:17:48 +02:00
Kroese
660f45a96f
docs: Password 2024-05-18 13:12:24 +02:00
Kroese
cfc11651a2
Update define.sh 2024-05-18 12:57:07 +02:00
Kroese
ed6aeb192f
docs: Multi-language 2024-05-18 12:54:58 +02:00
Kroese
140da52977
feat: Multi-language support 2024-05-18 12:26:02 +02:00
Kroese
7eca98c1e9
Update define.sh 2024-05-18 09:35:01 +02:00
3 changed files with 931 additions and 238 deletions

View File

@ -15,6 +15,7 @@ Windows in a Docker container.
## Features
- Multi-language
- ISO downloader
- KVM acceleration
- Web-based viewer
@ -107,6 +108,19 @@ kubectl apply -f kubernetes.yml
To install ARM64 versions of Windows use [dockur/windows-arm](https://github.com/dockur/windows-arm/).
* ### How do I select the Windows language?
By default, the English version of Windows will be downloaded. But you can add the `LANGUAGE` environment variable to your compose file, in order to specify an alternative language:
```yaml
environment:
LANGUAGE: "Chinese"
```
You can choose between `Arabic`, `Bulgarian`, `Chinese`, `Croatian`, `Czech`, `Danish`, `Dutch`, `Estonian`, `Finnish`, `French`, `German`, `Greek`, `Hebrew`, `Hungarian`, `Italian`, `Japanese`, `Korean`, `Latvian`, `Lithuanian`, `Norwegian`, `Polish`, `Portuguese`, `Romanian`, `Russian`, `Serbian`, `Slovak`, `Slovenian`, `Spanish`, `Swedish`, `Turkish`, `Thai` and `Ukrainian`.
If you want to use a keyboard layout or region/locale that is not the default for the selected language, you can add the `KEYBOARD` and `REGION` variables with a culture code, like `en-US`.
* ### How do I change the storage location?
To change the storage location, include the following bind mount in your compose file:
@ -242,11 +256,21 @@ kubectl apply -f kubernetes.yml
CPU_CORES: "4"
```
* ### How do I configure the username and password?
By default, a user called `Docker` is created during installation with an empty password. You can change these credentials in your compose file:
```yaml
environment:
USERNAME: "john"
PASSWORD: "secret"
```
* ### How do I connect using RDP?
The web-viewer is mainly meant to be used during installation, as its picture quality is low, and it has no audio or clipboard for example.
So for a better experience you can connect using any Microsoft Remote Desktop client to the IP of the container, using the username `docker` and by leaving the password empty.
So for a better experience you can connect using any Microsoft Remote Desktop client to the IP of the container, using the username `Docker` and by leaving the password empty.
There is a good RDP client for [Android](https://play.google.com/store/apps/details?id=com.microsoft.rdc.androidx) available from the Play Store and one for [iOS](https://apps.apple.com/nl/app/microsoft-remote-desktop/id714464092?l=en-GB) in the Apple Store. For Linux you can use [FreeRDP](https://www.freerdp.com/) and on Windows just type `mstsc` in the search box.

File diff suppressed because it is too large Load Diff

View File

@ -76,10 +76,11 @@ startInstall() {
else
local language
language=$(getLanguage "$LANGUAGE" "")
language=$(getLanguage "$LANGUAGE" "culture")
language="${language%%-*}"
if [ -n "$language" ] && [[ "$language" != "en" ]]; then
file="${VERSION/\//}.${language,,}.iso"
if [ -n "$language" ] && [[ "${language,,}" != "en" ]]; then
file="${VERSION/\//}_${language,,}.iso"
fi
fi
@ -449,6 +450,33 @@ detectVersion() {
return 0
}
detectLanguage() {
local xml="$1"
local lang=""
if [[ "$xml" == *"LANGUAGE><DEFAULT>"* ]]; then
lang="${xml#*LANGUAGE><DEFAULT>}"
lang="${lang%%<*}"
else
if [[ "$xml" == *"FALLBACK><DEFAULT>"* ]]; then
lang="${xml#*FALLBACK><DEFAULT>}"
lang="${lang%%<*}"
fi
fi
if [ -z "$lang" ]; then
warn "Language could not be detected from ISO!" && return 0
fi
local culture
culture=$(getLanguage "$lang" "culture")
[ -n "$culture" ] && LANGUAGE="$lang" && return 0
warn "Invalid language detected: \"$lang\""
return 0
}
setXML() {
local file="/custom.xml"
@ -466,7 +494,7 @@ detectImage() {
local dir="$1"
local version="$2"
local desc msg
local desc msg language
XML=""
@ -529,6 +557,12 @@ detectImage() {
fi
desc=$(printEdition "$DETECTED" "$DETECTED")
detectLanguage "$info"
if [[ "${LANGUAGE,,}" != "en" ]] && [[ "${LANGUAGE,,}" != "en-"* ]]; then
language=$(getLanguage "$LANGUAGE" "desc")
desc="$desc ($language)"
fi
info "Detected: $desc"
setXML "" && return 0