generated from Templates/Baseline
139 lines
4.2 KiB
Markdown
139 lines
4.2 KiB
Markdown
|
# Getting Started
|
||
|
|
||
|
## Installation
|
||
|
|
||
|
### Prerequisites
|
||
|
|
||
|
Any host with either
|
||
|
|
||
|
- Docker CE / EE running
|
||
|
- or Docker-CE and configured 'swarm' mode.
|
||
|
|
||
|
### 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`, `1.0.0` - tag based version.
|
||
|
|
||
|
> **💡 NOTE: See the [packages page](https://gitea.ocram85.com/CodeServer/-/packages/container/arkanum/latest) for latest version and all other available tags.**
|
||
|
|
||
|
The container images are also published to these registries:
|
||
|
|
||
|
- [Docker Hub](https://hub.docker.com/r/ocram85/arkanum)
|
||
|
- Pull Endpoint: `ocram85/arkanum`
|
||
|
- [GitHub Container Registry](https://github.com/OCram85/arkanum/pkgs/container/arkanum)
|
||
|
- Pull Endpoint: `ghcr.io/ocram85/arkanum`
|
||
|
- [Codeberg Packages](https://codeberg.org/codeserver/-/packages/container/arkanum/next)
|
||
|
- Pull Endpoint: `codeberg.org/codeserver/arkanum`
|
||
|
|
||
|
### 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:1.0.0
|
||
|
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
|
||
|
# 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.
|
||
|
#ports:
|
||
|
# - 8443:8443
|
||
|
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:1.0.0
|
||
|
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
|
||
|
arkanum git setup "my-name" "my-email"
|
||
|
```
|
||
|
|
||
|
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="https://gitea.ocram85.com/CodeServer/arkanum/raw/branch/master/assets/screen1.png"
|
||
|
alt="Screenshot1"
|
||
|
>
|
||
|
</a>
|
||
|
</p>
|