Compare commits

...

29 Commits

Author SHA1 Message Date
OCram85 0652eabaaf fix umami url
ci/woodpecker/push/docs Pipeline was successful Details
ci/woodpecker/push/ci Pipeline was successful Details
2024-05-22 12:05:03 +02:00
OCram85 44d69d542c prepare relase v1.5.1 (#99)
ci/woodpecker/push/docs Pipeline was successful Details
ci/woodpecker/tag/docs Pipeline was successful Details
ci/woodpecker/push/ci Pipeline was successful Details
ci/woodpecker/tag/ci Pipeline was successful Details
### 📖 Summary

- update release text
- update changelog
- prepare arkanum.dev

### 📑 Test Plan

 CI pipeline tests (Default)

### 💬 Details

_No response_

### 📚 Additional Notes

_No response_

Reviewed-on: #99
2024-05-22 10:25:17 +02:00
renovate-bot f0d0a0ad1d chore(deps): update woodpeckerci/plugin-docker-buildx docker tag to v4 (#98)
ci/woodpecker/push/docs Pipeline was successful Details
ci/woodpecker/push/ci Pipeline was successful Details
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [woodpeckerci/plugin-docker-buildx](https://codeberg.org/woodpecker-plugins/docker-buildx) ([source](https://codeberg.org/woodpecker-plugins/docker-buildx.git)) | major | `3.2.1` -> `4.0.0` |

---

### Release Notes

<details>
<summary>woodpecker-plugins/docker-buildx (woodpeckerci/plugin-docker-buildx)</summary>

### [`v4.0.0`](https://codeberg.org/woodpecker-plugins/docker-buildx/releases/tag/v4.0.0)

[Compare Source](https://codeberg.org/woodpecker-plugins/docker-buildx/compare/v3.2.1...v4.0.0)

-   chore(deps): update docker docker tag to v26.1.0
-   chore(deps): update docker/buildx-bin docker tag to v0.14.0 ([#&#8203;155](https://github.com/woodpecker-plugins/docker-buildx/issues/155))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNTYuMCIsInVwZGF0ZWRJblZlciI6IjM3LjM1Ni4wIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbInJlbm92YXRlIl19-->

Reviewed-on: #98
Co-authored-by: renovate-bot <renovate@ocram85.com>
Co-committed-by: renovate-bot <renovate@ocram85.com>
2024-05-22 10:15:44 +02:00
renovate-bot fd87fd0990 chore(deps): update quay.io/linuxserver.io/code-server docker tag to v4.89.0 (#96)
ci/woodpecker/push/docs Pipeline was successful Details
ci/woodpecker/push/ci Pipeline was successful Details
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [quay.io/linuxserver.io/code-server](https://github.com/linuxserver/docker-code-server/packages) ([source](https://github.com/linuxserver/docker-code-server)) | final | minor | `4.22.1` -> `4.89.0` |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yOTIuMCIsInVwZGF0ZWRJblZlciI6IjM3LjM1Ni4wIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbInJlbm92YXRlIl19-->

Reviewed-on: #96
Co-authored-by: renovate-bot <renovate@ocram85.com>
Co-committed-by: renovate-bot <renovate@ocram85.com>
2024-05-22 10:09:56 +02:00
OCram85 81aea0a4d2 add Arkanum.dev site with docs (#97)
ci/woodpecker/push/docs Pipeline was successful Details
ci/woodpecker/push/ci Pipeline was successful Details
### 📖 Summary

- adds vitepess based docs for Arkanum.dev
- migrate arakanumm project from CodeServer org to arkanum org

### 📑 Test Plan

 CI pipeline tests (Default)

### 💬 Details

_No response_

### 📚 Additional Notes

_No response_

Reviewed-on: #97
2024-05-22 10:07:32 +02:00
renovate-bot 2130741460 chore(deps): update woodpeckerci/plugin-docker-buildx docker tag to v3 (#93)
ci/woodpecker/push/ci Pipeline was successful Details
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [woodpeckerci/plugin-docker-buildx](https://codeberg.org/woodpecker-plugins/docker-buildx) ([source](https://codeberg.org/woodpecker-plugins/docker-buildx.git)) | major | `2.2.1` -> `3.2.1` |

---

### Release Notes

<details>
<summary>woodpecker-plugins/docker-buildx (woodpeckerci/plugin-docker-buildx)</summary>

### [`v3.2.1`](https://codeberg.org/woodpecker-plugins/docker-buildx/releases/tag/v3.2.1)

[Compare Source](https://codeberg.org/woodpecker-plugins/docker-buildx/compare/v3.2.0...v3.2.1)

##### Fixes

-   Prefer output even if no dryrun is specified ([#&#8203;151](https://github.com/woodpecker-plugins/docker-buildx/issues/151))

##### Misc

-   fix(deps): update module github.com/aws/aws-sdk-go to v1.51.6
-   chore(deps): update docker docker tag to v25.0.5
-   chore(deps): update woodpeckerci/plugin-docker-buildx docker tag to v3.2.0

### [`v3.2.0`](https://codeberg.org/woodpecker-plugins/docker-buildx/releases/tag/v3.2.0)

[Compare Source](https://codeberg.org/woodpecker-plugins/docker-buildx/compare/v3.1.0...v3.2.0)

##### Features

-   Allow `default_tag` to be empty ([#&#8203;145](https://github.com/woodpecker-plugins/docker-buildx/issues/145)) WARNING: not battle-tested (as I did not have a use case and testing repo). Please expect issues along the way.
-   Add `SOURCE_DATE_EPOCH` build_arg ([#&#8203;130](https://github.com/woodpecker-plugins/docker-buildx/issues/130))
-   Add `provenance` config setting ([#&#8203;139](https://github.com/woodpecker-plugins/docker-buildx/issues/139))
-   Add `secrets` config setting ([#&#8203;135](https://github.com/woodpecker-plugins/docker-buildx/issues/135))

##### Dependencies

-   chore(deps): update docker/buildx-bin docker tag to v0.13.1
-   chore(deps): update docker docker tag to v25.0.4

### [`v3.1.0`](https://codeberg.org/woodpecker-plugins/docker-buildx/releases/tag/v3.1.0)

[Compare Source](https://codeberg.org/woodpecker-plugins/docker-buildx/compare/v3.0.1...v3.1.0)

##### Features

-   Improve support for `cache_to` and `cache_from` & add `cache_images` ([#&#8203;129](https://github.com/woodpecker-plugins/docker-buildx/issues/129))

##### Dependencies

-   chore(deps): update docker docker tag to v25.0.2

### [`v3.0.1`](https://codeberg.org/woodpecker-plugins/docker-buildx/releases/tag/v3.0.1)

[Compare Source](https://codeberg.org/woodpecker-plugins/docker-buildx/compare/v3.0.0...v3.0.1)

-   fix(deps): update module github.com/aws/aws-sdk-go to v1.50.5
-   chore(deps): update docker docker tag to v25.0.1

### [`v3.0.0`](https://codeberg.org/woodpecker-plugins/docker-buildx/releases/tag/v3.0.0)

[Compare Source](https://codeberg.org/woodpecker-plugins/docker-buildx/compare/v2.3.0...v3.0.0)

##### Breaking

-   Update to docker engine v25 ([release notes](https://docs.docker.com/engine/release-notes/25.0/))

##### Features

-   Add option to set individual mirrors for all logins ([#&#8203;122](https://github.com/woodpecker-plugins/docker-buildx/issues/122))
-   Add option to enable buildkit debug output ([#&#8203;119](https://github.com/woodpecker-plugins/docker-buildx/issues/119))

##### Dependencies

-   fix(deps): update module github.com/aws/aws-sdk-go to v1.49.21 ([#&#8203;125](https://github.com/woodpecker-plugins/docker-buildx/issues/125))
-   chore(deps): update docker/buildx-bin docker tag to v0.12.1 ([#&#8203;124](https://github.com/woodpecker-plugins/docker-buildx/issues/124))

### [`v2.3.0`](https://codeberg.org/woodpecker-plugins/docker-buildx/releases/tag/v2.3.0)

[Compare Source](https://codeberg.org/woodpecker-plugins/docker-buildx/compare/v2.2.1...v2.3.0)

##### Features

-   feat: add support for publishing to AWS ECR ([#&#8203;110](https://github.com/woodpecker-plugins/docker-buildx/issues/110))

##### Dependencies

-   fix(deps): update module github.com/urfave/cli/v2 to v2.27.1

##### Misc

-   adds gitea meta template files for pull requests and issues ([#&#8203;103](https://github.com/woodpecker-plugins/docker-buildx/issues/103))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xODkuMSIsInVwZGF0ZWRJblZlciI6IjM3LjI3OC4wIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIn0=-->

Reviewed-on: CodeServer/arkanum#93
Co-authored-by: renovate-bot <renovate@ocram85.com>
Co-committed-by: renovate-bot <renovate@ocram85.com>
2024-04-07 11:29:58 +02:00
renovate-bot b79c637259 chore(deps): update quay.io/linuxserver.io/code-server docker tag to v4.22.1 (#91)
ci/woodpecker/push/ci Pipeline was successful Details
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [quay.io/linuxserver.io/code-server](https://github.com/linuxserver/docker-code-server/packages) ([source](https://github.com/linuxserver/docker-code-server)) | final | minor | `4.20.1` -> `4.22.1` |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xODkuMSIsInVwZGF0ZWRJblZlciI6IjM3LjI1MC4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIn0=-->

Reviewed-on: CodeServer/arkanum#91
Co-authored-by: renovate-bot <renovate@ocram85.com>
Co-committed-by: renovate-bot <renovate@ocram85.com>
2024-04-05 08:23:26 +02:00
OCram85 bd93b021db fix starship prompt installation (#95)
ci/woodpecker/push/ci Pipeline was successful Details
### 📖 Summary

- fixes starship prompt installation after installer introduced version args. Using static latest version tag for now.
- disables Woodpecker Portainer trigger step. Not needed for updating image tags and auto redeploy in Portainer EE.

### 📑 Test Plan

 CI pipeline tests (Default)

### 💬 Details

_No response_

### 📚 Additional Notes

_No response_

Reviewed-on: CodeServer/arkanum#95
2024-04-05 08:15:11 +02:00
OCram85 d388c2f46b prep/v1.5.0 (#90)
ci/woodpecker/push/ci Pipeline was successful Details
ci/woodpecker/tag/ci Pipeline was successful Details
### 📖 Summary

- adds vscode task to update changelog
- updates changelog

### 📑 Test Plan

 CI pipeline tests (Default)

### 💬 Details

_No response_

### 📚 Additional Notes

_No response_

Reviewed-on: CodeServer/arkanum#90
Co-authored-by: OCram85 <marco.blessing@googlemail.com>
Co-committed-by: OCram85 <marco.blessing@googlemail.com>
2024-02-09 11:56:24 +01:00
renovate-bot 49fdbcd97e Update quay.io/linuxserver.io/code-server Docker tag to v4.20.1 (#88)
ci/woodpecker/push/ci Pipeline was successful Details
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [quay.io/linuxserver.io/code-server](https://github.com/linuxserver/docker-code-server) | final | patch | `4.20.0` -> `4.20.1` |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC40MC4yIiwidXBkYXRlZEluVmVyIjoiMzQuNDAuMiJ9-->

Co-authored-by: OCram85 <ocram85@noreply.local>
Reviewed-on: CodeServer/arkanum#88
Co-authored-by: renovate-bot <renovate@ocram85.com>
Co-committed-by: renovate-bot <renovate@ocram85.com>
2024-02-08 07:34:35 +01:00
OCram85 5ef273ab10 add more gitignore items (#89)
ci/woodpecker/push/ci Pipeline was successful Details
### 📖 Summary

- add node_modues
- vitepress items

### 📑 Test Plan

 CI pipeline tests (Default)

### 💬 Details

_No response_

### 📚 Additional Notes

_No response_

Reviewed-on: CodeServer/arkanum#89
Co-authored-by: OCram85 <marco.blessing@googlemail.com>
Co-committed-by: OCram85 <marco.blessing@googlemail.com>
2024-02-08 07:32:32 +01:00
renovate-bot b0553b1c16 Update quay.io/linuxserver.io/code-server Docker tag to v4.20.0 (#86)
ci/woodpecker/push/ci Pipeline was successful Details
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [quay.io/linuxserver.io/code-server](https://github.com/linuxserver/docker-code-server) | final | minor | `4.19.1` -> `4.20.0` |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC40MC4yIiwidXBkYXRlZEluVmVyIjoiMzQuNDAuMiJ9-->

Co-authored-by: OCram85 <ocram85@noreply.local>
Reviewed-on: CodeServer/arkanum#86
Co-authored-by: renovate-bot <renovate@ocram85.com>
Co-committed-by: renovate-bot <renovate@ocram85.com>
2024-01-08 13:46:24 +01:00
OCram85 690d0666d9 always install latest extension version (#85)
ci/woodpecker/push/ci Pipeline was successful Details
### 📖 Summary

- removed manual downloading if extension sources
- use code-server `install-extension` helper script to download and install latest extension version

### 📑 Test Plan

 CI pipeline tests (Default)

### 💬 Details

_No response_

### 📚 Additional Notes

- fixes #83

Reviewed-on: CodeServer/arkanum#85
Co-authored-by: OCram85 <marco.blessing@googlemail.com>
Co-committed-by: OCram85 <marco.blessing@googlemail.com>
2024-01-08 13:36:55 +01:00
OCram85 ac62d384a2 update and resort changelog (#82)
ci/woodpecker/push/ci Pipeline was successful Details
ci/woodpecker/tag/ci Pipeline was successful Details
### 📖 Summary

- adds v102 changelog
- sort changelog entries descending

### 📑 Test Plan

 CI pipeline tests (Default)

### 💬 Details

_No response_

### 📚 Additional Notes

_No response_

Reviewed-on: CodeServer/arkanum#82
Co-authored-by: OCram85 <marco.blessing@googlemail.com>
Co-committed-by: OCram85 <marco.blessing@googlemail.com>
2023-12-18 18:48:02 +01:00
OCram85 d3c9186ccf add bun installer (#81)
ci/woodpecker/push/ci Pipeline was successful Details
### 📖 Summary

- adds bun
- bump golang version

### 📑 Test Plan

 CI pipeline tests (Default)

### 💬 Details

_No response_

### 📚 Additional Notes

_No response_

Reviewed-on: CodeServer/arkanum#81
Co-authored-by: OCram85 <marco.blessing@googlemail.com>
Co-committed-by: OCram85 <marco.blessing@googlemail.com>
2023-12-18 18:37:26 +01:00
OCram85 e85a222bf1 bump golang version (#80)
ci/woodpecker/push/ci Pipeline was successful Details
### 📖 Summary

-  update golang install version to 1.21.5

### 📑 Test Plan

 CI pipeline tests (Default)

### 💬 Details

_No response_

### 📚 Additional Notes

_No response_

Reviewed-on: CodeServer/arkanum#80
2023-12-16 13:25:52 +01:00
renovate-bot 02ee121148 Update quay.io/linuxserver.io/code-server Docker tag to v4.19.1 (#77)
ci/woodpecker/push/ci Pipeline was successful Details
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [quay.io/linuxserver.io/code-server](https://github.com/linuxserver/docker-code-server) | final | minor | `4.18.0` -> `4.19.1` |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC40MC4yIiwidXBkYXRlZEluVmVyIjoiMzQuNDAuMiJ9-->

Co-authored-by: OCram85 <ocram85@noreply.local>
Reviewed-on: CodeServer/arkanum#77
Co-authored-by: renovate-bot <renovate@ocram85.com>
Co-committed-by: renovate-bot <renovate@ocram85.com>
2023-12-14 09:27:02 +01:00
OCram85 c9b600969e upd/woodpeckerPluging (#79)
ci/woodpecker/push/ci Pipeline was successful Details
### 📖 Summary

- rename `ci` pipeline file
- bump builx plugin

### 📑 Test Plan

 CI pipeline tests (Default)

### 💬 Details

_No response_

### 📚 Additional Notes

_No response_

Reviewed-on: CodeServer/arkanum#79
Co-authored-by: OCram85 <marco.blessing@googlemail.com>
Co-committed-by: OCram85 <marco.blessing@googlemail.com>
2023-12-14 09:22:35 +01:00
OCram85 aef0d17c1d fix typo in arkanum cli help (#78)
ci/woodpecker/push/ci Pipeline was successful Details
### 📖 Summary

- just fixing typo

### 📑 Test Plan

 CI pipeline tests (Default)

### 💬 Details

_No response_

### 📚 Additional Notes

_No response_

Reviewed-on: CodeServer/arkanum#78
Co-authored-by: OCram85 <marco.blessing@googlemail.com>
Co-committed-by: OCram85 <marco.blessing@googlemail.com>
2023-12-14 09:17:25 +01:00
OCram85 582d98b943 Bump default extensions version (#76)
ci/woodpecker/push/ci Pipeline was successful Details
### 📖 Summary

- update OneDarkPor, vscode-icons and GitLense

### 📑 Test Plan

 CI pipeline tests (Default)

### 💬 Details

_No response_

### 📚 Additional Notes

_No response_

Reviewed-on: CodeServer/arkanum#76
Co-authored-by: OCram85 <marco.blessing@googlemail.com>
Co-committed-by: OCram85 <marco.blessing@googlemail.com>
2023-11-12 13:56:07 +01:00
OCram85 24599cb256 updatest gitea meta files (#75)
ci/woodpecker/push/ci Pipeline was successful Details
#### 📖 Summary

- update issue template
- update pull request template

#### 📑 Test Plan

> 💡 Select your test plan for the code changes.

| Choice | Test Method       |
| :----: | :-----------      |
|      | 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. -->

Reviewed-on: CodeServer/arkanum#75
Co-authored-by: OCram85 <marco.blessing@googlemail.com>
Co-committed-by: OCram85 <marco.blessing@googlemail.com>
2023-11-12 13:33:44 +01:00
OCram85 1b4784faa0 prepare v1.0.1 release (#74)
ci/woodpecker/push/ci Pipeline was successful Details
ci/woodpecker/tag/ci Pipeline was successful Details
#### 📖 Summary

- updates changelog

#### 📑 Test Plan

> 💡 Select your test plan for the code changes.

| Choice | Test Method       |
| :----: | :-----------      |
|      | 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. -->

Reviewed-on: CodeServer/arkanum#74
Co-authored-by: OCram85 <marco.blessing@googlemail.com>
Co-committed-by: OCram85 <marco.blessing@googlemail.com>
2023-11-12 13:15:45 +01:00
OCram85 496784ab43 avoid duplicate ci runs (#73)
ci/woodpecker/push/ci Pipeline was successful Details
#### 📖 Summary

<!-- Provide a summary of your changes. Describe the why and not how. -->

#### 📑 Test Plan

> 💡 Select your test plan for the code changes.

| Choice | Test Method       |
| :----: | :-----------      |
|      | 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. -->

Reviewed-on: CodeServer/arkanum#73
Co-authored-by: OCram85 <marco.blessing@googlemail.com>
Co-committed-by: OCram85 <marco.blessing@googlemail.com>
2023-11-12 11:46:01 +01:00
renovate-bot 839024dc84 Update quay.io/linuxserver.io/code-server Docker tag to v4.18.0 (#70)
ci/woodpecker/push/test Pipeline was successful Details
ci/woodpecker/push/deploy Pipeline was successful Details
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [quay.io/linuxserver.io/code-server](https://github.com/linuxserver/docker-code-server) | final | minor | `4.16.1` -> `4.18.0` |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC40MC4yIiwidXBkYXRlZEluVmVyIjoiMzQuNDAuMiJ9-->

Reviewed-on: CodeServer/arkanum#70
Co-authored-by: renovate-bot <renovate@ocram85.com>
Co-committed-by: renovate-bot <renovate@ocram85.com>
2023-10-26 19:29:23 +02:00
OCram85 03a31b7942 fix pwsh install package (#72)
ci/woodpecker/push/test Pipeline was successful Details
ci/woodpecker/push/deploy Pipeline was successful Details
#### 📖 Summary

replace `powershell` with `powershell-lts` package

#### 📑 Alternate test plan

| Choice | Test Method       |
| :----: | :-----------      |
|        | Custom test       |
|        | No test plan      |

##### Details / Justification

> 💡 Add your test details or justification for missing tests here.

#### 📚 Additional Notes

- fixes #71

Reviewed-on: CodeServer/arkanum#72
Co-authored-by: OCram85 <marco.blessing@googlemail.com>
Co-committed-by: OCram85 <marco.blessing@googlemail.com>
2023-10-26 19:22:56 +02:00
OCram85 173ec41f6d prepare release 1.0.0 (#69)
ci/woodpecker/push/test Pipeline was successful Details
ci/woodpecker/push/deploy Pipeline was successful Details
ci/woodpecker/tag/test Pipeline was successful Details
ci/woodpecker/tag/deploy Pipeline was successful Details
#### 📖 Summary

- update changelog

#### 📑 Test Plan

> 💡 Select your test plan for the code changes.

| Choice | Test Method       |
| :----: | :-----------      |
|      | 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#69
2023-09-15 09:34:06 +02:00
OCram85 aa23316413 fix git config arguments (#68)
ci/woodpecker/push/test Pipeline was successful Details
ci/woodpecker/push/deploy Pipeline was successful Details
#### 📖 Summary

- changed argument passing and testing in sub function

#### 📑 Test Plan

> 💡 Select your test plan for the code changes.

| Choice | Test Method       |
| :----: | :-----------      |
|      | CI pipeline tests |
|        | Custom test       |
|        | No test plan      |

##### Details / Justification

<!-- Add your test details or justification for missing tests here. -->

#### 📚 Additional Notes

- fixes #66

Co-authored-by: OCram85 <marco.blessing@googlemail.com>
Reviewed-on: CodeServer/arkanum#68
2023-09-15 09:06:27 +02:00
OCram85 21c6ef703f fix NodeJs install bug (#67)
ci/woodpecker/push/test Pipeline was successful Details
ci/woodpecker/push/deploy Pipeline was successful Details
#### 📖 Summary

- fixed function name to propperly use volta for NodeJs installation

#### 📑 Test Plan

> 💡 Select your test plan for the code changes.

| Choice | Test Method       |
| :----: | :-----------      |
|      | CI pipeline tests |
|        | Custom test       |
|        | No test plan      |

##### Details / Justification

<!-- Add your test details or justification for missing tests here. -->

#### 📚 Additional Notes

- fixes #65

Co-authored-by: OCram85 <marco.blessing@googlemail.com>
Reviewed-on: CodeServer/arkanum#67
2023-09-15 08:14:59 +02:00
OCram85 b0fbd8edf6 Add addiontal container image deployment targets (#63)
ci/woodpecker/push/test Pipeline was successful Details
ci/woodpecker/push/deploy Pipeline was successful Details
#### 📖 Summary

Adds additional deployment targets:

- GitHub Container registry
- Docker Hub
- updates woddpecker workflow to version `>1.0.0 syntax`
- fix workflow file names
- update woodpecker/buildx plugin to version `2`. This enables multiple targets with one build step

#### 📑 Test Plan

> 💡 Select your test plan for the code changes.

| Choice | Test Method       |
| :----: | :-----------      |
|      | 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#63
2023-09-13 08:13:30 +02:00
61 changed files with 2001 additions and 352 deletions

View File

@ -1,5 +1,5 @@
# The full repository name # The full repository name
repo: CodeServer/arkanum repo: arkanum/arkanum
# Service type (gitea or github) # Service type (gitea or github)
service: gitea service: gitea

View File

@ -1,8 +1,11 @@
.gitea
.vscode
assets
.editorconfig .editorconfig
.gitatributes .gitattributes
.gitea
.gitignore .gitignore
.gitlocal .gitlocal
.prettierrc
.vscode
LICENSE
node_modules
README.md README.md
renovate.json

View File

@ -1,10 +0,0 @@
---
name: 'Default'
about: 'Use this template if nothing seems to work.'
title: ':question: '
labels:
- question
---
#### :grey_question: Simply ask your question here: :grey_question:
<!-- Take your time an think about your problem.... -->

16
.gitea/ISSUE_TEMPLATE.yml Normal file
View File

@ -0,0 +1,16 @@
name: Default
about: Use this template if nothing seems to work.
title: ''
body:
- type: markdown
attributes:
value: |
> **Note**: Thanks for taking the time to fill out this bug report!
- type: textarea
id: content
attributes:
label: ❔ What happened
description: Simply ask your question here.
placeholder: Tell us what you want to know...
validations:
required: true

View File

@ -1,48 +0,0 @@
---
name: 'Bug'
about: 'This template is used to report bugs!'
title: ':lady_beetle: '
labels:
- bug
---
<!--
This bug report is ony for content provided in this repository!
- Make sure you're able to reproduce the error in the latest version of this package.
- Search of already existing issues.
- Refer to the known issues and FAQ section.
-->
#### :bomb: Steps to reproduce
```bash
```
#### :rocket: Expected behavior
```bash
```
#### :boom: Actual behavior
```bash
```
#### :notebook: Environment data
<!-- You can add additional environment data here--->
```bash
```
#### :framed_picture: Screenshots
<!-- Paste your screenshots here. -->
#### :bookmark: Refs
<!-- A place for additional references to other issues and PRs -->

View File

@ -0,0 +1,69 @@
name: 🐞 Bug Report
about: This template is used to report bugs!
title: ''
labels:
- bug
body:
- type: markdown
attributes:
value: |
> **Note**: This bug report is only for content provided in this repository!
>
> - Make sure you're able to reproduce the error in the lastest version of this package.
> - Search of already existing issues.
> - Refer to the known issues and FAQ section.
- type: textarea
id: reproduce
attributes:
label: 💣 Steps to reproduce
description: Describe ho to reproduce the error.
value: |
```bash
```
validations:
required: true
- type: textarea
id: expected
attributes:
label: 🚀 Expected behavior
description: Describe what should happen.
value: |
```bash
```
validations:
required: true
- type: textarea
id: actual
attributes:
label: 💥 Actual behavior
description: Describe what actually happens.
value: |
```bash
```
validations:
required: true
- type: textarea
id: env
attributes:
label: 📓 Environment data
description: You can add additional environment data here.
placeholder: |
```bash
```
- type: textarea
id: img
attributes:
label: 🖼️ Screenshots
description: Paste your screenshots here.
placeholder: Copy-Paste or Drag-and-Drop your images...
- type: textarea
id: refs
attributes:
label: 🔖 Refs
description: A place for additional references to other issues and PRs.
placeholder: |
- reopens #999

View File

@ -1,16 +0,0 @@
---
name: 'Enhancement'
about: 'Wite about new features.'
title: ':flying_saucer: '
labels:
- issue/enhancement
---
<!-- This issue template is used to describe whished features. -->
#### :satellite: Suggestion
#### :artificial_satellite: Implementation ideas
#### :framed_picture: Mock-up Images
#### :bookmark: Refs.

View File

@ -0,0 +1,46 @@
name: 🛸 Feature Request
about: Wite about new features.
title: ''
labels:
- feature
- enhancement
body:
- type: markdown
attributes:
value: |
> **Note**: This bug report is only for content provided in this repository!
>
> This issue template is used to describe new features or enhancements.
- type: textarea
id: idea
attributes:
label: 📡 Suggestion
description: Describe ho to reproduce the error.
value: |
```bash
```
validations:
required: true
- type: textarea
id: impl
attributes:
label: 🛰️ Implementation ideas
description: Describe your initial implementation ideas.
validations:
required: true
- type: textarea
id: mockup
attributes:
label: 🖼️ Mock-up
description: Alternatively add your mockups here.
placeholder: Copy-Paste or Drag-and-Drop your images...
validations:
required: true
- type: textarea
id: refs
attributes:
label: 🔖 Refs
description: A place for additional references to other issues and PRs.
placeholder: |
- reopens #999

View File

@ -0,0 +1,18 @@
name: ❓ Question
about: Use this template if nothing seems to work.
title: ''
labels:
- question
body:
- type: markdown
attributes:
value: |
> **Note**: Thanks for taking the time to fill out this bug report!
- type: textarea
id: content
attributes:
label: ❔ What happened
description: Simply ask your question here.
placeholder: Tell us what you want to know...
validations:
required: true

View File

@ -1,21 +0,0 @@
#### :book: Summary
<!-- Provide a summary of your changes. Describe the why and not how. -->
#### :bookmark_tabs: Test Plan
> :bulb: Select your test plan for the code changes.
| Choice | Test Method |
| :----: | :----------- |
| ✅ | CI pipeline tests |
| | Custom test |
| | No test plan |
##### Details / Justification
<!-- Add your test details or justification for missing tests here. -->
#### :books: Additional Notes
<!-- A place for additional detail notes. -->

View File

@ -0,0 +1,41 @@
name: Pull Request
about: General pull request
title: ""
body:
- type: markdown
attributes:
value: |
> **Note**: Thanks for contributing to this project with your pull request!
- type: textarea
id: summary
attributes:
label: 📖 Summary
description: Provide a summary of your changes. Also describe the why...
placeholder: Tell us about your code changes.
validations:
required: true
- type: dropdown
id: testplan
attributes:
label: 📑 Test Plan
description: How did you test your code changes?
options:
- ✅ CI pipeline tests (Default)
- 🤔 Custom test
- 💣 No test Plan
validations:
required: true
- type: textarea
id: details
attributes:
label: 💬 Details
description: Add your custom test details or justification for missing tests here.
placeholder: First, solve the problem. Then, write the code.
- type: textarea
id: notes
attributes:
label: 📚 Additional Notes
description: A place for additional notes or linking references.
placeholder: Software and cathedrals are much the same - First we build them, then we pray.

5
.gitignore vendored
View File

@ -12,3 +12,8 @@ data/*.csv
# Ignore Pester test result files # Ignore Pester test result files
coverage.xml coverage.xml
testResults.xml testResults.xml
# docs / vitepress related ignores
node_modules
docs/.vitepress/cache
docs/.vitepress/dist

10
.prettierrc Normal file
View File

@ -0,0 +1,10 @@
{
"arrowParens": "always",
"bracketSpacing": true,
"editorconfig": true,
"printWidth": 116,
"semi": false,
"singleQuote": true,
"trailingComma": "all",
"vueIndentScriptAndStyle": true
}

View File

@ -5,6 +5,7 @@
"streetsidesoftware.code-spell-checker", "streetsidesoftware.code-spell-checker",
"streetsidesoftware.code-spell-checker-german", "streetsidesoftware.code-spell-checker-german",
"bierner.emojisense", "bierner.emojisense",
"ryanluker.vscode-coverage-gutters" "ryanluker.vscode-coverage-gutters",
"augustocdias.tasks-shell-input"
] ]
} }

View File

@ -6,9 +6,7 @@
"editor.renderWhitespace": "boundary", "editor.renderWhitespace": "boundary",
"editor.formatOnSave": true, "editor.formatOnSave": true,
"editor.formatOnType": true, "editor.formatOnType": true,
"editor.rulers": [ "editor.rulers": [116],
116
],
// powershell general // powershell general
"powershell.startAutomatically": true, "powershell.startAutomatically": true,
"powershell.enableProfileLoading": true, "powershell.enableProfileLoading": true,
@ -67,5 +65,9 @@
"addWords": true "addWords": true
}, },
"custom": true "custom": true
},
"editor.defaultFormatter": "esbenp.prettier-vscode",
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
} }
} }

37
.vscode/tasks.json vendored Normal file
View File

@ -0,0 +1,37 @@
{
"version": "2.0.0",
"tasks": [
{
"label": "Update GiteaChangelog",
"type": "shell",
"command": [
"mv 'CHANGELOG.md' 'CHANGELOG.back' &&",
"changelog -m '${input:Milestone}' --token '${input:GiteaToken}' -c .changelog.yml generate > CHANGELOG.md &&",
"echo '' >> CHANGELOG.md &&",
"cat CHANGELOG.back >> CHANGELOG.md &&",
"rm CHANGELOG.back"
],
"problemMatcher": []
}
],
"inputs": [
{
"id": "GiteaToken",
"type": "command",
"command": "shellCommand.execute",
"args": {
"command": "echo $GITEA_TOKEN",
"description": "Your personal Gitea access token"
}
},
{
"id": "Milestone",
"type": "command",
"command": "shellCommand.execute",
"args": {
"description": "Select or enter a open milestone",
"command": "tea milestone ls -f title --output simple"
}
}
]
}

View File

@ -1,49 +0,0 @@
depends_on:
- test
pipeline:
buildImage:
image: woodpeckerci/plugin-docker-buildx
settings:
registry: gitea.ocram85.com
repo: gitea.ocram85.com/codeserver/arkanum
dockerfile: Dockerfile
auto_tag: true
username:
from_secret: gitea_user
password:
from_secret: gitea_passwd
build_args:
- VERSION=${CI_COMMIT_TAG:-PR ${CI_COMMIT_PULL_REQUEST}}
- TAG=${CI_COMMIT_TAG}
when:
event: push
branch: master
buildTag:
image: woodpeckerci/plugin-docker-buildx
settings:
registry: gitea.ocram85.com
repo: gitea.ocram85.com/codeserver/arkanum
dockerfile: Dockerfile
auto_tag: true
username:
from_secret: gitea_user
password:
from_secret: gitea_passwd
build_args:
- VERSION=${CI_COMMIT_TAG:-PR ${CI_COMMIT_PULL_REQUEST}}
- TAG=${CI_COMMIT_TAG}
when:
event: tag
GiteaRelease:
image: plugins/gitea-release
settings:
api_key:
from_secret: RENOVATE_TOKEN
base_url: https://gitea.ocram85.com
title: ${CI_COMMIT_TAG}
note: "> :bulb: **Note:** See [CHANGELOG.md](src/branch/master/CHANGELOG.md) for recent changes."
when:
event: tag

View File

@ -1,32 +0,0 @@
depends_on:
- test
pipeline:
buildTestImage:
image: woodpeckerci/plugin-docker-buildx
settings:
#dry_run: true
registry: gitea.ocram85.com
repo: gitea.ocram85.com/codeserver/arkanum
platforms: linux/amd64
dockerfile: Dockerfile
tags: next
username:
from_secret: gitea_user
password:
from_secret: gitea_passwd
build_args:
- VERSION=${CI_COMMIT_TAG:-PR ${CI_COMMIT_PULL_REQUEST}}
- TAG=${CI_COMMIT_TAG}
when:
event: pull_request
triggerPortainer:
image: ocram85/portainer-serviceupdate
settings:
VERBOSE: true
URI: "https://portainer.ocram85.com"
TOKEN:
from_secret: NEXT_TOKEN
when:
event: pull_request

View File

@ -1,12 +0,0 @@
pipeline:
testDockerfile:
image: woodpeckerci/plugin-docker-buildx
settings:
dry_run: true
registry: gitea.ocram85.com
repo: gitea.ocram85.com/codeserver/arkanum
dockerfile: Dockerfile
tags: next
build_args:
- VERSION=${CI_COMMIT_TAG:-PR ${CI_COMMIT_PULL_REQUEST}}
- TAG=${CI_COMMIT_TAG}

95
.woodpecker/ci.yml Normal file
View File

@ -0,0 +1,95 @@
when:
- event: [pull_request, tag, cron]
- event: push
branch:
- ${CI_REPO_DEFAULT_BRANCH}
variables:
- &build_plugin 'woodpeckerci/plugin-docker-buildx:4.0.0'
# deployment targets
- &publish_repos 'ocram85/arkanum,gitea.ocram85.com/arkanum/arkanum,ghcr.io/ocram85/arkanum,codeberg.org/codeserver/arkanum'
# logins for deployment targets
- publish_logins: &publish_logins
# Default DockerHub login
- registry: https://index.docker.io/v1/
username:
from_secret: docker_user
password:
from_secret: docker_passwd
# Additional Quay.IO login
- registry: https://gitea.ocram85.com
username:
from_secret: gitea_user
password:
from_secret: gitea_passwd
# GitHub Container Registry
- registry: https://ghcr.io
username:
from_secret: github_user
password:
from_secret: github_passwd
# Codeberg
- registry: https://codeberg.org
username:
from_secret: codeberg_user
password:
from_secret: codeberg_passwd
steps:
test:
image: *build_plugin
settings:
dry_run: true
registry: gitea.ocram85.com
repo: test
dockerfile: Dockerfile
platforms: linux/amd64
auto_tag: true
build_args:
- VERSION=${CI_COMMIT_TAG:-PR ${CI_COMMIT_PULL_REQUEST}}
- TAG=${CI_COMMIT_TAG}
when:
event: pull_request
branch: ${CI_REPO_DEFAULT_BRANCH}
publish:
image: *build_plugin
settings:
repo: *publish_repos
dockerfile: Dockerfile
platforms: linux/amd64
auto_tag: true
logins: *publish_logins
build_args:
- VERSION=${CI_COMMIT_TAG:-PR ${CI_COMMIT_PULL_REQUEST}}
- TAG=${CI_COMMIT_TAG}
when:
event: [push, tag, cron]
branch: ${CI_REPO_DEFAULT_BRANCH}
build-next:
image: *build_plugin
settings:
repo: *publish_repos
dockerfile: Dockerfile
platforms: linux/amd64
tag: next
logins: *publish_logins
build_args:
- VERSION=${CI_COMMIT_TAG:-PR ${CI_COMMIT_PULL_REQUEST}}
- TAG=${CI_COMMIT_TAG}
when:
event: [pull_request]
gitea-release:
image: plugins/gitea-release
settings:
api_key:
from_secret: ci_token
base_url: https://gitea.ocram85.com
title: ${CI_COMMIT_TAG}
note: "> :bulb: **Note:** Please refer to See [CHANGELOG.md](src/branch/${CI_REPO_DEFAULT_BRANCH}/CHANGELOG.md) for details."
when:
event: [tag]
branch: ${CI_REPO_DEFAULT_BRANCH}

69
.woodpecker/docs.yml Normal file
View File

@ -0,0 +1,69 @@
when:
- event: [pull_request, tag, cron]
- event: push
branch:
- ${CI_REPO_DEFAULT_BRANCH}
variables:
- &build_plugin 'woodpeckerci/plugin-docker-buildx:3.2.1'
# deployment targets
- &publish_repos 'ocram85/arkanum-docs,gitea.ocram85.com/arkanum/arkanum-docs'
# logins for deployment targets
- publish_logins: &publish_logins
# Default DockerHub login
- registry: https://index.docker.io/v1/
username:
from_secret: docker_user
password:
from_secret: docker_passwd
# Additional Quay.IO login
- registry: https://gitea.ocram85.com
username:
from_secret: gitea_user
password:
from_secret: gitea_passwd
steps:
test:
image: *build_plugin
settings:
dry_run: true
registry: gitea.ocram85.com
repo: test
dockerfile: Dockerfile.vitepress
platforms: linux/amd64
auto_tag: true
build_args:
- VERSION=${CI_COMMIT_TAG:-PR ${CI_COMMIT_PULL_REQUEST}}
- TAG=${CI_COMMIT_TAG}
when:
event: pull_request
branch: ${CI_REPO_DEFAULT_BRANCH}
publish:
image: *build_plugin
settings:
repo: *publish_repos
dockerfile: Dockerfile.vitepress
platforms: linux/amd64
auto_tag: true
logins: *publish_logins
build_args:
- VERSION=${CI_COMMIT_TAG:-PR ${CI_COMMIT_PULL_REQUEST}}
- TAG=${CI_COMMIT_TAG}
when:
event: [push, tag, cron]
branch: ${CI_REPO_DEFAULT_BRANCH}
build-next:
image: *build_plugin
settings:
repo: *publish_repos
dockerfile: Dockerfile.vitepress
platforms: linux/amd64
tag: next
logins: *publish_logins
build_args:
- VERSION=${CI_COMMIT_TAG:-PR ${CI_COMMIT_PULL_REQUEST}}
- TAG=${CI_COMMIT_TAG}
when:
event: [pull_request]

View File

@ -1,83 +1,145 @@
## [v0.1.0](https://gitea.ocram85.com/CodeServer/arkanum/releases/tag/v0.1.0) - 2022-11-25 ## [v1.5.1](https://gitea.ocram85.com/arkanum/arkanum/releases/tag/v1.5.1) - 2024-05-22
* 📦 BUILD
* sync pipeline build args (#28)
* 📚 DOCS
* adds Readme content to prepare Github mirror (#26)
## [v0.0.1](https://gitea.ocram85.com/CodeServer/arkanum/releases/tag/v0.0.1) - 2022-11-22
* 🐛 BUGFIXES * 🐛 BUGFIXES
* fixes logo size (#22) * Fix starship prompt installation (#95)
* ✨ FEATURES * ✨ FEATURES
* adds FiraCode NerdFont (#9) * Add Arkanum.dev site with docs (#97)
* adds setCode helper (#6)
* add system gitconfig (#4)
* add bash-completion and motd handling (#2)
* 🛠️ ENHANCEMENTS
* Splits extension install into seperate function (#23)
* Adds readme content (#21)
* Rename install script to arkanum (#18)
* adds missing packages required by dotnet (#3)
* 📦 BUILD
* set image labels (#24)
* 🤖 DEPENDENCIES * 🤖 DEPENDENCIES
* Adds renovate-bot (#11) * Chore(deps): update woodpeckerci/plugin-docker-buildx docker tag to v4 (#98)
* update baseimage 4.8.3 (#5) * Chore(deps): update quay.io/linuxserver.io/code-server docker tag to v4.89.0 (#96)
* 📚 DOCS * Chore(deps): update woodpeckerci/plugin-docker-buildx docker tag to v3 (#93)
* update refs in Readme (#17) * Chore(deps): update quay.io/linuxserver.io/code-server docker tag to v4.22.1 (#91)
* Updates Readme content (#7)
* ⚙️ META
* adds AGPLv3 license (#20)
* Adds gitea changelog config (#19)
* rename project to Arkanum (#16)
* update PR template wording (#15)
* Add woodpecker manager in renovate-bot (#14)
* fixes logo file path (#8)
* Adds basic container setup with pipeline (#1)
## [v0.1.1](https://gitea.ocram85.com/CodeServer/arkanum/releases/tag/v0.1.1) - 2023-01-02 ## [v1.5.0](https://gitea.ocram85.com/arkanum/arkanum/releases/tag/v1.5.0) - 2024-02-09
* 📦 BUILD - 🛠️ ENHANCEMENTS
* fix woodpecker fileMatch regex (#30) - Always install latest extension version (#85)
* 🤖 DEPENDENCIES - 🤖 DEPENDENCIES
* Update renovate/renovate Docker tag to v34.77 (#35) - Update quay.io/linuxserver.io/code-server Docker tag to v4.20.1 (#88)
* fix renovate config keys (#34) - Update quay.io/linuxserver.io/code-server Docker tag to v4.20.0 (#86)
* Update renovate/renovate Docker tag to v34.62 (#33) - ⚙️ META
* Update renovate/renovate Docker tag to v34.57 (#32) - Add more gitignore items (#89)
## [v0.2.0](https://gitea.ocram85.com/CodeServer/arkanum/releases/tag/v0.2.0) - 2023-01-04 ## [v1.0.2](https://gitea.ocram85.com/arkanum/arkanum/releases/tag/v1.0.2) - 2023-12-18
* 🐛 BUGFIXES - ✨ FEATURES
* fix typo (#39) - Add bun installer (#81)
* 🛠️ ENHANCEMENTS - 🛠️ ENHANCEMENTS
* Add proxy support (#38) - Bump golang version (#80)
* 🤖 DEPENDENCIES - Bump default extensions version (#76)
* Update renovate/renovate Docker tag to v34.82 (#37) - 📦 BUILD
* Update quay.io/linuxserver.io/code-server Docker tag to v4.9.1 (#31) - Upd/woodpeckerPluging (#79)
- 🤖 DEPENDENCIES
- Update quay.io/linuxserver.io/code-server Docker tag to v4.19.1 (#77)
- 📚 DOCS
- Fix typo in arkanum cli help (#78)
- ⚙️ META
- Updatest gitea meta files (#75)
## [v0.3.0](https://gitea.ocram85.com/CodeServer/arkanum/releases/tag/v0.3.0) - 2023-03-30 ## [v1.0.1](https://gitea.ocram85.com/arkanum/arkanum/releases/tag/v1.0.1) - 2023-11-12
* 🛠️ ENHANCEMENTS - 🐛 BUGFIXES
* Add tea cli in gitea block (#41) - Fix pwsh install package (#72)
* 📦 BUILD - 📦 BUILD
* Remove repo defined renovate (#44) - Avoid duplicate ci runs (#73)
* 🤖 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.18.0 (#70)
* 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 ## [v1.0.0](https://gitea.ocram85.com/arkanum/arkanum/releases/tag/v1.0.0) - 2023-09-15
* 🤖 DEPENDENCIES - 🐛 BUGFIXES
* Update quay.io/linuxserver.io/code-server Docker tag to v4.14.1 (#47) - Fix git config arguments (#68)
- Fix NodeJs install bug (#67)
- Fix pwsh install when called as first command (#60)
- Fix missing volta command (#58)
- 🛠️ ENHANCEMENTS
- Extends arkanum command and option structure (#62)
- 📦 BUILD
- Add addiontal container image deployment targets (#63)
- 🤖 DEPENDENCIES
- Update quay.io/linuxserver.io/code-server Docker tag to v4.16.1 (#59)
- Update quay.io/linuxserver.io/code-server Docker tag to v4.15.0 (#57)
## [v0.4.0](https://gitea.ocram85.com/CodeServer/arkanum/releases/tag/v0.4.0) - 2023-07-19 ## [v0.4.0](https://gitea.ocram85.com/arkanum/arkanum/releases/tag/v0.4.0) - 2023-07-19
* 🐛 BUGFIXES - 🐛 BUGFIXES
* Fix shellcheck issues (#55) - Fix shellcheck issues (#55)
* Disable starship python module (#52) - Disable starship python module (#52)
* ✨ FEATURES - ✨ FEATURES
* Add docker-cli (#54) - Add docker-cli (#54)
* Adds Volta as default version manager for NodeJs (#53) - Adds Volta as default version manager for NodeJs (#53)
* 🛠️ ENHANCEMENTS - 🛠️ ENHANCEMENTS
* Bump go version (#49) - Bump go version (#49)
## [v0.3.1](https://gitea.ocram85.com/arkanum/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.3.0](https://gitea.ocram85.com/arkanum/arkanum/releases/tag/v0.3.0) - 2023-03-30
- 🛠️ ENHANCEMENTS
- Add tea cli in gitea block (#41)
- 📦 BUILD
- Remove repo defined renovate (#44)
- 🤖 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.10.0 (#43)
## [v0.2.0](https://gitea.ocram85.com/arkanum/arkanum/releases/tag/v0.2.0) - 2023-01-04
- 🐛 BUGFIXES
- fix typo (#39)
- 🛠️ ENHANCEMENTS
- Add proxy support (#38)
- 🤖 DEPENDENCIES
- Update renovate/renovate Docker tag to v34.82 (#37)
- Update quay.io/linuxserver.io/code-server Docker tag to v4.9.1 (#31)
## [v0.1.1](https://gitea.ocram85.com/arkanum/arkanum/releases/tag/v0.1.1) - 2023-01-02
- 📦 BUILD
- fix woodpecker fileMatch regex (#30)
- 🤖 DEPENDENCIES
- Update renovate/renovate Docker tag to v34.77 (#35)
- fix renovate config keys (#34)
- Update renovate/renovate Docker tag to v34.62 (#33)
- Update renovate/renovate Docker tag to v34.57 (#32)
## [v0.1.0](https://gitea.ocram85.com/arkanum/arkanum/releases/tag/v0.1.0) - 2022-11-25
- 📦 BUILD
- sync pipeline build args (#28)
- 📚 DOCS
- adds Readme content to prepare Github mirror (#26)
## [v0.0.1](https://gitea.ocram85.com/arkanum/arkanum/releases/tag/v0.0.1) - 2022-11-22
- 🐛 BUGFIXES
- fixes logo size (#22)
- ✨ FEATURES
- adds FiraCode NerdFont (#9)
- adds setCode helper (#6)
- add system gitconfig (#4)
- add bash-completion and motd handling (#2)
- 🛠️ ENHANCEMENTS
- Splits extension install into seperate function (#23)
- Adds readme content (#21)
- Rename install script to arkanum (#18)
- adds missing packages required by dotnet (#3)
- 📦 BUILD
- set image labels (#24)
- 🤖 DEPENDENCIES
- Adds renovate-bot (#11)
- update baseimage 4.8.3 (#5)
- 📚 DOCS
- update refs in Readme (#17)
- Updates Readme content (#7)
- ⚙️ META
- adds AGPLv3 license (#20)
- Adds gitea changelog config (#19)
- rename project to Arkanum (#16)
- update PR template wording (#15)
- Add woodpecker manager in renovate-bot (#14)
- fixes logo file path (#8)
- Adds basic container setup with pipeline (#1)

7
Caddyfile Normal file
View File

@ -0,0 +1,7 @@
:8080 {
bind 0.0.0.0
root * /arkanum-docs
encode gzip zstd
try_files {path}.html {path} /
file_server
}

View File

@ -1,4 +1,4 @@
FROM quay.io/linuxserver.io/code-server:4.16.1 FROM quay.io/linuxserver.io/code-server:4.89.0
#LABEL build_version="" #LABEL build_version=""
LABEL maintainer="OCram85" LABEL maintainer="OCram85"
@ -13,26 +13,31 @@ LABEL org.opencontainers.image.licenses="AGPL-3.0"
ARG TAG ARG TAG
LABEL org.opencontainers.image.version="${TAG}" LABEL org.opencontainers.image.version="${TAG}"
LABEL org.opencontainers.image.url="https://gitea.ocram85.com/CodeServer/arkanum" LABEL org.opencontainers.image.url="https://gitea.ocram85.com/arkanum/arkanum"
LABEL org.opencontainers.image.source="https://gitea.ocram85.com/CodeServer/arkanum.git" LABEL org.opencontainers.image.source="https://gitea.ocram85.com/arkanum/arkanum.git"
LABEL org.opencontainers.image.documentation="https://gitea.ocram85.com/CodeServer/arkanum" LABEL org.opencontainers.image.documentation="https://gitea.ocram85.com/arkanum/arkanum"
#region starship
RUN \ RUN \
echo "**** install starship prompt ****" && \ echo "**** install starship prompt ****" && \
curl -sS https://starship.rs/install.sh | sh -s -- -f && \ curl -sS -o /tmp/install.sh https://starship.rs/install.sh && \
chmod +x /tmp/install.sh && \
/tmp/install.sh --verbose --force --version latest && \
rm -f /tmp/install.sh && \
echo "eval \"\$(starship init bash)\"" >> /etc/bash.bashrc echo "eval \"\$(starship init bash)\"" >> /etc/bash.bashrc
ENV STARSHIP_CONFIG=/etc/starship.toml ENV STARSHIP_CONFIG=/etc/starship.toml
COPY starship.toml /etc/starship.toml COPY starship.toml /etc/starship.toml
#endregion starship
#region git
ADD gitconfig-system /etc/gitconfig ADD gitconfig-system /etc/gitconfig
RUN \ RUN \
echo "**** setup git ****" && \ echo "**** setup git ****" && \
# using prepared systemwide config file instead.
#git config --system credential.helper store && \
echo 'source /usr/share/bash-completion/completions/git' >> /etc/bash.bashrc echo 'source /usr/share/bash-completion/completions/git' >> /etc/bash.bashrc
#endregion git
#region cli
ADD arkanum /usr/bin/ ADD arkanum /usr/bin/
ADD arkanum-completion /etc/bash_completion.d/ ADD arkanum-completion /etc/bash_completion.d/
RUN \ RUN \
@ -43,8 +48,11 @@ RUN \
echo "if [[ ! -e \"$HOME/data/User/settings.json\" ]]; then arkanum config install-extensions && arkanum config reset-codesettings && \ echo "if [[ ! -e \"$HOME/data/User/settings.json\" ]]; then arkanum config install-extensions && arkanum config reset-codesettings && \
echo -e \"🧙 \\e[32markanum\\e[0m: Please reload Arkanum to finalize the setup...\" && read foo; fi" >> /etc/bash.bashrc && \ echo -e \"🧙 \\e[32markanum\\e[0m: Please reload Arkanum to finalize the setup...\" && read foo; fi" >> /etc/bash.bashrc && \
echo "if [[ -e \"$HOME/enable_motd\" ]]; then echo -e \"Use 🧙 \\e[32m'arkanum'\\e[0m to install missing runtimes like dotnet or NodeJs.\"; fi" >> /etc/bash.bashrc echo "if [[ -e \"$HOME/enable_motd\" ]]; then echo -e \"Use 🧙 \\e[32m'arkanum'\\e[0m to install missing runtimes like dotnet or NodeJs.\"; fi" >> /etc/bash.bashrc
#endregion cli
#region firacode
WORKDIR /app/code-server/lib/vscode/out/vs/workbench WORKDIR /app/code-server/lib/vscode/out/vs/workbench
ADD FiraCode/fonts/* ./fonts/ ADD FiraCode/fonts/* ./fonts/
ADD FiraCode/fonts.css ./ ADD FiraCode/fonts.css ./
RUN cat fonts.css >> workbench.web.main.css RUN cat fonts.css >> workbench.web.main.css
#endregion firacode

14
Dockerfile.vitepress Normal file
View File

@ -0,0 +1,14 @@
FROM oven/bun:1 as builder
COPY . /app
WORKDIR /app
ENV NODE_ENV=production
RUN bun install --frozen-lockfile
RUN bun run --vite docs:build
FROM caddy:2.7.6-alpine as prod
COPY --from=builder /app/docs/.vitepress/dist/ /arkanum-docs/
COPY Caddyfile /etc/caddy
HEALTHCHECK --interval=15s --timeout=3s \
CMD wget --no-verbose --tries=1 --spider http://localhost:8080/ || exit 1

View File

@ -1,12 +1,7 @@
<p align="right">
<img src="http://forthebadge.com/images/badges/built-with-love.svg">
<img src="http://forthebadge.com/images/badges/for-you.svg">
</p>
<p align="center"> <p align="center">
<a href="https://gitea.ocram85.com/CodeServer/arkanum/"> <a href="https://gitea.ocram85.com/arkanum/arkanum/">
<img <img
src="assets/social-logo.png" src="https://gitea.ocram85.com/arkanum/arkanum/raw/branch/master/assets/social-logo.png"
alt="Container" alt="Container"
> >
</a> </a>
@ -21,8 +16,8 @@
</p> </p>
<p align="center"> <p align="center">
<a href="https://ci.ocram85.com/CodeServer/arkanum"> <a href="https://ci.ocram85.com/arkanum/arkanum">
<img src="https://ci.ocram85.com/api/badges/CodeServer/arkanum/status.svg" alt="Master Branch Build Status"> <img src="https://ci.ocram85.com/api/badges/arkanum/arkanum/status.svg" alt="Master Branch Build Status">
</a> </a>
</p> </p>
@ -30,13 +25,22 @@
### 1. ⚡ Get the image 📦 ### 1. ⚡ Get the image 📦
You can download the image from the gitea embedded container registry: `gitea.ocram85.com/codeserver/arkanum` with these tags: You can download the image from the gitea embedded container registry: `gitea.ocram85.com/arkanum/arkanum` with these tags:
- `latest` - Is based on the lasted master branch commit. - `latest` - Is based on the lasted master branch commit.
- `next` - Is a test build based on the pull request - `next` - Is a test build based on the pull request
- `1`, `0.1`, `0.1.0` - tag based version. - `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.** > **💡 NOTE: See the [packages page](https://gitea.ocram85.com/arkanum/-/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 ### 2.a Run as Docker Swarm Stack
@ -52,10 +56,10 @@ Therefore you need
> a trusted + **secure https connection**. > a trusted + **secure https connection**.
```yaml ```yaml
version: "3.8" version: '3.8'
services: services:
arkanum: arkanum:
image: gitea.ocram85.com/codeserver/arkanum:0.4.0 image: gitea.ocram85.com/arkanum/arkanum:1
environment: environment:
- PUID=1000 - PUID=1000
- PGID=1000 - PGID=1000
@ -69,11 +73,11 @@ services:
deploy: deploy:
replicas: 1 replicas: 1
labels: labels:
- "traefik.enable=true" - 'traefik.enable=true'
- "traefik.docker.network=traefik-public" - 'traefik.docker.network=traefik-public'
- "traefik.http.routers.arkanum.rule=Host(`vscode.mydomain.com`)" - 'traefik.http.routers.arkanum.rule=Host(`vscode.mydomain.com`)'
- "traefik.http.routers.arkanum.tls.certresolver=myresolver" - 'traefik.http.routers.arkanum.tls.certresolver=myresolver'
- "traefik.http.services.arkanum-srv.loadbalancer.server.port=8443" - 'traefik.http.services.arkanum-srv.loadbalancer.server.port=8443'
volumes: volumes:
# store workspace and use config in volume. # store workspace and use config in volume.
- codedata:/config - codedata:/config
@ -96,6 +100,7 @@ networks:
``` ```
> 💡 NOTE: For advanced config with additional environment variables see [linuxserver/docker-code-server](https://github.com/linuxserver/docker-code-server) help. > 💡 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 ### 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. This is a basic example for a `docker-compose` file from the [linuxserver/docker-code-server](https://github.com/linuxserver/docker-code-server) project.
@ -104,10 +109,10 @@ See their [docs](https://github.com/linuxserver/docker-code-server#parameters) a
```yaml ```yaml
--- ---
version: "3.8" version: '3.8'
services: services:
arkanum: arkanum:
image: gitea.ocram85.com/codeserver/arkanum:0.4.0 image: gitea.ocram85.com/arkanum/arkanum:1
container_name: code-server container_name: code-server
environment: environment:
- PUID=1000 - PUID=1000
@ -131,8 +136,7 @@ services:
After summon Arkanum your first steps should be to set your username and email in the git config: After summon Arkanum your first steps should be to set your username and email in the git config:
```bash ```bash
git config --global user.name "username" arkanum git setup "my-name" "my-email"
git config --global user.email "email address"
``` ```
And that's it. Now you're ready use arkanum as your daily remote code editor. 😄 And that's it. Now you're ready use arkanum as your daily remote code editor. 😄
@ -140,9 +144,9 @@ And that's it. Now you're ready use arkanum as your daily remote code editor.
## 📖 Content ## 📖 Content
<p align="center"> <p align="center">
<a href="https://gitea.ocram85.com/CodeServer/arkanum/"> <a href="https://gitea.ocram85.com/arkanum/arkanum/">
<img <img
src="assets/screen1.png" src="https://gitea.ocram85.com/arkanum/arkanum/raw/branch/master/assets/screen1.png"
alt="Screenshot1" alt="Screenshot1"
> >
</a> </a>
@ -196,6 +200,7 @@ This helps reducing the image size.
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.
bun Installs latest bun version.
nodejs Installs latest NodeJs LTS version using Volta. nodejs Installs latest NodeJs LTS version using Volta.
volta Installs Volta as NodeJS version manager. volta Installs Volta as NodeJS version manager.
powershell Installs latest PowerShell LTS version. powershell Installs latest PowerShell LTS version.
@ -204,6 +209,7 @@ This helps reducing the image size.
Example 2: arkanum install golang Example 2: arkanum install golang
Example 3: arkanum config disable-motd Example 3: arkanum config disable-motd
``` ```
### 📝 Fira Code (NerdFont patched) ### 📝 Fira Code (NerdFont patched)
Added FiraCode as default font in editor and integrated terminal. The font files are embedded and can be used without local installation. Added FiraCode as default font in editor and integrated terminal. The font files are embedded and can be used without local installation.
@ -215,13 +221,13 @@ If your start the container or log in the first time, a default config file is d
This user setting defines the following stuff: This user setting defines the following stuff:
- Use compact menu bar to avoid users with multiple menu bars. - Use compact menu bar to avoid users with multiple menu bars.
- Use *One Dark Pro Darker* theme - Use _One Dark Pro Darker_ theme
- Use *vscode-icons* icon set - 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. - Tries to use alternate font names for FiraCode if its locally available.
- Sets FiraCode mono variant in terminal to enable icons used by starship prompt. - Sets FiraCode mono variant in terminal to enable icons used by starship prompt.
- Enables font ligatures - Enables font ligatures
- Enables *auto save* and *format on save*. - Enables _auto save_ and _format on save_.
- Disables auto update for extension. - Disables auto update for extension.
- Disables VSCode telemetry - Disables VSCode telemetry
- Disable confirm message for sync branches. - Disable confirm message for sync branches.
@ -246,18 +252,19 @@ following command:
```bash ```bash
# restart the installation # restart the installation
arkanum --install-extensions arkanum config install-extensions
# Optional: reset the vscode user setting # Optional: reset the vscode user setting
arkanum --reset-codesetting arkanum config reset-codesettings
# Reload with command F1 + Developer: Reload Window # Reload with command F1 + Developer: Reload Window
``` ```
## 😡 We're Using GitHub Under Protest ## 😡 We're Using GitHub Under Protest
This project is currently **mirrored** to GitHub. This is not ideal; GitHub is a 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 proprietary, trade-secret system that is not Free and Open Source Software
(FOSS). We are deeply concerned about using a proprietary system like GitHub (FOSS). We are deeply concerned about using a proprietary system like GitHub
to develop our FOSS project. We have an to develop our FOSS project. We have an
[open Gitea repository ](https://gitea.ocram85.com/CodeServer/arkanum/issues) where the [open Gitea repository](https://gitea.ocram85.com/arkanum/arkanum/issues) where the
project contributors are actively discussing how we can move away from GitHub project contributors are actively discussing how we can move away from GitHub
in the long term. We urge you to read about the in the long term. We urge you to read about the
[Give up GitHub](https://GiveUpGitHub.org) campaign from [Give up GitHub](https://GiveUpGitHub.org) campaign from
@ -265,7 +272,7 @@ in the long term. We urge you to read about the
some of the reasons why GitHub is not a good place to host FOSS projects. 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 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 [check this resource](https://gitea.ocram85.com/arkanum/arkanum) for how to send us contributions without
using GitHub directly. using GitHub directly.
Any use of this project's code by GitHub Copilot, past or present, is done Any use of this project's code by GitHub Copilot, past or present, is done
@ -280,14 +287,14 @@ 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]` - [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]` - [coder/code-server](https://github.com/coder/code-server) - VSCode on a remote server, accessible through the browser. `[MIT]`
- [linuxserver/docker-code-server](https://github.com/linuxserver/docker-code-server) - docker image based for *coder/code-server*. `[GPL-3.0]` - [linuxserver/docker-code-server](https://github.com/linuxserver/docker-code-server) - docker image based for _coder/code-server_. `[GPL-3.0]`
- A huge thanks to tuanpham for sharing his [code-server font patch](https://github.com/tuanpham-dev/code-server-font-patch). - A huge thanks to tuanpham for sharing his [code-server font patch](https://github.com/tuanpham-dev/code-server-font-patch).
## ⚖️ License (AGPLv3) ## ⚖️ License (AGPLv3)
![AGPL](https://www.gnu.org/graphics/agplv3-155x51.png) ![AGPL](https://www.gnu.org/graphics/agplv3-155x51.png)
``` ```text
Arkanum - Code-Server container optimized for daily use. Arkanum - Code-Server container optimized for daily use.
Copyright (C) 2022 "OCram85 <me@ocram85.com>" Copyright (C) 2022 "OCram85 <me@ocram85.com>"

86
arkanum
View File

@ -2,6 +2,7 @@
set -e set -e
# region usage
function showHelp() { function showHelp() {
cat << HELP cat << HELP
🧙 arkanum ✨🌌☄️💥 is used to install optional tools for developing in a 🧙 arkanum ✨🌌☄️💥 is used to install optional tools for developing in a
@ -17,7 +18,7 @@ function showHelp() {
OPTION OPTION
config: config:
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.
reset-codesettings Sets VS Code user setting with basic (Fira Code). reset-codesettings Sets VS Code user setting with basic (Fira Code).
git: git:
@ -28,8 +29,9 @@ function showHelp() {
install: install:
docker-cli Installs the latest docker-cli. 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 changelog and tea.
golang Installs golang 1.19.3. golang Installs golang 1.21.5.
bun Installs latest bun version.
nodejs Installs latest NodeJs LTS version using Volta. nodejs Installs latest NodeJs LTS version using Volta.
volta Installs Volta as NodeJS version manager. volta Installs Volta as NodeJS version manager.
powershell Installs latest PowerShell LTS version. powershell Installs latest PowerShell LTS version.
@ -39,6 +41,7 @@ function showHelp() {
Example 3: arkanum config disable-motd Example 3: arkanum config disable-motd
HELP HELP
} }
# endregion usage
function disableMotd() { function disableMotd() {
if [[ -e "$HOME/enable_motd" ]]; then if [[ -e "$HOME/enable_motd" ]]; then
@ -120,7 +123,7 @@ function instDotNet() {
function instGoLang() { function instGoLang() {
if [[ -z "$1" ]]; then if [[ -z "$1" ]]; then
GOVERSION="1.20.6" GOVERSION="1.21.5"
else else
GOVERSION="$1" GOVERSION="$1"
fi fi
@ -138,24 +141,22 @@ function instGoLang() {
say "Please reload bash profile to finalize." "GoLang" say "Please reload bash profile to finalize." "GoLang"
} }
function instNodeJs() { function instBun() {
say "Adding nodesource package source (NodeJS LTS)..." "NodeJs" say "Installing Bun requirements..." "Bun"
curl -#fSL https://deb.nodesource.com/setup_lts.x | sudo -E bash - sudo -E apt-get update > /dev/null
say "Updating package lists and installing NodeJS LTS..." "NodeJs"
sudo -E apt-get install --no-install-recommends -y \ sudo -E apt-get install --no-install-recommends -y \
nodejs unzip
say "Cleaning up..." "NodeJs"
sudo -E apt-get clean sudo -E apt-get clean
sudo rm -rf \ say "Installing Bun binaries..." "Bun"
/tmp/* \ curl -#fSL https://bun.sh/install | bash
/var/lib/apt/lists/* \ say "Adding bun binary to profile..." "Bun"
/var/tmp/* echo 'export BUN_INSTALL=$HOME/.bun' | sudo tee -a /etc/bash.bashrc > /dev/null
echo 'export PATH=$BUN_INSTALL/bin:$PATH' | sudo tee -a /etc/bash.bashrc > /dev/null
say "done." "NodeJs" say "done." "Bun"
say "Please reload bash profile to finalize." "Bun"
} }
function instNodeJS2() { function instNodeJs() {
say "Installing NodeJS LTS via Volta..." "NodeJS" say "Installing NodeJS LTS via Volta..." "NodeJS"
volta install node@lts volta install node@lts
say "done." "NodeJS" say "done." "NodeJS"
@ -186,7 +187,7 @@ function instPwsh() {
say "Installing PowerShell..." "PowerShell" say "Installing PowerShell..." "PowerShell"
# Install PowerShell # Install PowerShell
sudo -E apt-get install --no-install-recommends -y powershell sudo -E apt-get install --no-install-recommends -y powershell-lts
say "done." "PowerShell" say "done." "PowerShell"
} }
@ -210,36 +211,25 @@ function instGiteaTools() {
} }
function instCodeExtension() { function instCodeExtension() {
say "Downloading required extensions...." "Extension" say "Installing default extensions...." "Extension"
# Gitlens # Gitlens
say "Downloading 'gitlens'..." "Extension"
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 eamodio.gitlens --force
say "Cleaning up 'gitlens' install files" "Extension"
rm -f /tmp/eamodio.gitlens-13.1.1.vsix
# OneDarkPro # OneDarkPro
say "Downloading 'One Dark Pro' theme..." "Extension"
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 zhuangtongfa.material-theme --force
say "Cleaning up 'One Dark Pro' install files" "Extension"
rm -f /tmp/zhuangtongfa.material-theme-3.15.6.vsix
# vscode-icons # vscode-icons
say "Downloading 'vscode-icons' theme..." "Extension"
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 vscode-icons-team.vscode-icons --force
say "Cleaning up 'vscode-icons' install files" "Extension"
rm -f /tmp/vscode-icons-team.vscode-icons-12.0.1.vsix
say "done." "Extension" say "done." "Extension"
} }
function setCodeSettings() { function setCodeSettings() {
CODEFILE="$HOME/data/User/settings.json" CODEFILE="$HOME/data/User/settings.json"
#region code-settings
# VSCode user settings file # VSCode user settings file
say "Setting VScode base settings.($CODEFILE)" "VSCode" say "Setting VScode base settings.($CODEFILE)" "VSCode"
cat <<EOF | tee "$CODEFILE" cat <<EOF | tee "$CODEFILE"
@ -256,17 +246,29 @@ function setCodeSettings() {
"telemetry.telemetryLevel": "off" "telemetry.telemetryLevel": "off"
} }
EOF EOF
#endregion code-settings
say "done." "VSCode" say "done." "VSCode"
} }
function setGitConfig() { function setGitConfig() {
if [[ "$#" != "2" ]]; then #echo "function arg counter is; $#"
sayE "Invalid arguments given. Please provide '<user>' and 'email'!" "Git" #echo "function args:$@"
if [[ "$#" != "4" ]]; then
sayE "Invalid arguments given. Please provide '<user>' and '<email>'!" "Git"
exit 1
fi
if [[ -z "$3" ]]; then
sayE "Invalid or empty username given!" "Git"
exit 1
fi
if [[ -z "$4" ]]; then
sayE "Invalid or empty email given!" "Git"
exit 1 exit 1
fi fi
say "Setting global git config..." "Git" say "Setting global git config..." "Git"
git config --global user.name "$1" git config --global user.name "$3"
git config --global user.email "$2" git config --global user.email "$4"
say "Returning global config:" "Git" say "Returning global config:" "Git"
git config --list --global git config --list --global
} }
@ -304,7 +306,7 @@ function main() {
elif [[ "$1" == "git" ]]; then elif [[ "$1" == "git" ]]; then
# setup option # setup option
if [[ "$2" == "setup" ]]; then if [[ "$2" == "setup" ]]; then
setGitConfig "$3" "$4" setGitConfig "$@"
else else
sayE "Unknown option ($2) given for command 'git'!" sayE "Unknown option ($2) given for command 'git'!"
fi fi
@ -317,6 +319,8 @@ function main() {
instDotNet instDotNet
elif [[ "$2" == "golang" ]]; then elif [[ "$2" == "golang" ]]; then
instGoLang "$3" instGoLang "$3"
elif [[ "$2" == "bun" ]]; then
instBun
elif [[ "$2" == "nodejs" ]]; then elif [[ "$2" == "nodejs" ]]; then
instVolta instVolta
instNodeJs instNodeJs

View File

@ -24,7 +24,7 @@ function _command_completions() {
;; ;;
install) install)
# shellcheck disable=2207,SC2086 # shellcheck disable=2207,SC2086
COMPREPLY=($(compgen -W "docker-cli dotnet golang nodejs volta powershell gitea" -- ${cur})) COMPREPLY=($(compgen -W "docker-cli dotnet golang bun nodejs volta powershell gitea" -- ${cur}))
;; ;;
help) help)
;; ;;

View File

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 106 KiB

BIN
bun.lockb Executable file

Binary file not shown.

View File

@ -0,0 +1,53 @@
import { defineConfig } from 'vitepress'
import { devDependencies, version } from '../../package.json'
import navbar from './navbar.mjs'
import { SidebarItems } from './sidebar.mjs'
// https://vitepress.dev/reference/site-config
export default defineConfig({
title: 'Arkanum',
titleTemplate: '🧙 Arkanum',
description: 'An opinionated Code-Server distribution.',
lang: 'en-US',
head: [
['link', { rel: 'icon', href: '/favicon.png' }],
[
'script',
{
async: '',
defer: '',
src: 'https://umami.ocram85.com/script.js',
'data-website-id': 'e76d99a0-a185-4151-8a68-0fb44c6f0dc0',
'data-domains': 'arkanum.dev',
'data-do-not-track': 'true',
},
],
],
cleanUrls: true,
appearance: 'force-dark',
markdown: {
image: {
lazyLoading: true,
},
},
themeConfig: {
logo: '/logo.png',
outline: 'deep',
search: {
provider: 'local',
},
// https://vitepress.dev/reference/default-theme-config
nav: navbar.getItems(version),
sidebar: SidebarItems,
socialLinks: [{ icon: 'github', link: 'https://gitea.ocram85.com/arkanum/arkanum' }],
footer: {
message: 'Released under the AGPLv3 License.',
copyright: 'Copyright © 2022-present OCram85 <me@ocram85.com>',
},
editLink: {
pattern: 'https://gitea.ocram85.com/arkanum/arkanum/_edit/main/docs/:path',
text: 'Edit this page on Gitea',
},
},
})

View File

@ -0,0 +1,27 @@
function getItems(version) {
const ci = process.env.ci
const pr = process.env.CI_COMMIT_PULL_REQUEST
let nver = undefined
if (ci === 'woodpecker') {
if (pr !== null) {
nver = `${version}#${pr}`
}
} else {
nver = version
}
return [
{ text: 'Home', link: '/' },
{ text: 'Guide', link: '/guide/about' },
{
text: nver,
items: [{ text: 'Changelog', link: '/changelog' }],
},
]
}
export default {
getItems,
}

View File

@ -0,0 +1,30 @@
export const SidebarItems = {
'/guide/': { base: '/guide/', items: getGuide() },
}
function getGuide() {
return [
{
text: 'Guide',
//collapsed: false,
items: [
{ text: 'About', link: 'about' },
{ text: 'Getting Started', link: 'getting-started' },
{
text: 'Components',
items: [
{ text: 'Base Images', link: 'components/base-images' },
{ text: 'Included Packages', link: 'components/packages' },
{ text: 'Starship Prompt', link: 'components/starship' },
{ text: 'Git', link: 'components/git' },
{ text: 'Arkanum CLI', link: 'components/arkanum-cli' },
{ text: 'FiraCode Font', link: 'components/firacode' },
{ text: 'VSCode', link: 'components/vscode' },
],
},
{ text: 'Known Issues', link: 'known-issues' },
{ text: 'FAQs', link: 'faq' },
],
},
]
}

View File

@ -0,0 +1,17 @@
// https://vitepress.dev/guide/custom-theme
import { h } from 'vue'
import DefaultTheme from 'vitepress/theme'
import './style.css'
/** @type {import('vitepress').Theme} */
export default {
extends: DefaultTheme,
Layout: () => {
return h(DefaultTheme.Layout, null, {
// https://vitepress.dev/guide/extending-default-theme#layout-slots
})
},
enhanceApp({ app, router, siteData }) {
// ...
}
}

View File

@ -0,0 +1,139 @@
/**
* Customize default theme styling by overriding CSS variables:
* https://github.com/vuejs/vitepress/blob/main/src/client/theme-default/styles/vars.css
*/
/**
* Colors
*
* Each colors have exact same color scale system with 3 levels of solid
* colors with different brightness, and 1 soft color.
*
* - `XXX-1`: The most solid color used mainly for colored text. It must
* satisfy the contrast ratio against when used on top of `XXX-soft`.
*
* - `XXX-2`: The color used mainly for hover state of the button.
*
* - `XXX-3`: The color for solid background, such as bg color of the button.
* It must satisfy the contrast ratio with pure white (#ffffff) text on
* top of it.
*
* - `XXX-soft`: The color used for subtle background such as custom container
* or badges. It must satisfy the contrast ratio when putting `XXX-1` colors
* on top of it.
*
* The soft color must be semi transparent alpha channel. This is crucial
* because it allows adding multiple "soft" colors on top of each other
* to create a accent, such as when having inline code block inside
* custom containers.
*
* - `default`: The color used purely for subtle indication without any
* special meanings attched to it such as bg color for menu hover state.
*
* - `brand`: Used for primary brand colors, such as link text, button with
* brand theme, etc.
*
* - `tip`: Used to indicate useful information. The default theme uses the
* brand color for this by default.
*
* - `warning`: Used to indicate warning to the users. Used in custom
* container, badges, etc.
*
* - `danger`: Used to show error, or dangerous message to the users. Used
* in custom container, badges, etc.
* -------------------------------------------------------------------------- */
:root {
--vp-c-default-1: var(--vp-c-gray-1);
--vp-c-default-2: var(--vp-c-gray-2);
--vp-c-default-3: var(--vp-c-gray-3);
--vp-c-default-soft: var(--vp-c-gray-soft);
--vp-c-brand-1: #10b981;
--vp-c-brand-2: #0e9d6e;
--vp-c-brand-3: #11bc84;
--vp-c-brand-soft: rgba(16, 185, 129, 0.14);
--vp-c-tip-1: var(--vp-c-brand-1);
--vp-c-tip-2: var(--vp-c-brand-2);
--vp-c-tip-3: var(--vp-c-brand-3);
--vp-c-tip-soft: var(--vp-c-brand-soft);
--vp-c-warning-1: var(--vp-c-yellow-1);
--vp-c-warning-2: var(--vp-c-yellow-2);
--vp-c-warning-3: var(--vp-c-yellow-3);
--vp-c-warning-soft: var(--vp-c-yellow-soft);
--vp-c-danger-1: var(--vp-c-red-1);
--vp-c-danger-2: var(--vp-c-red-2);
--vp-c-danger-3: var(--vp-c-red-3);
--vp-c-danger-soft: var(--vp-c-red-soft);
}
/**
* Component: Button
* -------------------------------------------------------------------------- */
:root {
--vp-button-brand-border: transparent;
--vp-button-brand-text: var(--vp-c-white);
--vp-button-brand-bg: var(--vp-c-brand-3);
--vp-button-brand-hover-border: transparent;
--vp-button-brand-hover-text: var(--vp-c-white);
--vp-button-brand-hover-bg: var(--vp-c-brand-2);
--vp-button-brand-active-border: transparent;
--vp-button-brand-active-text: var(--vp-c-white);
--vp-button-brand-active-bg: var(--vp-c-brand-1);
}
/**
* Component: Home
* -------------------------------------------------------------------------- */
:root {
--vp-home-hero-name-color: transparent;
--vp-home-hero-name-background: -webkit-linear-gradient(
120deg,
#41d1ff 30%,
#10b981
);
--vp-home-hero-image-background-image: linear-gradient(
-45deg,
#47caff 50%,
#10b981 50%
);
--vp-home-hero-image-filter: blur(44px);
}
@media (min-width: 640px) {
:root {
--vp-home-hero-image-filter: blur(56px);
}
}
@media (min-width: 960px) {
:root {
--vp-home-hero-image-filter: blur(68px);
}
}
/**
* Component: Custom Block
* -------------------------------------------------------------------------- */
:root {
--vp-custom-block-tip-border: transparent;
--vp-custom-block-tip-text: var(--vp-c-text-1);
--vp-custom-block-tip-bg: var(--vp-c-brand-soft);
--vp-custom-block-tip-code-bg: var(--vp-c-brand-soft);
}
/**
* Component: Algolia
* -------------------------------------------------------------------------- */
.DocSearch {
--docsearch-primary-color: var(--vp-c-brand-1) !important;
}

View File

@ -0,0 +1,571 @@
/**
* Colors: Solid
* -------------------------------------------------------------------------- */
:root {
--vp-c-white: #ffffff;
--vp-c-black: #000000;
--vp-c-neutral: var(--vp-c-black);
--vp-c-neutral-inverse: var(--vp-c-white);
}
.dark {
--vp-c-neutral: var(--vp-c-white);
--vp-c-neutral-inverse: var(--vp-c-black);
}
/**
* Colors: Palette
*
* The primitive colors used for accent colors. These colors are referenced
* by functional colors such as "Text", "Background", or "Brand".
*
* Each colors have exact same color scale system with 3 levels of solid
* colors with different brightness, and 1 soft color.
*
* - `XXX-1`: The most solid color used mainly for colored text. It must
* satisfy the contrast ratio against when used on top of `XXX-soft`.
*
* - `XXX-2`: The color used mainly for hover state of the button.
*
* - `XXX-3`: The color for solid background, such as bg color of the button.
* It must satisfy the contrast ratio with pure white (#ffffff) text on
* top of it.
*
* - `XXX-soft`: The color used for subtle background such as custom container
* or badges. It must satisfy the contrast ratio when putting `XXX-1` colors
* on top of it.
*
* The soft color must be semi transparent alpha channel. This is crucial
* because it allows adding multiple "soft" colors on top of each other
* to create a accent, such as when having inline code block inside
* custom containers.
* -------------------------------------------------------------------------- */
:root {
--vp-c-gray-1: #dddde3;
--vp-c-gray-2: #e4e4e9;
--vp-c-gray-3: #ebebef;
--vp-c-gray-soft: rgba(142, 150, 170, 0.14);
--vp-c-indigo-1: #3451b2;
--vp-c-indigo-2: #3a5ccc;
--vp-c-indigo-3: #5672cd;
--vp-c-indigo-soft: rgba(100, 108, 255, 0.14);
--vp-c-purple-1: #6f42c1;
--vp-c-purple-2: #7e4cc9;
--vp-c-purple-3: #8e5cd9;
--vp-c-purple-soft: rgba(159, 122, 234, 0.14);
--vp-c-green-1: #18794e;
--vp-c-green-2: #299764;
--vp-c-green-3: #30a46c;
--vp-c-green-soft: rgba(16, 185, 129, 0.14);
--vp-c-yellow-1: #915930;
--vp-c-yellow-2: #946300;
--vp-c-yellow-3: #9f6a00;
--vp-c-yellow-soft: rgba(234, 179, 8, 0.14);
--vp-c-red-1: #b8272c;
--vp-c-red-2: #d5393e;
--vp-c-red-3: #e0575b;
--vp-c-red-soft: rgba(244, 63, 94, 0.14);
--vp-c-sponsor: #db2777;
}
.dark {
--vp-c-gray-1: #515c67;
--vp-c-gray-2: #414853;
--vp-c-gray-3: #32363f;
--vp-c-gray-soft: rgba(101, 117, 133, 0.16);
--vp-c-indigo-1: #a8b1ff;
--vp-c-indigo-2: #5c73e7;
--vp-c-indigo-3: #3e63dd;
--vp-c-indigo-soft: rgba(100, 108, 255, 0.16);
--vp-c-purple-1: #c8abfa;
--vp-c-purple-2: #a879e6;
--vp-c-purple-3: #8e5cd9;
--vp-c-purple-soft: rgba(159, 122, 234, 0.16);
--vp-c-green-1: #3dd68c;
--vp-c-green-2: #30a46c;
--vp-c-green-3: #298459;
--vp-c-green-soft: rgba(16, 185, 129, 0.16);
--vp-c-yellow-1: #f9b44e;
--vp-c-yellow-2: #da8b17;
--vp-c-yellow-3: #a46a0a;
--vp-c-yellow-soft: rgba(234, 179, 8, 0.16);
--vp-c-red-1: #f66f81;
--vp-c-red-2: #f14158;
--vp-c-red-3: #b62a3c;
--vp-c-red-soft: rgba(244, 63, 94, 0.16);
}
/**
* Colors: Background
*
* - `bg`: The bg color used for main screen.
*
* - `bg-alt`: The alternative bg color used in places such as "sidebar",
* or "code block".
*
* - `bg-elv`: The elevated bg color. This is used at parts where it "floats",
* such as "dialog".
*
* - `bg-soft`: The bg color to slightly distinguish some components from
* the page. Used for things like "carbon ads" or "table".
* -------------------------------------------------------------------------- */
:root {
--vp-c-bg: #ffffff;
--vp-c-bg-alt: #f6f6f7;
--vp-c-bg-elv: #ffffff;
--vp-c-bg-soft: #f6f6f7;
}
.dark {
--vp-c-bg: #1b1b1f;
--vp-c-bg-alt: #161618;
--vp-c-bg-elv: #202127;
--vp-c-bg-soft: #202127;
}
/**
* Colors: Borders
*
* - `divider`: This is used for separators. This is used to divide sections
* within the same components, such as having separator on "h2" heading.
*
* - `border`: This is designed for borders on interactive components.
* For example this should be used for a button outline.
*
* - `gutter`: This is used to divide components in the page. For example
* the header and the lest of the page.
* -------------------------------------------------------------------------- */
:root {
--vp-c-border: #c2c2c4;
--vp-c-divider: #e2e2e3;
--vp-c-gutter: #e2e2e3;
}
.dark {
--vp-c-border: #3c3f44;
--vp-c-divider: #2e2e32;
--vp-c-gutter: #000000;
}
/**
* Colors: Text
*
* - `text-1`: Used for primary text.
*
* - `text-2`: Used for muted texts, such as "inactive menu" or "info texts".
*
* - `text-3`: Used for subtle texts, such as "placeholders" or "caret icon".
* -------------------------------------------------------------------------- */
:root {
--vp-c-text-1: rgba(60, 60, 67);
--vp-c-text-2: rgba(60, 60, 67, 0.78);
--vp-c-text-3: rgba(60, 60, 67, 0.56);
}
.dark {
--vp-c-text-1: rgba(255, 255, 245, 0.86);
--vp-c-text-2: rgba(235, 235, 245, 0.6);
--vp-c-text-3: rgba(235, 235, 245, 0.38);
}
/**
* Colors: Function
*
* - `default`: The color used purely for subtle indication without any
* special meanings attached to it such as bg color for menu hover state.
*
* - `brand`: Used for primary brand colors, such as link text, button with
* brand theme, etc.
*
* - `tip`: Used to indicate useful information. The default theme uses the
* brand color for this by default.
*
* - `warning`: Used to indicate warning to the users. Used in custom
* container, badges, etc.
*
* - `danger`: Used to show error, or dangerous message to the users. Used
* in custom container, badges, etc.
*
* To understand the scaling system, refer to "Colors: Palette" section.
* -------------------------------------------------------------------------- */
:root {
--vp-c-default-1: var(--vp-c-gray-1);
--vp-c-default-2: var(--vp-c-gray-2);
--vp-c-default-3: var(--vp-c-gray-3);
--vp-c-default-soft: var(--vp-c-gray-soft);
--vp-c-brand-1: var(--vp-c-indigo-1);
--vp-c-brand-2: var(--vp-c-indigo-2);
--vp-c-brand-3: var(--vp-c-indigo-3);
--vp-c-brand-soft: var(--vp-c-indigo-soft);
/* DEPRECATED: Use `--vp-c-brand-1` instead. */
--vp-c-brand: var(--vp-c-brand-1);
--vp-c-tip-1: var(--vp-c-brand-1);
--vp-c-tip-2: var(--vp-c-brand-2);
--vp-c-tip-3: var(--vp-c-brand-3);
--vp-c-tip-soft: var(--vp-c-brand-soft);
--vp-c-note-1: var(--vp-c-brand-1);
--vp-c-note-2: var(--vp-c-brand-2);
--vp-c-note-3: var(--vp-c-brand-3);
--vp-c-note-soft: var(--vp-c-brand-soft);
--vp-c-success-1: var(--vp-c-green-1);
--vp-c-success-2: var(--vp-c-green-2);
--vp-c-success-3: var(--vp-c-green-3);
--vp-c-success-soft: var(--vp-c-green-soft);
--vp-c-important-1: var(--vp-c-purple-1);
--vp-c-important-2: var(--vp-c-purple-2);
--vp-c-important-3: var(--vp-c-purple-3);
--vp-c-important-soft: var(--vp-c-purple-soft);
--vp-c-warning-1: var(--vp-c-yellow-1);
--vp-c-warning-2: var(--vp-c-yellow-2);
--vp-c-warning-3: var(--vp-c-yellow-3);
--vp-c-warning-soft: var(--vp-c-yellow-soft);
--vp-c-danger-1: var(--vp-c-red-1);
--vp-c-danger-2: var(--vp-c-red-2);
--vp-c-danger-3: var(--vp-c-red-3);
--vp-c-danger-soft: var(--vp-c-red-soft);
--vp-c-caution-1: var(--vp-c-red-1);
--vp-c-caution-2: var(--vp-c-red-2);
--vp-c-caution-3: var(--vp-c-red-3);
--vp-c-caution-soft: var(--vp-c-red-soft);
}
/**
* Typography
* -------------------------------------------------------------------------- */
:root {
--vp-font-family-base: 'Chinese Quotes', 'Inter var', 'Inter', ui-sans-serif,
system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
'Helvetica Neue', Helvetica, Arial, 'Noto Sans', sans-serif,
'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
--vp-font-family-mono: ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Monaco,
Consolas, 'Liberation Mono', 'Courier New', monospace;
}
/**
* Shadows
* -------------------------------------------------------------------------- */
:root {
--vp-shadow-1: 0 1px 2px rgba(0, 0, 0, 0.04), 0 1px 2px rgba(0, 0, 0, 0.06);
--vp-shadow-2: 0 3px 12px rgba(0, 0, 0, 0.07), 0 1px 4px rgba(0, 0, 0, 0.07);
--vp-shadow-3: 0 12px 32px rgba(0, 0, 0, 0.1), 0 2px 6px rgba(0, 0, 0, 0.08);
--vp-shadow-4: 0 14px 44px rgba(0, 0, 0, 0.12), 0 3px 9px rgba(0, 0, 0, 0.12);
--vp-shadow-5: 0 18px 56px rgba(0, 0, 0, 0.16), 0 4px 12px rgba(0, 0, 0, 0.16);
}
/**
* Z-indexes
* -------------------------------------------------------------------------- */
:root {
--vp-z-index-footer: 10;
--vp-z-index-local-nav: 20;
--vp-z-index-nav: 30;
--vp-z-index-layout-top: 40;
--vp-z-index-backdrop: 50;
--vp-z-index-sidebar: 60;
}
@media (min-width: 960px) {
:root {
--vp-z-index-sidebar: 25;
}
}
/**
* Icons
* -------------------------------------------------------------------------- */
:root {
--vp-icon-copy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2'/%3E%3C/svg%3E");
--vp-icon-copied: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2m-6 9 2 2 4-4'/%3E%3C/svg%3E");
}
/**
* Layouts
* -------------------------------------------------------------------------- */
:root {
--vp-layout-max-width: 1440px;
}
/**
* Component: Header Anchor
* -------------------------------------------------------------------------- */
:root {
--vp-header-anchor-symbol: '#';
}
/**
* Component: Code
* -------------------------------------------------------------------------- */
:root {
--vp-code-line-height: 1.7;
--vp-code-font-size: 0.875em;
--vp-code-color: var(--vp-c-brand-1);
--vp-code-link-color: var(--vp-c-brand-1);
--vp-code-link-hover-color: var(--vp-c-brand-2);
--vp-code-bg: var(--vp-c-default-soft);
--vp-code-block-color: var(--vp-c-text-2);
--vp-code-block-bg: var(--vp-c-bg-alt);
--vp-code-block-divider-color: var(--vp-c-gutter);
--vp-code-lang-color: var(--vp-c-text-3);
--vp-code-line-highlight-color: var(--vp-c-default-soft);
--vp-code-line-number-color: var(--vp-c-text-3);
--vp-code-line-diff-add-color: var(--vp-c-success-soft);
--vp-code-line-diff-add-symbol-color: var(--vp-c-success-1);
--vp-code-line-diff-remove-color: var(--vp-c-danger-soft);
--vp-code-line-diff-remove-symbol-color: var(--vp-c-danger-1);
--vp-code-line-warning-color: var(--vp-c-warning-soft);
--vp-code-line-error-color: var(--vp-c-danger-soft);
--vp-code-copy-code-border-color: var(--vp-c-divider);
--vp-code-copy-code-bg: var(--vp-c-bg-soft);
--vp-code-copy-code-hover-border-color: var(--vp-c-divider);
--vp-code-copy-code-hover-bg: var(--vp-c-bg);
--vp-code-copy-code-active-text: var(--vp-c-text-2);
--vp-code-copy-copied-text-content: 'Copied';
--vp-code-tab-divider: var(--vp-code-block-divider-color);
--vp-code-tab-text-color: var(--vp-c-text-2);
--vp-code-tab-bg: var(--vp-code-block-bg);
--vp-code-tab-hover-text-color: var(--vp-c-text-1);
--vp-code-tab-active-text-color: var(--vp-c-text-1);
--vp-code-tab-active-bar-color: var(--vp-c-brand-1);
}
/**
* Component: Button
* -------------------------------------------------------------------------- */
:root {
--vp-button-brand-border: transparent;
--vp-button-brand-text: var(--vp-c-white);
--vp-button-brand-bg: var(--vp-c-brand-3);
--vp-button-brand-hover-border: transparent;
--vp-button-brand-hover-text: var(--vp-c-white);
--vp-button-brand-hover-bg: var(--vp-c-brand-2);
--vp-button-brand-active-border: transparent;
--vp-button-brand-active-text: var(--vp-c-white);
--vp-button-brand-active-bg: var(--vp-c-brand-1);
--vp-button-alt-border: transparent;
--vp-button-alt-text: var(--vp-c-text-1);
--vp-button-alt-bg: var(--vp-c-default-3);
--vp-button-alt-hover-border: transparent;
--vp-button-alt-hover-text: var(--vp-c-text-1);
--vp-button-alt-hover-bg: var(--vp-c-default-2);
--vp-button-alt-active-border: transparent;
--vp-button-alt-active-text: var(--vp-c-text-1);
--vp-button-alt-active-bg: var(--vp-c-default-1);
--vp-button-sponsor-border: var(--vp-c-text-2);
--vp-button-sponsor-text: var(--vp-c-text-2);
--vp-button-sponsor-bg: transparent;
--vp-button-sponsor-hover-border: var(--vp-c-sponsor);
--vp-button-sponsor-hover-text: var(--vp-c-sponsor);
--vp-button-sponsor-hover-bg: transparent;
--vp-button-sponsor-active-border: var(--vp-c-sponsor);
--vp-button-sponsor-active-text: var(--vp-c-sponsor);
--vp-button-sponsor-active-bg: transparent;
}
/**
* Component: Custom Block
* -------------------------------------------------------------------------- */
:root {
--vp-custom-block-font-size: 14px;
--vp-custom-block-code-font-size: 13px;
--vp-custom-block-info-border: transparent;
--vp-custom-block-info-text: var(--vp-c-text-1);
--vp-custom-block-info-bg: var(--vp-c-default-soft);
--vp-custom-block-info-code-bg: var(--vp-c-default-soft);
--vp-custom-block-note-border: transparent;
--vp-custom-block-note-text: var(--vp-c-text-1);
--vp-custom-block-note-bg: var(--vp-c-default-soft);
--vp-custom-block-note-code-bg: var(--vp-c-default-soft);
--vp-custom-block-tip-border: transparent;
--vp-custom-block-tip-text: var(--vp-c-text-1);
--vp-custom-block-tip-bg: var(--vp-c-tip-soft);
--vp-custom-block-tip-code-bg: var(--vp-c-tip-soft);
--vp-custom-block-important-border: transparent;
--vp-custom-block-important-text: var(--vp-c-text-1);
--vp-custom-block-important-bg: var(--vp-c-important-soft);
--vp-custom-block-important-code-bg: var(--vp-c-important-soft);
--vp-custom-block-warning-border: transparent;
--vp-custom-block-warning-text: var(--vp-c-text-1);
--vp-custom-block-warning-bg: var(--vp-c-warning-soft);
--vp-custom-block-warning-code-bg: var(--vp-c-warning-soft);
--vp-custom-block-danger-border: transparent;
--vp-custom-block-danger-text: var(--vp-c-text-1);
--vp-custom-block-danger-bg: var(--vp-c-danger-soft);
--vp-custom-block-danger-code-bg: var(--vp-c-danger-soft);
--vp-custom-block-caution-border: transparent;
--vp-custom-block-caution-text: var(--vp-c-text-1);
--vp-custom-block-caution-bg: var(--vp-c-caution-soft);
--vp-custom-block-caution-code-bg: var(--vp-c-caution-soft);
--vp-custom-block-details-border: var(--vp-custom-block-info-border);
--vp-custom-block-details-text: var(--vp-custom-block-info-text);
--vp-custom-block-details-bg: var(--vp-custom-block-info-bg);
--vp-custom-block-details-code-bg: var(--vp-custom-block-info-code-bg);
}
/**
* Component: Input
* -------------------------------------------------------------------------- */
:root {
--vp-input-border-color: var(--vp-c-border);
--vp-input-bg-color: var(--vp-c-bg-alt);
--vp-input-switch-bg-color: var(--vp-c-default-soft);
}
/**
* Component: Nav
* -------------------------------------------------------------------------- */
:root {
--vp-nav-height: 64px;
--vp-nav-bg-color: var(--vp-c-bg);
--vp-nav-screen-bg-color: var(--vp-c-bg);
--vp-nav-logo-height: 24px;
}
.hide-nav {
--vp-nav-height: 0px;
}
.hide-nav .VPSidebar {
--vp-nav-height: 22px;
}
/**
* Component: Local Nav
* -------------------------------------------------------------------------- */
:root {
--vp-local-nav-bg-color: var(--vp-c-bg);
}
/**
* Component: Sidebar
* -------------------------------------------------------------------------- */
:root {
--vp-sidebar-width: 272px;
--vp-sidebar-bg-color: var(--vp-c-bg-alt);
}
/**
* Colors Backdrop
* -------------------------------------------------------------------------- */
:root {
--vp-backdrop-bg-color: rgba(0, 0, 0, 0.6);
}
/**
* Component: Home
* -------------------------------------------------------------------------- */
:root {
--vp-home-hero-name-color: var(--vp-c-brand-1);
--vp-home-hero-name-background: transparent;
--vp-home-hero-image-background-image: none;
--vp-home-hero-image-filter: none;
}
/**
* Component: Badge
* -------------------------------------------------------------------------- */
:root {
--vp-badge-info-border: transparent;
--vp-badge-info-text: var(--vp-c-text-2);
--vp-badge-info-bg: var(--vp-c-default-soft);
--vp-badge-tip-border: transparent;
--vp-badge-tip-text: var(--vp-c-tip-1);
--vp-badge-tip-bg: var(--vp-c-tip-soft);
--vp-badge-warning-border: transparent;
--vp-badge-warning-text: var(--vp-c-warning-1);
--vp-badge-warning-bg: var(--vp-c-warning-soft);
--vp-badge-danger-border: transparent;
--vp-badge-danger-text: var(--vp-c-danger-1);
--vp-badge-danger-bg: var(--vp-c-danger-soft);
}
/**
* Component: Carbon Ads
* -------------------------------------------------------------------------- */
:root {
--vp-carbon-ads-text-color: var(--vp-c-text-1);
--vp-carbon-ads-poweredby-color: var(--vp-c-text-2);
--vp-carbon-ads-bg-color: var(--vp-c-bg-soft);
--vp-carbon-ads-hover-text-color: var(--vp-c-brand-1);
--vp-carbon-ads-hover-poweredby-color: var(--vp-c-text-1);
}
/**
* Component: Local Search
* -------------------------------------------------------------------------- */
:root {
--vp-local-search-bg: var(--vp-c-bg);
--vp-local-search-result-bg: var(--vp-c-bg);
--vp-local-search-result-border: var(--vp-c-divider);
--vp-local-search-result-selected-bg: var(--vp-c-bg);
--vp-local-search-result-selected-border: var(--vp-c-brand-1);
--vp-local-search-highlight-bg: var(--vp-c-brand-1);
--vp-local-search-highlight-text: var(--vp-c-neutral-inverse);
}

15
docs/changelog.md Normal file
View File

@ -0,0 +1,15 @@
---
title: 'Changelog'
description: 'Project changelog'
layout: doc
sidebar: false
aside: right
navbar: true
editLink: false
---
::: details
Sourced from automatically generated CHANGELOG.md project file.
:::
<!--@include: ../CHANGELOG.md-->

36
docs/guide/about.md Normal file
View File

@ -0,0 +1,36 @@
# What is Arkanum ?
## 🙏 Mantra
Arkanum pursues the following principles to achieve its goals:
### 🥕 Principles
- Reduce the setup + configuration complexity by
- Completing existing VSCode remote development solutions *(like `Coder/code-server` or `gitpod-io/openvscode-server`)* with an
opinionated tool set and configuration.
### 🏁 Goals
- Deliver a fully featured remote development environment.
- Provide the best possible user experience for daily VS Code remote usage.
And most important:
> [!TIP] ⭐ Help people to stay focused on their primary task:
> Develop awesome stuff without wasting time with setting up *DEV* environments.
## 📆 History
The Arkanum project started when I was challenged to work on multiple projects from different locations
and devices. Setting up VSCode based *DEV* environments can be hard and takes a minute. Especially when
you think about all the tools, extensions and setup needed to work efficiently. On top of this,
you also want to keep the environments up to date to avoid version problems.
Another motivation was the fact that I needed to find a way reducing the time for onboarding, supporting, and debugging the environments from other teammates.
So I started searching for existing solutions. I didn't wan't to go the traditional way of packaging and deploying
a software solution. Luckily there was already a way to use VS Code remotely and I started working with [coder/code-server](https://github.com/coder/code-server)
and [gitpod-io/openvscode-server](https://github.com/gitpod-io/openvscode-server).
In late 2022 I decided to customize these project and so I started `Arkanum` as open-source project.

View File

@ -0,0 +1,38 @@
# Arkanum-cli
## About
The `arkanum` container image includes the `arkanum-cli` to manage the current instance and be able to install
additional resources. To keep the base image as small as possible we decided not ot include all possible frameworks. This decision also helps to give the use the ability to manage the needed framework versions like for
NodeJS or Golang.
For now the arkanum-cli is made with a simple bash script. But this could change whenever the complexity increases
significantly.
## Usage
To use the cli just open a terminal and call the `arkanum` command. We also added a bash-completion
script for the cli.
<<< @/../arkanum#usage{34-36 bash:line-numbers}
The first thing you normally after starting your Arkanum instance is setting the git user and email:
`arkanum git setup "foobar" "foobar@arkanum.dev"`
Now you can simple add your needed tools and frameworks:
```bash
arkanum install golang
arkanum install nodejs
```
## Referenced Source Files
::: code-group
<<< @/../Dockerfile#cli{Dockerfile}
<<< @/../arkanum{bash}
<<< @/../arkanum-completion{bash}
:::

View File

@ -0,0 +1,19 @@
# Base Images
## Coder/code-server
Arkanum is build on top of the [code-server](https://github.com/coder/code-server) project. This project
provides the base ability to run VS Code remotely and accessible by any browser instead of the need for a local
installation.
The folks from [linuxserver.io](https://www.linuxserver.io/) build and maintainer super reliable container images
for all kind of software. And so they also did for the code-server project.
We also took their [code-server image](https://hub.docker.com/r/linuxserver/code-server) as our base for further
customizing and tailoring arkanum.
## gitpod-io/openvscode-server <Badge type="info" text="planned for arkanum v2++" />
> [!NOTE] 💬 NOTE
> We plan to also build Arkanum with the openvscode-server base. This could enable us to install Arkanum as
> PWA with our own branding like the product logo.

View File

@ -0,0 +1,12 @@
# FiraCode
## Referenced Source Files
::: code-group
<<< @/../Dockerfile#firacode{Dockerfile}
<<< @/../FiraCode/fonts.css{css}
:::
We add custom fonts on build time to the Arkanum docker image. Therefore we copy the font files and patch the
_CodeServer / Openvscode-server_ `workbench.css` files. So we can use host and consume additional fonts without
relying on external CDNs.

View File

@ -0,0 +1,53 @@
# Git
## 🔱 About Git Config files
The git configuration is usually done in these 3 different contexts:
- system wide config
- `/etc/gitconfig`
- global _(per user)_ config
- `~/.gitconfig`
- local _(per repository)_
- `<repo-root>/.git/config`
The final config will be merged in this order.
> [!TIP] 💡 TIP
> You can display the final values with `git config --list`
## 📄 Included Config
We already modified the default system config file:
| Key | Section | Description |
| --------------- | ---------------- | ------------------------------------------------------------------------------------ |
| `editor` | **[core]** | Defines code-server as git edit to open files. |
| `autcrlf` | **[core]** | Disables automatic line ending conversion. Should be handeled by the editor |
| `helper` | **[credential]** | Enables saving plain credentials for git remotes. |
| `filesEncoding` | **[i18n]** | Sets _utf-8_ as default encoding. |
| `default` | **[push]** | Uses _simple_ branch name matching strategy. |
| `lg1` | **[alias]** | Adds alternate log output layout in graph style |
| `lg2` | **[alias]** | Adds extended graph log layout. |
| `cfetch` | **[alias]** | Adds alias for fetch with _--prune_ and _--tags_ . _cfetch_ stands for _clean fetch_ |
There are also some [Phabricator](https://en.wikipedia.org/wiki/Phabricator) workflow inspired helpers:
| Key | Section | Description |
| ------------------ | ----------- | ------------------------------------------------------------------------------ |
| `feature <branch>` | **[alias]** | Starts a new feature branch from updates master and checks out the new branch. |
| `wip` | **[alias]** | Stages all current changes and creates a wip _(work in progress)_ commit. |
| `squish` | **[alias]** | Takes all open workdir changes and add them to the latest commit. |
| `pod` | **[alias]** | Tries to push current branch to _origin/dev_. |
| `poc <branch>` | **[alias]** | Takes current branch and tries to push it to a new remote one. |
## Git bash Completion
Git bash completion is already enabled in the arkanum image.
## Referenced Source Files
::: code-group
<<< @/../Dockerfile#git{Dockerfile:line-numbers}
<<< @/../gitconfig-system{ini:line-numbers}
:::

View File

@ -0,0 +1,7 @@
# Packages
We already include the following packages while building the Arkanum image:
| Name | Description |
| ----- | ----------- |
| `git` | Git VCS |

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 KiB

View File

@ -0,0 +1,29 @@
# :rocket: Starship Prompt
## About
Starship prompt is a powerful addon to modify the shell prompt dynamically based on the current location and state.
Therefore we already install the latest version while building the Arkanum image.
Additionally we use starship as default prompt in bash.
The included default setup uses the system wide installed [NerdFont](https://www.nerdfonts.com/) patched [FiraCode](https://github.com/tonsky/FiraCode) Font with its symbols, ligatures and emojis.
## Screenshots
![screen1](./prompts/prompt1.png 'gtit repo with nodejs + bun symbols and package.json version displayed')
![screen2](./prompts/prompt2.png 'default prompt outside of a git repo')
![screen3](./prompts/prompt3.png 'local git repo with two commits behind origin')
![screen4](./prompts/prompt4.png 'same repo prompt after pulling')
![screen5](./prompts/prompt5.png 'git rep with golang project and open workspace changes')
## Referenced Source Files
::: code-group
<<< @/../Dockerfile#starship{Dockerfile:line-numbers}
<<< @/../starship.toml{toml:line-numbers}
:::

View File

@ -0,0 +1,43 @@
# VSCode
## Default Settings
Arkanum tests for existing VSCode user config. If not preset, it sets the default config with these values:
| Key | Value | Description |
| :------------------------------: | :-------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- |
| `window.menuBarVisibility` | **compact** | Uses compact main menu bar in hamburger style. |
| `workbench.colorTheme` | **One Dark Pro Darker** | Enables default color theme. |
| `workbench.iconTheme` | **vscode-icons** | Enables default icon theme for file tree. |
| `editor.fontFamily` | **'FiraCode', 'FiraCode Nerd Font', 'FiraCode NF', Consolas, 'Courier New', monospace** | Enables included FiraCode font for all possible variations in the file editor. |
| `terminal.integrated.fontFamily` | **'FiraCode Mono', 'FiraCode Nerd Font Mono', 'FiraCode NFM', Consolas, monospace** | Enables included FiraCode fonts in terminal views. Uses mono variation to enable showing icons. |
| `editor.fontLigatures` | **true** | Enables font ligatures supported in FiraCode: `->`, `---`, `!=` ... |
| `editor.formatOnSave` | **true** | Enables format on save features based on language config. |
| `extensions.autoUpdate` | **false** | Disables automatic update for installed extensions. Prevents running into VSCode compatibility problems. |
| `git.confirmSync` | **false** | Disables notification popup for git sync action. |
| `telemetry.telemetryLevel` | **off** | Disables sending telemetry data for VSCode and GitLense Extension. |
## Extensions
Arkanum includes the following VSCode extensions from the Open VSX Registry:
### GitLense
Adds advanced git features with the [GitLense](https://open-vsx.org/extension/eamodio/gitlens) extension.
### One Dark Pro
Adds [One Dark Pro](https://open-vsx.org/extension/zhuangtongfa/material-theme) theme as default color theme.
### vscode-icons
Adds [vscode-icons](https://open-vsx.org/extension/vscode-icons-team/vscode-icons) extension as default icon theme.
## Referenced Source Filesq
::: code-group
<<< @/../Dockerfile#cli{Dockerfile}
<<< @/../arkanum#code-settings{4-15 bash:line-numbers}
:::

1
docs/guide/faq.md Normal file
View File

@ -0,0 +1 @@
# 🤔 FAQs

View File

@ -0,0 +1,134 @@
# Getting Started
## 🚧 Prerequisites
### ⚙️ Container Runtime
You need any host with either
- Docker CE / EE running
- or Docker-CE and configured 'swarm' mode.
### 📦 Get the image
You can download the image from Gitea's embedded container registry: `gitea.ocram85.com/arkanum/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/arkanum/-/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`
## 🏗️ Installation
### 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/arkanum/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.
### 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/arkanum/arkanum: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
```
## 🦶 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. 😄
## 🖼️ Screenshots
![screen1](/screens/screen1.png 'Arkanum startpage')

View File

@ -0,0 +1,19 @@
# 💣 Known Issues + Limitations
## 🐛 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
If the automatic installation of the default extension fails, you can always retry he installation with the
following command:
```bash
# restart the installation
arkanum config install-extensions
# Optional: reset the vscode user setting
arkanum config reset-codesettings
# Reload with command F1 + Developer: Reload Window
```

33
docs/index.md Normal file
View File

@ -0,0 +1,33 @@
---
# https://vitepress.dev/reference/default-theme-home-page
layout: home
hero:
name: 'Arkanum'
text: 'An opinionated VS Code distribution'
tagline: 'Start coding remotely with a containerized editor.'
image:
src: /logo.png
alt: Arkanum
actions:
- theme: brand
text: 🧙 Get Started
link: /guide/about
- theme: alt
text: Show Sources
link: https://gitea.ocram85.com/arkanum/arkanum
features:
- title: Beginner Friendly
icon: ✨
details: Trying to provide the best user experience! - Especially for beginners.
- title: Access Anywhere
icon: 🌎
details: Access your dev environment from anywhere.
- title: Arkanum CLI
icon: 🧙
details: Includes <code>Arkanum CLI</code> to install additional languages and frameworks.
- title: Gitea + CI/CD
icon: 🚧
details: Optimized tooling for Gitea + Woodpecker-CI workflows.
---

BIN
docs/public/favicon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

BIN
docs/public/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 304 KiB

1
index.ts Normal file
View File

@ -0,0 +1 @@
console.log("Hello via Bun!");

24
package.json Normal file
View File

@ -0,0 +1,24 @@
{
"name": "arkanum-docs",
"version": "1.5.1",
"type": "module",
"repository": {
"type": "git",
"url": "https://gitea.ocram85.com/arkanum/arkanum.git"
},
"devDependencies": {
"@types/bun": "latest",
"prettier": "^3.2.5",
"rimraf": "^5.0.5",
"vitepress": "^1.1.0"
},
"peerDependencies": {
"typescript": "^5.0.0"
},
"scripts": {
"docs:clean": "rimraf docs/.vitepress/dist docs/.vitepress/dist",
"docs:dev": "bun run docs:clean && vitepress dev docs --host --port 1313",
"docs:build": "vitepress build docs",
"docs:preview": "vitepress preview docs --host --port 1313"
}
}

22
tsconfig.json Normal file
View File

@ -0,0 +1,22 @@
{
"compilerOptions": {
"lib": ["ESNext"],
"target": "ESNext",
"module": "ESNext",
"moduleDetection": "force",
"jsx": "react-jsx",
"allowJs": true,
/* Bundler mode */
"moduleResolution": "bundler",
"allowImportingTsExtensions": true,
"verbatimModuleSyntax": true,
"noEmit": true,
/* Linting */
"skipLibCheck": true,
"strict": true,
"noFallthroughCasesInSwitch": true,
"forceConsistentCasingInFileNames": true
}
}