generated from Templates/Baseline
adds Readme content to prepare Github mirror (#26)
#### 📖 Summary - adds section about github - fix markdown github style - adds project-words #### 📑 Test Plan > 💡 Select your test plan for the code changes. - [x] CI pipeline tests - [ ] Custom test - [ ] No test plan ##### Details / Justification <!-- Add your test details or justification for missing tests here. --> #### 📚 Additional Notes <!-- A place for additional detail notes. --> Co-authored-by: OCram85 <marco.blessing@googlemail.com> Reviewed-on: CodeServer/arkanum#26
This commit is contained in:
parent
c06d212379
commit
8239ec48b4
17
.vscode/dictionaries/project-words.txt
vendored
17
.vscode/dictionaries/project-words.txt
vendored
@ -1,7 +1,24 @@
|
||||
Akranum
|
||||
appdata
|
||||
arkanum
|
||||
aurocrlf
|
||||
certresolver
|
||||
codesetting
|
||||
dotnet
|
||||
Fira
|
||||
FOSS
|
||||
gitea
|
||||
loadbalancer
|
||||
LTS
|
||||
mydomain
|
||||
myresolver
|
||||
ocram
|
||||
OSS
|
||||
PGID
|
||||
PUID
|
||||
Quickstart
|
||||
runtimes
|
||||
srv
|
||||
tbd
|
||||
traefik
|
||||
tuanpham
|
||||
|
@ -16,7 +16,8 @@ pipeline:
|
||||
password:
|
||||
from_secret: gitea_passwd
|
||||
build_args:
|
||||
- VERSION="Tag ${CI_COMMIT_TAG} - Branch ${CI_COMMIT_SOURCE_BRANCH} - PR ${CI_COMMIT_PULL_REQUEST}"
|
||||
- VERSION=${CI_COMMIT_TAG:-PR ${CI_COMMIT_PULL_REQUEST}}
|
||||
- TAG=${CI_COMMIT_TAG}
|
||||
when:
|
||||
event: pull_request
|
||||
|
||||
@ -28,4 +29,4 @@ pipeline:
|
||||
TOKEN:
|
||||
from_secret: NEXT_TOKEN
|
||||
when:
|
||||
event: pull_request
|
||||
event: pull_request
|
||||
|
@ -3,13 +3,15 @@ FROM quay.io/linuxserver.io/code-server:4.8.3
|
||||
#LABEL build_version=""
|
||||
LABEL maintainer="OCram85"
|
||||
ARG VERSION
|
||||
LABEL build_version="$VERSION"
|
||||
LABEL build_version="${VERSION}"
|
||||
LABEL org.opencontainers.image.authors="OCram85"
|
||||
LABEL org.opencontainers.image.vendor="OCram85"
|
||||
|
||||
LABEL org.opencontainers.image.title="Arkanum"
|
||||
LABEL org.opencontainers.image.description="Code-Server container optimized for daily use."
|
||||
LABEL org.opencontainers.image.licenses="AGPL-3.0"
|
||||
ARG TAG
|
||||
LABEL org.opencontainers.image.version="${TAG}"
|
||||
|
||||
LABEL org.opencontainers.image.url="https://gitea.ocram85.com/CodeServer/arkanum"
|
||||
LABEL org.opencontainers.image.source="https://gitea.ocram85.com/CodeServer/arkanum.git"
|
||||
|
185
README.md
185
README.md
@ -6,7 +6,7 @@
|
||||
<p align="center">
|
||||
<a href="https://gitea.ocram85.com/CodeServer/arkanum/">
|
||||
<img
|
||||
src="/CodeServer/arkanum/raw/branch/master/assets/social-logo.png"
|
||||
src="assets/social-logo.png"
|
||||
alt="Container"
|
||||
>
|
||||
</a>
|
||||
@ -17,37 +17,153 @@
|
||||
</h1>
|
||||
|
||||
<p align="center">
|
||||
Code-Server container optimized for daily use. ❤
|
||||
... is a Code-Server container optimized for daily use.
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://ci.ocram85.com/CodeServer/arkanumg">
|
||||
<a href="https://ci.ocram85.com/CodeServer/arkanum">
|
||||
<img src="https://ci.ocram85.com/api/badges/CodeServer/arkanum/status.svg" alt="Master Branch Build Status">
|
||||
</a>
|
||||
</p>
|
||||
|
||||
## :book: General
|
||||
## 🤖 Quickstart
|
||||
|
||||
The container is based on the latest `linuxserver/code-server` image.
|
||||
### 1. ⚡ 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 branch 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.
|
||||
|
||||
### 2.a Run as Docker Swarm Stack
|
||||
|
||||
This example shows how to run arkanum as an additional swarm stack.
|
||||
|
||||
Therefore you need
|
||||
|
||||
- an already running docker swarm cluster,
|
||||
- a running traefik instance handling the http and https routes,
|
||||
- configured to expose services in the a ingress overlay network called `traefik-public`.
|
||||
|
||||
> ❗ **Warning:** Make sure to secure the access to arkanum with proper **authentication method** and use
|
||||
> a trusted + **secure https connection**.
|
||||
|
||||
```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
|
||||
```
|
||||
|
||||
> 💡 NOTE: For advanced config with additional environment variables see [linuxserver/docker-code-server](https://github.com/linuxserver/docker-code-server) help.
|
||||
### 2.b Use Docker-Compose
|
||||
|
||||
This is a basic example for a `docker-compose` file from the [linuxserver/docker-code-server](https://github.com/linuxserver/docker-code-server) project.
|
||||
|
||||
See their [docs](https://github.com/linuxserver/docker-code-server#parameters) about a detailed help for advanced config parameters.
|
||||
|
||||
```yaml
|
||||
---
|
||||
version: "3.8"
|
||||
services:
|
||||
arkanum:
|
||||
image: gitea.ocram85.com/codeserver/arkanum:0.0.1
|
||||
container_name: code-server
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- TZ=Europe/London
|
||||
- PASSWORD=password #optional
|
||||
- HASHED_PASSWORD= #optional
|
||||
- SUDO_PASSWORD=password #optional
|
||||
- SUDO_PASSWORD_HASH= #optional
|
||||
- PROXY_DOMAIN=code-server.my.domain #optional
|
||||
- DEFAULT_WORKSPACE=/config/workspace #optional
|
||||
volumes:
|
||||
- /path/to/appdata/config:/config
|
||||
ports:
|
||||
- 8443:8443
|
||||
restart: unless-stopped
|
||||
```
|
||||
|
||||
### 3. 🦶 First Steps
|
||||
|
||||
After summon Arkanum your first steps should be to set your username and email in the git config:
|
||||
|
||||
```bash
|
||||
git config --global user.name "username"
|
||||
git config --global user.email "email address"
|
||||
```
|
||||
|
||||
And that's it. Now you're ready use arkanum as your daily remote code editor. 😄
|
||||
|
||||
## 📖 Content
|
||||
|
||||
<p align="center">
|
||||
<a href="https://gitea.ocram85.com/CodeServer/arkanum/">
|
||||
<img
|
||||
src="assets/screen1.png"
|
||||
alt="Screenshot1"
|
||||
>
|
||||
</a>
|
||||
</p>
|
||||
|
||||
### 🚀 Starship prompt
|
||||
|
||||
The [Starship](starship.rs) prompt is added and enabled as default. Default config uses Emojis and FiraCode icons.
|
||||
We added the [Starship](starship.rs) prompt is as default in the integrated terminal. The default config uses Emojis and FiraCode icons.
|
||||
|
||||
### 🔱 git config
|
||||
|
||||
Adds default git system config file with:
|
||||
Added default git system config file with:
|
||||
|
||||
- code-server as default editor.
|
||||
- disabled `aurocrlf`.
|
||||
- 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
|
||||
### 🧙 `arkanum` helper
|
||||
|
||||
Added `arkanum` to help installing common runtime in container.
|
||||
Added `arkanum` to help installing common runtimes in container.
|
||||
This helps reducing the image size.
|
||||
|
||||
```
|
||||
@ -74,7 +190,7 @@ This helps reducing the image size.
|
||||
|
||||
Added FiraCode as default font in editor and integrated terminal. The font files are embedded and can be used without local installation.
|
||||
|
||||
### VSCode default settings
|
||||
### 🦸 VSCode default settings
|
||||
|
||||
If your start the container or log in the first time, a default config file is deployed.
|
||||
|
||||
@ -83,13 +199,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,9 +214,46 @@ 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)
|
||||
|
||||
## 💳 Credits
|
||||
## 💣 Known Issues
|
||||
|
||||
Akranum is based on the following projects and wouldn't be possible without:
|
||||
### 🐛 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
|
||||
```
|
||||
## 😡 We're Using GitHub Under Protest
|
||||
|
||||
This project is currently **mirrored** to GitHub. This is not ideal; GitHub is a
|
||||
proprietary, trade-secret system that is not Free and Open Source Software
|
||||
(FOSS). We are deeply concerned about using a proprietary system like GitHub
|
||||
to develop our FOSS project. We have an
|
||||
[open Gitea repository ](https://gitea.ocram85.com/CodeServer/arkanum/issues) where the
|
||||
project contributors are actively discussing how we can move away from GitHub
|
||||
in the long term. We urge you to read about the
|
||||
[Give up GitHub](https://GiveUpGitHub.org) campaign from
|
||||
[the Software Freedom Conservancy](https://sfconservancy.org) to understand
|
||||
some of the reasons why GitHub is not a good place to host FOSS projects.
|
||||
|
||||
If you are a contributor who personally has already quit using GitHub, please
|
||||
[check this resource](https://gitea.ocram85.com/CodeServer/arkanum) for how to send us contributions without
|
||||
using GitHub directly.
|
||||
|
||||
Any use of this project's code by GitHub Copilot, past or present, is done
|
||||
without our permission. We do not consent to GitHub's use of this project's
|
||||
code in Copilot.
|
||||
|
||||

|
||||
|
||||
## 🙏 Credits
|
||||
|
||||
Akranum is based on the following projects and wouldn't be possible without them:
|
||||
|
||||
- [microsoft/vscode](https://github.com/microsoft/vscode) - Visual Studio Code, OSS. `[MIT]`
|
||||
- [coder/code-server](https://github.com/coder/code-server) - VSCode on a remote server, accessible through the browser. `[MIT]`
|
||||
@ -113,7 +266,7 @@ Akranum is based on the following projects and wouldn't be possible without:
|
||||
|
||||
```
|
||||
Arkanum - Code-Server container optimized for daily use.
|
||||
Copyright (C) 2022 "OCram85 <me@ocram85.com>"
|
||||
Copyright (C) 2022 "OCram85 <me@ocram85.com>"
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
|
BIN
assets/screen1.png
Normal file
BIN
assets/screen1.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 304 KiB |
Loading…
x
Reference in New Issue
Block a user