diff --git a/README.md b/README.md index 42a1947..f2cf282 100644 --- a/README.md +++ b/README.md @@ -17,18 +17,86 @@

-Code-Server container optimized for daily use. ❤ +Code-Server container optimized for daily use.

- + Master Branch Build Status

-## :book: General +## 🤖 Quickstart -The container is based on the latest `linuxserver/code-server` image. +### ⚡ Get the image + +You can download the image from the gitea embedded container registry: `gitea.ocram85.com/codeserver/arkanum` with these tags: + +- `latest` - Is based on the lasted master banch commit. +- `next` - Is a test build based on the pull request +- `1`, `0.1`, `0.1.0` - tag based version. See [packages page](https://gitea.ocram85.com/CodeServer/-/packages/container/arkanum/latest) for available tags. + +### Docker Swarm Stack + +This example shows how to run arkanum as additional swarm stack. + +This examples requires + +- an already running docker swarm cluster +- a running traefik instance handling the http and https routes +- also configured to watch for services in the `traefik-public` overlay network. + +> 💡 NOTE: For advanced config with available environment variables see [linuxserver/docker-code-server](https://github.com/linuxserver/docker-code-server) help. + +```yaml +version: "3.8" +services: + arkanum: + image: gitea.ocram85.com/codeserver/arkanum:0.0.1 + environment: + - PUID=1000 + - PGID=1000 + - TZ=Europe/Berlin + - PASSWORD=foo #optional + #- HASHED_PASSWORD= #optional + - SUDO_PASSWORD=foobar #optional + #- SUDO_PASSWORD_HASH= #optional + #- PROXY_DOMAIN=code-server.my.domain #optional + - DEFAULT_WORKSPACE=/config/workspace + deploy: + replicas: 1 + labels: + - "traefik.enable=true" + - "traefik.docker.network=traefik-public" + - "traefik.http.routers.arkanum.rule=Host(`vscode.mydomain.com`)" + - "traefik.http.routers.arkanum.tls.certresolver=myresolver" + - "traefik.http.services.arkanum-srv.loadbalancer.server.port=8443" + volumes: + # store workspace and use config in volume. + - codedata:/config + # no need to expose the port. traefik acts as reverse proxy and handles the https access. + #ports: + # - 8443:8443 + restart: unless-stopped + networks: + - arkanum-sphere + - traefik-public + +volumes: + codedata: + +networks: + arkanum-sphere: + traefik-public: + external: true +``` + +### Docker-Compose + +### Docker CLI + + +## :book: Content ### 🚀 Starship prompt @@ -43,6 +111,7 @@ Adds default git system config file with: - enabled plain credential store for remote. - added git log helper `lg1` + `lg2`. - enabled bash completion for git command in integrated bash terminal. + > 💡 See [gitconfig-system](./gitconfig-system) for details. ### 🧙 Added `arkanum` helper script @@ -83,13 +152,13 @@ This user setting defines the following stuff: - Use compact menu bar to avoid users with multiple menu bars. - Use *One Dark Pro Darker* theme - Use *vscode-icons* icon set -- Set 'FiraCode' as default font in editor. +- Set FiraCode as default font in editor. - Tries to use alternate font names for FiraCode if its locally available. -- Sets 'FiraCode' mono variant in terminal to enable icons used by starshop prompt. +- Sets FiraCode mono variant in terminal to enable icons used by starship prompt. - Enables font ligatures - Enables *auto save* and *format on save*. - Disables auto update for extension. -- Disables VScode telemetry +- Disables VSCode telemetry - Disable confirm message for sync branches. Additionally we install these extensions on container startup: @@ -98,6 +167,21 @@ Additionally we install these extensions on container startup: - [vscode-icons](https://open-vsx.org/extension/vscode-icons-team/vscode-icons) icon set - [Gitlens](https://open-vsx.org/extension/eamodio/gitlens) +## 💣 Know Issues + +### Default extensions installation timing error + +If the automatic installation of the default extension fails, you can always retry he installation with the +following command: + +```bash +# restart the installation +arkanum --install-extensions +# Optional: reset the vscode user setting +arkanum --reset-codesetting +# Reload with command F1 + Developer: Reload Window +``` + ## 💳 Credits Akranum is based on the following projects and wouldn't be possible without: