generated from Templates/Baseline
Compare commits
13 Commits
v0.3.0
...
f22fe206c1
Author | SHA1 | Date | |
---|---|---|---|
f22fe206c1 | |||
b975997652 | |||
f656a2054f | |||
e912d86ee8 | |||
78c91dceba | |||
46fc34c191 | |||
c55408b4b3 | |||
c6e65b7782 | |||
33f8bc90c0 | |||
8c9c9e5138 | |||
5922aabe3d | |||
a25b231654 | |||
330f852e56 |
@ -6,9 +6,11 @@
|
|||||||
|
|
||||||
> :bulb: Select your test plan for the code changes.
|
> :bulb: Select your test plan for the code changes.
|
||||||
|
|
||||||
- [x] CI pipeline tests
|
| Choice | Test Method |
|
||||||
- [ ] Custom test
|
| :----: | :----------- |
|
||||||
- [ ] No test plan
|
| ✅ | CI pipeline tests |
|
||||||
|
| | Custom test |
|
||||||
|
| | No test plan |
|
||||||
|
|
||||||
##### Details / Justification
|
##### Details / Justification
|
||||||
|
|
||||||
|
1
.vscode/dictionaries/project-words.txt
vendored
1
.vscode/dictionaries/project-words.txt
vendored
@ -22,3 +22,4 @@ srv
|
|||||||
tbd
|
tbd
|
||||||
traefik
|
traefik
|
||||||
tuanpham
|
tuanpham
|
||||||
|
volta
|
||||||
|
16
CHANGELOG.md
16
CHANGELOG.md
@ -65,3 +65,19 @@
|
|||||||
* 🤖 DEPENDENCIES
|
* 🤖 DEPENDENCIES
|
||||||
* Update quay.io/linuxserver.io/code-server Docker tag to v4.11.0 (#45)
|
* Update quay.io/linuxserver.io/code-server Docker tag to v4.11.0 (#45)
|
||||||
* Update quay.io/linuxserver.io/code-server Docker tag to v4.10.0 (#43)
|
* Update quay.io/linuxserver.io/code-server Docker tag to v4.10.0 (#43)
|
||||||
|
|
||||||
|
## [v0.3.1](https://gitea.ocram85.com/CodeServer/arkanum/releases/tag/v0.3.1) - 2023-07-04
|
||||||
|
|
||||||
|
* 🤖 DEPENDENCIES
|
||||||
|
* Update quay.io/linuxserver.io/code-server Docker tag to v4.14.1 (#47)
|
||||||
|
|
||||||
|
## [v0.4.0](https://gitea.ocram85.com/CodeServer/arkanum/releases/tag/v0.4.0) - 2023-07-19
|
||||||
|
|
||||||
|
* 🐛 BUGFIXES
|
||||||
|
* Fix shellcheck issues (#55)
|
||||||
|
* Disable starship python module (#52)
|
||||||
|
* ✨ FEATURES
|
||||||
|
* Add docker-cli (#54)
|
||||||
|
* Adds Volta as default version manager for NodeJs (#53)
|
||||||
|
* 🛠️ ENHANCEMENTS
|
||||||
|
* Bump go version (#49)
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
FROM quay.io/linuxserver.io/code-server:4.11.0
|
FROM quay.io/linuxserver.io/code-server:4.14.1
|
||||||
|
|
||||||
#LABEL build_version=""
|
#LABEL build_version=""
|
||||||
LABEL maintainer="OCram85"
|
LABEL maintainer="OCram85"
|
||||||
|
18
README.md
18
README.md
@ -55,7 +55,7 @@ Therefore you need
|
|||||||
version: "3.8"
|
version: "3.8"
|
||||||
services:
|
services:
|
||||||
arkanum:
|
arkanum:
|
||||||
image: gitea.ocram85.com/codeserver/arkanum:0.2.0
|
image: gitea.ocram85.com/codeserver/arkanum:0.4.0
|
||||||
environment:
|
environment:
|
||||||
- PUID=1000
|
- PUID=1000
|
||||||
- PGID=1000
|
- PGID=1000
|
||||||
@ -77,10 +77,11 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
# store workspace and use config in volume.
|
# store workspace and use config in volume.
|
||||||
- codedata:/config
|
- codedata:/config
|
||||||
|
# mount docker socket to manage host docker
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
# no need to expose the port. traefik acts as reverse proxy and handles the https access.
|
# no need to expose the port. traefik acts as reverse proxy and handles the https access.
|
||||||
#ports:
|
#ports:
|
||||||
# - 8443:8443
|
# - 8443:8443
|
||||||
restart: unless-stopped
|
|
||||||
networks:
|
networks:
|
||||||
- arkanum-sphere
|
- arkanum-sphere
|
||||||
- traefik-public
|
- traefik-public
|
||||||
@ -106,7 +107,7 @@ See their [docs](https://github.com/linuxserver/docker-code-server#parameters) a
|
|||||||
version: "3.8"
|
version: "3.8"
|
||||||
services:
|
services:
|
||||||
arkanum:
|
arkanum:
|
||||||
image: gitea.ocram85.com/codeserver/arkanum:0.2.0
|
image: gitea.ocram85.com/codeserver/arkanum:0.4.0
|
||||||
container_name: code-server
|
container_name: code-server
|
||||||
environment:
|
environment:
|
||||||
- PUID=1000
|
- PUID=1000
|
||||||
@ -173,11 +174,13 @@ This helps reducing the image size.
|
|||||||
code-server container environment.
|
code-server container environment.
|
||||||
|
|
||||||
Syntax: arkanum RUNTIME ...
|
Syntax: arkanum RUNTIME ...
|
||||||
RUNTIME [dotnet|golang|nodejs|powershell]
|
RUNTIME [docker-cli|dotnet|gitea|golang|nodejs|volta|powershell]
|
||||||
|
docker-cli Installs the latest docker-ce cli.
|
||||||
dotnet Installs latest LTS dotnet core sdk + runtime.
|
dotnet Installs latest LTS dotnet core sdk + runtime.
|
||||||
gitea Installs gitea tools like the changelog generator.
|
gitea Installs gitea tools like the changelog generator.
|
||||||
golang Installs golang 1.19.3.
|
golang Installs golang 1.19.3.
|
||||||
nodejs Installs latest NodeJs LTS version.
|
nodejs Installs latest NodeJs LTS version using Volta.
|
||||||
|
volta Installs Volta as NodeJs version manager.
|
||||||
powershell Installs latest PowerShell LTS version.
|
powershell Installs latest PowerShell LTS version.
|
||||||
--disable-motd Disables hint in new bash terminal.
|
--disable-motd Disables hint in new bash terminal.
|
||||||
--install-extensions Installs predefined recommended extensions.
|
--install-extensions Installs predefined recommended extensions.
|
||||||
@ -218,6 +221,11 @@ Additionally we install these extensions on container startup:
|
|||||||
|
|
||||||
## 💣 Known Issues
|
## 💣 Known Issues
|
||||||
|
|
||||||
|
### Starship.rs
|
||||||
|
|
||||||
|
Starship detects workspaces as active python projects. It always appends the prompt
|
||||||
|
fragment `via 🐍 (lsiopy)`. For now I disabled the python module in starship.
|
||||||
|
|
||||||
### 🐛 Default extensions installation timing error
|
### 🐛 Default extensions installation timing error
|
||||||
|
|
||||||
If the automatic installation of the default extension fails, you can always retry he installation with the
|
If the automatic installation of the default extension fails, you can always retry he installation with the
|
||||||
|
73
arkanum
73
arkanum
@ -8,11 +8,13 @@ function showHelp() {
|
|||||||
code-server container environment.
|
code-server container environment.
|
||||||
|
|
||||||
Syntax: arkanum RUNTIME ...
|
Syntax: arkanum RUNTIME ...
|
||||||
RUNTIME [dotnet|golang|nodejs|powershell]
|
RUNTIME [docker-cli|dotnet|gitea|golang|nodejs|volta|powershell]
|
||||||
|
docker-cli Installs the latest docker-cli.
|
||||||
dotnet Installs latest LTS dotnet core sdk + runtime.
|
dotnet Installs latest LTS dotnet core sdk + runtime.
|
||||||
gitea Installs gitea tools like the changelog generator.
|
gitea Installs gitea tools like the changelog generator.
|
||||||
golang Installs golang 1.19.3.
|
golang Installs golang 1.19.3.
|
||||||
nodejs Installs latest NodeJs LTS version.
|
nodejs Installs latest NodeJs LTS version using Volta.
|
||||||
|
volta Installs Volta as NodeJS version manager.
|
||||||
powershell Installs latest PowerShell LTS version.
|
powershell Installs latest PowerShell LTS version.
|
||||||
--disable-motd Disables hint in new bash terminal.
|
--disable-motd Disables hint in new bash terminal.
|
||||||
--install-extensions Installs predefined recommended extensions.
|
--install-extensions Installs predefined recommended extensions.
|
||||||
@ -48,6 +50,35 @@ function sayE() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function sayW() {
|
||||||
|
if [[ -n "$2" ]]; then
|
||||||
|
echo -e "🧙 \e[33markanum\e[0m \e[34m[⚒️ $2]\e[0m: $1" 1>&2
|
||||||
|
else
|
||||||
|
echo -e "🧙 \e[33markanum\e[0m: $1" 1>&2
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
function instDockerCLI() {
|
||||||
|
say "Installing docker-cli..." "docker-cli"
|
||||||
|
say "Getting requires packages..." "docker-cli"
|
||||||
|
sudo -E apt-get update > /dev/null
|
||||||
|
sudo -E apt-get install ca-certificates curl gnupg
|
||||||
|
say "Setting up docker repository..." "docker-cli"
|
||||||
|
sudo -E install -m 0755 -d /etc/apt/keyrings
|
||||||
|
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo -E gpg --dearmor -o /etc/apt/keyrings/docker.gpg
|
||||||
|
sudo -E chmod a+r /etc/apt/keyrings/docker.gpg
|
||||||
|
# shellcheck disable=SC2046,SC2027
|
||||||
|
echo \
|
||||||
|
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
|
||||||
|
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
|
||||||
|
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
|
||||||
|
say "Installing docker-ce-cli package" "docker-cli"
|
||||||
|
sudo -E apt-get update > /dev/null
|
||||||
|
sudo -E apt-get install --no-install-recommends -y \
|
||||||
|
docker-ce-cli
|
||||||
|
say "docker-cli done." "docker-cli"
|
||||||
|
}
|
||||||
|
|
||||||
function instDotNet() {
|
function instDotNet() {
|
||||||
say "Installing dotnet requirements..." "dotnet"
|
say "Installing dotnet requirements..." "dotnet"
|
||||||
sudo -E apt-get update > /dev/null
|
sudo -E apt-get update > /dev/null
|
||||||
@ -60,6 +91,7 @@ function instDotNet() {
|
|||||||
|
|
||||||
say "Installing latest .NET Core LTS release..." "dotnet"
|
say "Installing latest .NET Core LTS release..." "dotnet"
|
||||||
/tmp/dotnet-install.sh --channel LTS
|
/tmp/dotnet-install.sh --channel LTS
|
||||||
|
# shellcheck disable=SC2016
|
||||||
echo 'export PATH=$PATH:/config/.dotnet' | sudo tee -a /etc/bash.bashrc > /dev/null
|
echo 'export PATH=$PATH:/config/.dotnet' | sudo tee -a /etc/bash.bashrc > /dev/null
|
||||||
|
|
||||||
say "Cleaning up..." "dotnet"
|
say "Cleaning up..." "dotnet"
|
||||||
@ -73,7 +105,7 @@ function instDotNet() {
|
|||||||
|
|
||||||
function instGoLang() {
|
function instGoLang() {
|
||||||
if [[ -z "$1" ]]; then
|
if [[ -z "$1" ]]; then
|
||||||
GOVERSION="1.19.3"
|
GOVERSION="1.20.6"
|
||||||
else
|
else
|
||||||
GOVERSION="$1"
|
GOVERSION="$1"
|
||||||
fi
|
fi
|
||||||
@ -83,6 +115,7 @@ function instGoLang() {
|
|||||||
say "Installing golang ($GOVERSION)...." "GoLang"
|
say "Installing golang ($GOVERSION)...." "GoLang"
|
||||||
sudo rm -rf /usr/local/go
|
sudo rm -rf /usr/local/go
|
||||||
sudo tar -C /usr/local -xzf /tmp/golang.tar.gz
|
sudo tar -C /usr/local -xzf /tmp/golang.tar.gz
|
||||||
|
# shellcheck disable=SC2016
|
||||||
echo 'export PATH=$PATH:/usr/local/go/bin' | sudo tee -a /etc/bash.bashrc > /dev/null
|
echo 'export PATH=$PATH:/usr/local/go/bin' | sudo tee -a /etc/bash.bashrc > /dev/null
|
||||||
say "Cleaning up..." "GoLang"
|
say "Cleaning up..." "GoLang"
|
||||||
rm -f /tmp/golang.tar.gz
|
rm -f /tmp/golang.tar.gz
|
||||||
@ -107,6 +140,18 @@ function instNodeJs() {
|
|||||||
say "done." "NodeJs"
|
say "done." "NodeJs"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function instNodeJS2() {
|
||||||
|
say "Installing NodeJS LTS via Volta..." "NodeJS"
|
||||||
|
volta install node@lts
|
||||||
|
say "done." "NodeJS"
|
||||||
|
}
|
||||||
|
|
||||||
|
function instVolta() {
|
||||||
|
say "Installing Volta as NodeJS version manager..." "Volta"
|
||||||
|
curl -#fSl https://get.volta.sh | bash
|
||||||
|
say "done." "Volta"
|
||||||
|
}
|
||||||
|
|
||||||
function instPwsh() {
|
function instPwsh() {
|
||||||
say "Installing PowerShell requirements..." "PowerShell"
|
say "Installing PowerShell requirements..." "PowerShell"
|
||||||
sudo -E apt-get install --no-install-recommends -y \
|
sudo -E apt-get install --no-install-recommends -y \
|
||||||
@ -150,7 +195,7 @@ function instCodeExtension() {
|
|||||||
say "Downloading required extensions...." "Extension"
|
say "Downloading required extensions...." "Extension"
|
||||||
# Gitlens
|
# Gitlens
|
||||||
say "Downloading 'gitlens'..." "Extension"
|
say "Downloading 'gitlens'..." "Extension"
|
||||||
curl -#fSL https://open-vsx.org/api/eamodio/gitlens/13.1.1/file/eamodio.gitlens-13.1.1.vsix -o /tmp/eamodio.gitlens-13.1.1.vsix
|
curl -#fSL https://open-vsx.org/api/eamodio/gitlens/14.0.1/file/eamodio.gitlens-14.0.1.vsix -o /tmp/eamodio.gitlens-13.1.1.vsix
|
||||||
say "Installing 'gitlens'..." "Extension"
|
say "Installing 'gitlens'..." "Extension"
|
||||||
install-extension /tmp/eamodio.gitlens-13.1.1.vsix
|
install-extension /tmp/eamodio.gitlens-13.1.1.vsix
|
||||||
say "Cleaning up 'gitlens' install files" "Extension"
|
say "Cleaning up 'gitlens' install files" "Extension"
|
||||||
@ -158,7 +203,7 @@ function instCodeExtension() {
|
|||||||
|
|
||||||
# OneDarkPro
|
# OneDarkPro
|
||||||
say "Downloading 'One Dark Pro' theme..." "Extension"
|
say "Downloading 'One Dark Pro' theme..." "Extension"
|
||||||
curl -#fSL https://open-vsx.org/api/zhuangtongfa/material-theme/3.15.6/file/zhuangtongfa.material-theme-3.15.6.vsix -o /tmp/zhuangtongfa.material-theme-3.15.6.vsix
|
curl -#fSL https://open-vsx.org/api/zhuangtongfa/material-theme/3.15.18/file/zhuangtongfa.material-theme-3.15.18.vsix -o /tmp/zhuangtongfa.material-theme-3.15.6.vsix
|
||||||
say "Installing 'One Dark Pro' theme..." "Extension"
|
say "Installing 'One Dark Pro' theme..." "Extension"
|
||||||
install-extension /tmp/zhuangtongfa.material-theme-3.15.6.vsix
|
install-extension /tmp/zhuangtongfa.material-theme-3.15.6.vsix
|
||||||
say "Cleaning up 'One Dark Pro' install files" "Extension"
|
say "Cleaning up 'One Dark Pro' install files" "Extension"
|
||||||
@ -166,7 +211,7 @@ function instCodeExtension() {
|
|||||||
|
|
||||||
# vscode-icons
|
# vscode-icons
|
||||||
say "Downloading 'vscode-icons' theme..." "Extension"
|
say "Downloading 'vscode-icons' theme..." "Extension"
|
||||||
curl -#fSL https://open-vsx.org/api/vscode-icons-team/vscode-icons/12.0.1/file/vscode-icons-team.vscode-icons-12.0.1.vsix -o /tmp/vscode-icons-team.vscode-icons-12.0.1.vsix
|
curl -#fSL https://open-vsx.org/api/vscode-icons-team/vscode-icons/12.4.0/file/vscode-icons-team.vscode-icons-12.4.0.vsix -o /tmp/vscode-icons-team.vscode-icons-12.0.1.vsix
|
||||||
say "Installing 'vscode-icons' theme..." "Extension"
|
say "Installing 'vscode-icons' theme..." "Extension"
|
||||||
install-extension /tmp/vscode-icons-team.vscode-icons-12.0.1.vsix
|
install-extension /tmp/vscode-icons-team.vscode-icons-12.0.1.vsix
|
||||||
say "Cleaning up 'vscode-icons' install files" "Extension"
|
say "Cleaning up 'vscode-icons' install files" "Extension"
|
||||||
@ -202,16 +247,26 @@ function main() {
|
|||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
for i in $@; do
|
for i in "$@"; do
|
||||||
if [[ "$1" == "-h" ]]; then
|
if [[ "$1" == "-h" ]]; then
|
||||||
showHelp
|
showHelp
|
||||||
exit 0
|
exit 0
|
||||||
|
elif [[ "$i" == "docker-cli" ]]; then
|
||||||
|
instDockerCLI
|
||||||
elif [[ "$i" == "dotnet" ]]; then
|
elif [[ "$i" == "dotnet" ]]; then
|
||||||
instDotNet
|
instDotNet
|
||||||
elif [[ "$i" == "golang" ]]; then
|
elif [[ "$i" == "golang" ]]; then
|
||||||
instGoLang
|
instGoLang "$2"
|
||||||
elif [[ "$i" == "nodejs" ]]; then
|
elif [[ "$i" == "nodejs" ]]; then
|
||||||
|
if [[ "$2" == "--legacy" ]]; then
|
||||||
|
sayW "Installing NodeJS with legacy function" "Arkanum"
|
||||||
instNodeJs
|
instNodeJs
|
||||||
|
else
|
||||||
|
instVolta
|
||||||
|
instNodeJS2
|
||||||
|
fi
|
||||||
|
elif [[ "$i" == "volta" ]]; then
|
||||||
|
instVolta
|
||||||
elif [[ "$i" == "powershell" ]]; then
|
elif [[ "$i" == "powershell" ]]; then
|
||||||
instPwsh
|
instPwsh
|
||||||
elif [[ "$i" == "gitea" ]]; then
|
elif [[ "$i" == "gitea" ]]; then
|
||||||
@ -233,4 +288,4 @@ function main() {
|
|||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
main $@
|
main "$@"
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
complete -W "--disable-motd --install-extensions --reset-codesetting dotnet gitea golang nodejs powershell -h" arkanum
|
complete -W "--disable-motd --install-extensions --reset-codesetting docker-cli dotnet gitea golang nodejs volta powershell -h" arkanum
|
||||||
|
@ -59,6 +59,9 @@ symbol = " "
|
|||||||
[package]
|
[package]
|
||||||
symbol = " "
|
symbol = " "
|
||||||
|
|
||||||
|
[python]
|
||||||
|
disabled = true
|
||||||
|
|
||||||
[rust]
|
[rust]
|
||||||
symbol = " "
|
symbol = " "
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user