Compare commits

..

No commits in common. 'main' and 'main' have entirely different histories.
main ... main

  1. 2
      docusaurus.config.js
  2. 313
      i18n/en/code.json
  3. 14
      i18n/en/docusaurus-plugin-content-blog/options.json
  4. 86
      i18n/en/docusaurus-plugin-content-docs/current.json
  5. 6
      i18n/en/docusaurus-theme-classic/footer.json
  6. 10
      i18n/en/docusaurus-theme-classic/navbar.json
  7. 28447
      package-lock.json
  8. 25
      package.json
  9. 6
      postcss.config.js
  10. 41
      readme.md
  11. 11
      sidebars.js
  12. 7
      tailwind.config.js
  13. 2
      wiki/extras/preisliste.md
  14. 4
      wiki/gameserver/minecraft-gameserver-befehle.md
  15. 259
      wiki/git/git-workflow-vscode.md
  16. 4
      wiki/reseller/api/allgemein/allgemein-fuktionen.md
  17. 11
      wiki/reseller/deinserverhost-whmcs-modul.md
  18. 2
      wiki/software-installation/debian-nodejs-installieren.md
  19. 2
      wiki/software-installation/debian-python3-installieren.md
  20. 2
      wiki/valheim/valheim-server-erstellen.md

@ -1,7 +1,7 @@
module.exports = {
title: 'DeinServerHost Wiki',
tagline: 'Das DeinServerHost Wiki bietet dir Informationen rund um uns und deine Dienste bei uns.',
url: 'https://deinserverhost.de/',
url: 'https://docu.salty.cloud/',
baseUrl: '/wiki/',
onBrokenLinks: 'throw',
onBrokenMarkdownLinks: 'warn',

@ -1,313 +0,0 @@
{
"theme.ErrorPageContent.title": {
"message": "This page crashed.",
"description": "The title of the fallback page when the page crashed"
},
"theme.BackToTopButton.buttonAriaLabel": {
"message": "Scroll back to top",
"description": "The ARIA label for the back to top button"
},
"theme.blog.archive.title": {
"message": "Archive",
"description": "The page & hero title of the blog archive page"
},
"theme.blog.archive.description": {
"message": "Archive",
"description": "The page & hero description of the blog archive page"
},
"theme.blog.paginator.navAriaLabel": {
"message": "Blog list page navigation",
"description": "The ARIA label for the blog pagination"
},
"theme.blog.paginator.newerEntries": {
"message": "Newer entries",
"description": "The label used to navigate to the newer blog posts page (previous page)"
},
"theme.blog.paginator.olderEntries": {
"message": "Older entries",
"description": "The label used to navigate to the older blog posts page (next page)"
},
"theme.blog.post.paginator.navAriaLabel": {
"message": "Blog post page navigation",
"description": "The ARIA label for the blog posts pagination"
},
"theme.blog.post.paginator.newerPost": {
"message": "Newer post",
"description": "The blog post button label to navigate to the newer/previous post"
},
"theme.blog.post.paginator.olderPost": {
"message": "Older post",
"description": "The blog post button label to navigate to the older/next post"
},
"theme.tags.tagsPageLink": {
"message": "View all tags",
"description": "The label of the link targeting the tag list page"
},
"theme.colorToggle.ariaLabel": {
"message": "Switch between dark and light mode (currently {mode})",
"description": "The ARIA label for the navbar color mode toggle"
},
"theme.colorToggle.ariaLabel.mode.dark": {
"message": "dark mode",
"description": "The name for the dark color mode"
},
"theme.colorToggle.ariaLabel.mode.light": {
"message": "light mode",
"description": "The name for the light color mode"
},
"theme.docs.breadcrumbs.navAriaLabel": {
"message": "Breadcrumbs",
"description": "The ARIA label for the breadcrumbs"
},
"theme.docs.DocCard.categoryDescription.plurals": {
"message": "1 item|{count} items",
"description": "The default description for a category card in the generated index about how many items this category includes"
},
"theme.docs.paginator.navAriaLabel": {
"message": "Docs pages",
"description": "The ARIA label for the docs pagination"
},
"theme.docs.paginator.previous": {
"message": "Previous",
"description": "The label used to navigate to the previous doc"
},
"theme.docs.paginator.next": {
"message": "Next",
"description": "The label used to navigate to the next doc"
},
"theme.docs.tagDocListPageTitle.nDocsTagged": {
"message": "One doc tagged|{count} docs tagged",
"description": "Pluralized label for \"{count} docs tagged\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)"
},
"theme.docs.tagDocListPageTitle": {
"message": "{nDocsTagged} with \"{tagName}\"",
"description": "The title of the page for a docs tag"
},
"theme.docs.versionBadge.label": {
"message": "Version: {versionLabel}"
},
"theme.docs.versions.unreleasedVersionLabel": {
"message": "This is unreleased documentation for {siteTitle} {versionLabel} version.",
"description": "The label used to tell the user that he's browsing an unreleased doc version"
},
"theme.docs.versions.unmaintainedVersionLabel": {
"message": "This is documentation for {siteTitle} {versionLabel}, which is no longer actively maintained.",
"description": "The label used to tell the user that he's browsing an unmaintained doc version"
},
"theme.docs.versions.latestVersionSuggestionLabel": {
"message": "For up-to-date documentation, see the {latestVersionLink} ({versionLabel}).",
"description": "The label used to tell the user to check the latest version"
},
"theme.docs.versions.latestVersionLinkLabel": {
"message": "latest version",
"description": "The label used for the latest version suggestion link label"
},
"theme.common.editThisPage": {
"message": "Edit this page",
"description": "The link label to edit the current page"
},
"theme.common.headingLinkTitle": {
"message": "Direct link to {heading}",
"description": "Title for link to heading"
},
"theme.lastUpdated.atDate": {
"message": " on {date}",
"description": "The words used to describe on which date a page has been last updated"
},
"theme.lastUpdated.byUser": {
"message": " by {user}",
"description": "The words used to describe by who the page has been last updated"
},
"theme.lastUpdated.lastUpdatedAtBy": {
"message": "Last updated{atDate}{byUser}",
"description": "The sentence used to display when a page has been last updated, and by who"
},
"theme.NotFound.title": {
"message": "Page Not Found",
"description": "The title of the 404 page"
},
"theme.navbar.mobileVersionsDropdown.label": {
"message": "Versions",
"description": "The label for the navbar versions dropdown on mobile view"
},
"theme.tags.tagsListLabel": {
"message": "Tags:",
"description": "The label alongside a tag list"
},
"theme.admonition.caution": {
"message": "caution",
"description": "The default label used for the Caution admonition (:::caution)"
},
"theme.admonition.danger": {
"message": "danger",
"description": "The default label used for the Danger admonition (:::danger)"
},
"theme.admonition.info": {
"message": "info",
"description": "The default label used for the Info admonition (:::info)"
},
"theme.admonition.note": {
"message": "note",
"description": "The default label used for the Note admonition (:::note)"
},
"theme.admonition.tip": {
"message": "tip",
"description": "The default label used for the Tip admonition (:::tip)"
},
"theme.admonition.warning": {
"message": "warning",
"description": "The default label used for the Warning admonition (:::warning)"
},
"theme.AnnouncementBar.closeButtonAriaLabel": {
"message": "Close",
"description": "The ARIA label for close button of announcement bar"
},
"theme.blog.sidebar.navAriaLabel": {
"message": "Blog recent posts navigation",
"description": "The ARIA label for recent posts in the blog sidebar"
},
"theme.CodeBlock.copied": {
"message": "Copied",
"description": "The copied button label on code blocks"
},
"theme.CodeBlock.copyButtonAriaLabel": {
"message": "Copy code to clipboard",
"description": "The ARIA label for copy code blocks button"
},
"theme.CodeBlock.copy": {
"message": "Copy",
"description": "The copy button label on code blocks"
},
"theme.CodeBlock.wordWrapToggle": {
"message": "Toggle word wrap",
"description": "The title attribute for toggle word wrapping button of code block lines"
},
"theme.DocSidebarItem.expandCategoryAriaLabel": {
"message": "Expand sidebar category '{label}'",
"description": "The ARIA label to expand the sidebar category"
},
"theme.DocSidebarItem.collapseCategoryAriaLabel": {
"message": "Collapse sidebar category '{label}'",
"description": "The ARIA label to collapse the sidebar category"
},
"theme.NavBar.navAriaLabel": {
"message": "Main",
"description": "The ARIA label for the main navigation"
},
"theme.NotFound.p1": {
"message": "We could not find what you were looking for.",
"description": "The first paragraph of the 404 page"
},
"theme.NotFound.p2": {
"message": "Please contact the owner of the site that linked you to the original URL and let them know their link is broken.",
"description": "The 2nd paragraph of the 404 page"
},
"theme.navbar.mobileLanguageDropdown.label": {
"message": "Languages",
"description": "The label for the mobile language switcher dropdown"
},
"theme.TOCCollapsible.toggleButtonLabel": {
"message": "On this page",
"description": "The label used by the button on the collapsible TOC component"
},
"theme.blog.post.readMore": {
"message": "Read more",
"description": "The label used in blog post item excerpts to link to full blog posts"
},
"theme.blog.post.readMoreLabel": {
"message": "Read more about {title}",
"description": "The ARIA label for the link to full blog posts from excerpts"
},
"theme.blog.post.readingTime.plurals": {
"message": "One min read|{readingTime} min read",
"description": "Pluralized label for \"{readingTime} min read\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)"
},
"theme.docs.breadcrumbs.home": {
"message": "Home page",
"description": "The ARIA label for the home page in the breadcrumbs"
},
"theme.docs.sidebar.collapseButtonTitle": {
"message": "Collapse sidebar",
"description": "The title attribute for collapse button of doc sidebar"
},
"theme.docs.sidebar.collapseButtonAriaLabel": {
"message": "Collapse sidebar",
"description": "The title attribute for collapse button of doc sidebar"
},
"theme.docs.sidebar.navAriaLabel": {
"message": "Docs sidebar",
"description": "The ARIA label for the sidebar navigation"
},
"theme.docs.sidebar.closeSidebarButtonAriaLabel": {
"message": "Close navigation bar",
"description": "The ARIA label for close button of mobile sidebar"
},
"theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel": {
"message": "← Back to main menu",
"description": "The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)"
},
"theme.docs.sidebar.toggleSidebarButtonAriaLabel": {
"message": "Toggle navigation bar",
"description": "The ARIA label for hamburger menu button of mobile navigation"
},
"theme.docs.sidebar.expandButtonTitle": {
"message": "Expand sidebar",
"description": "The ARIA label and title attribute for expand button of doc sidebar"
},
"theme.docs.sidebar.expandButtonAriaLabel": {
"message": "Expand sidebar",
"description": "The ARIA label and title attribute for expand button of doc sidebar"
},
"theme.blog.post.plurals": {
"message": "One post|{count} posts",
"description": "Pluralized label for \"{count} posts\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)"
},
"theme.blog.tagTitle": {
"message": "{nPosts} tagged with \"{tagName}\"",
"description": "The title of the page for a blog tag"
},
"theme.blog.author.pageTitle": {
"message": "{authorName} - {nPosts}",
"description": "The title of the page for a blog author"
},
"theme.blog.authorsList.pageTitle": {
"message": "Authors",
"description": "The title of the authors page"
},
"theme.blog.authorsList.viewAll": {
"message": "View all authors",
"description": "The label of the link targeting the blog authors page"
},
"theme.blog.author.noPosts": {
"message": "This author has not written any posts yet.",
"description": "The text for authors with 0 blog post"
},
"theme.contentVisibility.unlistedBanner.title": {
"message": "Unlisted page",
"description": "The unlisted content banner title"
},
"theme.contentVisibility.unlistedBanner.message": {
"message": "This page is unlisted. Search engines will not index it, and only users having a direct link can access it.",
"description": "The unlisted content banner message"
},
"theme.contentVisibility.draftBanner.title": {
"message": "Draft page",
"description": "The draft content banner title"
},
"theme.contentVisibility.draftBanner.message": {
"message": "This page is a draft. It will only be visible in dev and be excluded from the production build.",
"description": "The draft content banner message"
},
"theme.ErrorPageContent.tryAgain": {
"message": "Try again",
"description": "The label of the button to try again rendering when the React error boundary captures an error"
},
"theme.common.skipToMainContent": {
"message": "Skip to main content",
"description": "The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation"
},
"theme.tags.tagsPageTitle": {
"message": "Tags",
"description": "The title of the tag list page"
}
}

@ -1,14 +0,0 @@
{
"title": {
"message": "Blog",
"description": "The title for the blog used in SEO"
},
"description": {
"message": "Blog",
"description": "The description for the blog used in SEO"
},
"sidebar.title": {
"message": "Recent posts",
"description": "The label for the left sidebar"
}
}

@ -1,86 +0,0 @@
{
"version.label": {
"message": "Next",
"description": "The label for version current"
},
"sidebar.docs.category.ALLGEMEINES": {
"message": "ALLGEMEINES",
"description": "The label for category ALLGEMEINES in sidebar docs"
},
"sidebar.docs.category.EXTRAS": {
"message": "EXTRAS",
"description": "The label for category EXTRAS in sidebar docs"
},
"sidebar.docs.category.DOMAINS": {
"message": "DOMAINS",
"description": "The label for category DOMAINS in sidebar docs"
},
"sidebar.docs.category.DNS Records": {
"message": "DNS Records",
"description": "The label for category DNS Records in sidebar docs"
},
"sidebar.docs.category.GAMESERVER": {
"message": "GAMESERVER",
"description": "The label for category GAMESERVER in sidebar docs"
},
"sidebar.docs.category.Eigene Server": {
"message": "Eigene Server",
"description": "The label for category Eigene Server in sidebar docs"
},
"sidebar.docs.category.Unsere Server": {
"message": "Unsere Server",
"description": "The label for category Unsere Server in sidebar docs"
},
"sidebar.docs.category.Minecraft": {
"message": "Minecraft",
"description": "The label for category Minecraft in sidebar docs"
},
"sidebar.docs.category.Plugins": {
"message": "Plugins",
"description": "The label for category Plugins in sidebar docs"
},
"sidebar.docs.category.Rust": {
"message": "Rust",
"description": "The label for category Rust in sidebar docs"
},
"sidebar.docs.category.RESELLER": {
"message": "RESELLER",
"description": "The label for category RESELLER in sidebar docs"
},
"sidebar.docs.category.DeinServerHost API": {
"message": "DeinServerHost API",
"description": "The label for category DeinServerHost API in sidebar docs"
},
"sidebar.docs.category.Allgemeine Funktionen": {
"message": "Allgemeine Funktionen",
"description": "The label for category Allgemeine Funktionen in sidebar docs"
},
"sidebar.docs.category.DDoS Funktionen": {
"message": "DDoS Funktionen",
"description": "The label for category DDoS Funktionen in sidebar docs"
},
"sidebar.docs.category.Dedicated Funktionen": {
"message": "Dedicated Funktionen",
"description": "The label for category Dedicated Funktionen in sidebar docs"
},
"sidebar.docs.category.SOFTWARES": {
"message": "SOFTWARES",
"description": "The label for category SOFTWARES in sidebar docs"
},
"sidebar.docs.category.WEBSPACE": {
"message": "WEBSPACE",
"description": "The label for category WEBSPACE in sidebar docs"
},
"sidebar.docs.category.ANDERE PRODUKTE": {
"message": "ANDERE PRODUKTE",
"description": "The label for category ANDERE PRODUKTE in sidebar docs"
},
"sidebar.docs.category.MUSIKBOT": {
"message": "MUSIKBOT",
"description": "The label for category MUSIKBOT in sidebar docs"
},
"sidebar.docs.category.GIT": {
"message": "GIT",
"description": "The label for category GIT in sidebar docs"
}
}

@ -1,6 +0,0 @@
{
"copyright": {
"message": "Copyright © 2013 - 2025 DeinServerHost | <a href=\"https://deinserverhost.de/impressum.php\">Impressum</a> <a href=\"https://deinserverhost.de/agb.php\">AGB</a> <a href=\"https://deinserverhost.de/datenschutz.php\">Datenschutz</a>",
"description": "The footer copyright"
}
}

@ -1,10 +0,0 @@
{
"logo.alt": {
"message": "DeinServerHost Dokumentation",
"description": "The alt text of navbar logo"
},
"item.label.Zum Kundenbereich": {
"message": "Zum Kundenbereich",
"description": "Navbar item with label Zum Kundenbereich"
}
}

28447
package-lock.json generated

File diff suppressed because it is too large Load Diff

@ -8,27 +8,16 @@
"build": "docusaurus build",
"swizzle": "docusaurus swizzle",
"deploy": "docusaurus deploy",
"clear": "docusaurus clear",
"serve": "docusaurus serve",
"write-translations": "docusaurus write-translations",
"write-heading-ids": "docusaurus write-heading-ids"
"clear": "docusaurus clear"
},
"dependencies": {
"@docusaurus/core": "^3.7.0",
"@docusaurus/preset-classic": "^3.7.0",
"@mdx-js/react": "^3.1.0",
"@tailwindcss/postcss": "^4.0.0",
"autoprefixer": "^10.4.20",
"clsx": "^2.0.0",
"postcss": "^8.5.1",
"prism-react-renderer": "^2.3.0",
"react": "^19.0.0",
"react-dom": "^19.0.0",
"tailwindcss": "^4.0.0"
},
"devDependencies": {
"@docusaurus/module-type-aliases": "^3.7.0",
"@docusaurus/types": "^3.7.0"
"@docusaurus/core": "2.0.0-alpha.70",
"@docusaurus/preset-classic": "2.0.0-alpha.70",
"@mdx-js/react": "^1.6.21",
"clsx": "^1.1.1",
"react": "^16.8.4",
"react-dom": "^16.8.4"
},
"browserslist": {
"production": [

@ -1,6 +0,0 @@
module.exports = {
plugins: [
require('@tailwindcss/postcss'), // Verwende das neue Paket
require('autoprefixer'),
],
};

@ -1,40 +1 @@
# Deinserverhost Wiki - German
## Anlegen neuer Seiten
Unter dem Ordner "wiki" befinden sich bereits Ordner für spezielle Kategorien. Falls keine passende vorhanden ist bitte mit Phil Rücksprache halten.
Je nach Entwicklungsumgebung kann dann eine neue .md Datei erstellt werden. Bitte eindeutige und einzigartige Namen für die Datei nehmen.
## Verfügbar machen der Änderungen
Nachdem die Änderungen vorgenommen kann die Datei mittels Git hochgeladen werden.
Die Entwicklungsumgebungen haben dafür einen extra Tab.
Danach wird hier ein Pullrequest erstellt: https://git.dsh.gg/Phil/Wiki/pulls
Die Änderungen werden dann vom Team geprüft und etwaige Änderungsvorschläge kommuniziert.
## Ich brauche Hilfe
Falls Hilfe benötigt wird, bitte an Phil wenden.
# Deinserverhost Wiki - English
## Creating new pages
Under the folder “wiki” there are already folders for special categories. If there is no suitable one, please contact Phil.
Depending on the development environment, a new .md file can then be created. Please use a unique name for the file.
## Make the changes available
Once the changes have been made, the file can be uploaded using Git.
The development environments have an extra tab for this.
A pull request is then created here: https://git.dsh.gg/Phil/Wiki/pulls
The changes are then checked by the team and any suggested changes are communicated.
## I need help
If help is needed, please contact Phil.
Pog!

@ -4,14 +4,7 @@ module.exports = {
ALLGEMEINES: ['home', 'prepaid', 'elterninformation'],
},
{
EXTRAS: [ 'extras/extra-preisliste', 'extras/debian-discord-bot-setup' ],
},
{
type: 'category',
label: 'GIT',
items: [
'git/git-workflow-vscode'
],
EXTRAS: [ 'extra-preisliste' ],
},
{
type: 'category',
@ -108,9 +101,7 @@ module.exports = {
'software-installation/debian-chrome-installieren',
'software-installation/debian-cockpit-installieren',
'software-installation/debian-cronjobs-einstellen',
'software-installation/debian-nodejs-installieren',
'software-installation/debian-docker-installieren',
'software-installation/debian-python-installieren',
'software-installation/debian-fail2ban-installieren',
'software-installation/debian-java-8-installieren',
'software-installation/debian-mariadb-installieren',

@ -1,7 +0,0 @@
module.exports = {
purge: ['./src/**/*.html', './src/**/*.js'], // Passe die Pfade an dein Projekt an
theme: {
extend: {},
},
plugins: [],
};

@ -4,7 +4,7 @@ title: Preisliste - Zusatzleistungen
sidebar_label: Preisliste
---
# Preisliste der Zusatzleistungen
# Preislsite der Zusatzleistungen
In folgender Tabelle finden sich die Preise für alle Zusatzleistungen, die wir anbieten. Diese Preisliste wird stetig aktualisiert, aktueller Stand: **01.10.2021**

@ -5,7 +5,7 @@ sidebar_label: Befehle
---
Hier findest du eine Überischt über Befehle bei deinem Minecraft Server.
[Buche dir jetzt deinen Minecraft Server ab 1,50€ im Monat!](https://deinserverhost.de/minecraft-server-mieten)
## Information
Das Spielgeschehen in Minecraft kannst du über Befehle im Chat oder per Konsole beeinflussen und deinen Wünschen nach anpassen.
Wie du zur Konsole kommst [erfährst du hier](home#-gameserver-panel).
@ -89,5 +89,3 @@ Befehl | Beschreibung
/whitelist on | Aktiviert die Whitelist
/whitelist off | Deaktiviert die Whitelist
/whitelist reload | Lädt die Whitelist neu. Dieser Befehl ist nur nötig, wenn über den Dateibrowser die Datei `whitelist.json` manuell bearbeitet wurde
[Buche dir jetzt deinen Minecraft Server ab 1,50€ im Monat!](https://deinserverhost.de/minecraft-server-mieten)

@ -1,259 +0,0 @@
---
id: git-workflow-vscode
title: Git & Pull-Request Workflow
sidebar_label: Git & Pull Requests
---
# 📌 Git & Pull-Request Workflow
Git ist ein verteiltes Versionskontrollsystem, das häufig in der Softwareentwicklung verwendet wird. Diese Anleitung erklärt die grundlegende Nutzung von Git, den Workflow mit Pull Requests sowie die Integration mit Visual Studio Code.
## 📝 Voraussetzungen
- Installiertes Git ([Download hier](https://git-scm.com/))
- GitHub-, GitLab- oder Bitbucket-Konto (für Remote-Repositories)
- Grundlegende Terminal- oder CLI-Kenntnisse
- **Optional:** [Visual Studio Code](https://code.visualstudio.com/) für eine einfache Nutzung mit Git
---
## 🔧 Schritt 1: Git auf Windows, Linux & macOS installieren
### 1 Git auf Windows installieren
1. Lade Git von [git-scm.com](https://git-scm.com/) herunter.
2. Führe das Installationsprogramm aus und folge den Anweisungen.
3. Wähle als Standardterminal „Git Bash“ oder „Command Prompt“.
4. Nach der Installation kannst du prüfen, ob Git installiert ist:
```sh
git --version
```
### 2 Git auf Linux (Debian/Ubuntu)
```sh
sudo apt update && sudo apt install -y git
```
### 3 Git auf macOS
```sh
brew install git
```
---
## 🔧 Schritt 2: Git konfigurieren
Nach der Installation musst du Git mit deinem Namen und deiner E-Mail-Adresse konfigurieren:
```sh
git config --global user.name "Dein Name"
git config --global user.email "deine.email@example.com"
```
Überprüfe deine Git-Konfiguration:
```sh
git config --list
```
---
## 📂 Schritt 3: Repository erstellen & klonen
### 1 Neues Repository erstellen
Auf GitHub, GitLab oder Bitbucket:
- Erstelle ein neues Repository mit einem Namen und einer README-Datei.
### 2 Repository klonen
Um das Repository lokal zu klonen:
```sh
git clone https://github.com/USERNAME/REPOSITORY.git
cd REPOSITORY
```
---
## 🔨 Schritt 4: Änderungen vornehmen & committen
1. **Neue Datei erstellen oder bestehende Datei ändern:**
```sh
echo "Hello World" > hello.txt
```
2. **Status der Änderungen prüfen:**
```sh
git status
```
3. **Änderungen zum Staging-Bereich hinzufügen:**
```sh
git add hello.txt
```
4. **Änderungen committen:**
```sh
git commit -m "Meine erste Datei hinzugefügt"
```
---
## 🔄 Schritt 5: Änderungen auf den Remote-Server pushen
Um die Änderungen auf GitHub/GitLab zu übertragen:
```sh
git push origin main
```
Falls du auf einem neuen Branch arbeitest:
```sh
git push origin feature-branch
```
---
## 🌿 Schritt 6: Branches & Feature-Branches erstellen
### 1 Neuen Branch erstellen:
```sh
git checkout -b feature-neues-feature
```
### 2 Änderungen vornehmen und committen:
```sh
git add .
git commit -m "Neues Feature hinzugefügt"
```
### 3 Branch auf Remote-Server pushen:
```sh
git push origin feature-neues-feature
```
---
## 🔄 Schritt 7: Pull Request (PR) erstellen
1. **Navigiere zu deinem Repository auf GitHub/GitLab.**
2. **Wechsle auf den neuen Branch und klicke auf „Pull Request erstellen“.**
3. **Beschreibe die Änderungen und reiche den PR ein.**
4. **Warte auf eine Code-Review und gegebenenfalls Anpassungen.**
---
## 🔄 Schritt 8: Pull Request mergen
Sobald dein PR genehmigt wurde:
- Klicke auf **Merge Pull Request**.
- Lösche optional den Branch:
```sh
git branch -d feature-neues-feature
git push origin --delete feature-neues-feature
```
---
## 🔄 Schritt 9: Repository aktuell halten
Falls sich der `main`-Branch geändert hat, aktualisiere dein lokales Repository:
```sh
git checkout main
git pull origin main
```
Falls du auf einem Branch arbeitest, kannst du ihn mit `main` synchronisieren:
```sh
git checkout feature-neues-feature
git merge main
```
Falls Konflikte auftreten, bearbeite sie und committe erneut.
---
## 💻 Git in Visual Studio Code nutzen
1. **Visual Studio Code installieren:**
Lade es von [hier](https://code.visualstudio.com/) herunter und installiere es.
2. **Git in VS Code aktivieren:**
- Öffne VS Code.
- Drücke `Strg + P` (Windows/Linux) oder `Cmd + P` (macOS) und tippe `Git: Enable`.
- Falls Git nicht erkannt wird, setze den Git-Pfad in den Einstellungen.
3. **Repository klonen:**
- Öffne das `Terminal` in VS Code (``Strg + ` ``).
- Führe den Befehl aus:
```sh
git clone https://github.com/USERNAME/REPOSITORY.git
```
4. **Änderungen vornehmen & committen:**
- Änderungen an Dateien in VS Code speichern.
- In der Seitenleiste `Source Control` (`Strg + Shift + G`) die Änderungen sehen.
- Datei mit `+` zum Staging hinzufügen.
- Commit-Nachricht eingeben und auf `Commit` klicken.
5. **Änderungen pushen:**
- Im `Source Control` Tab auf `Synchronisieren` klicken oder im Terminal:
```sh
git push origin main
```
6. **Branching & Pull Requests:**
- Klicke unten links auf den aktuellen Branch (`main`).
- Wähle `Neuen Branch erstellen`.
- Nach Änderungen den neuen Branch pushen.
- Auf GitHub/GitLab den PR erstellen und nach Review mergen.
---
## 🛑 Schritt 10: Fehlerbehebung (Troubleshooting)
Falls Git nicht funktioniert, prüfe:
1. **Ist Git installiert?**
```sh
git --version
```
2. **Wurde Git im Pfad erkannt? (Windows)**
```sh
where git
```
3. **Ist das Repository korrekt initialisiert?**
```sh
git status
```
4. **Hast du die richtigen Zugangsdaten für GitHub/GitLab?**
Falls `fatal: Authentication failed` erscheint, überprüfe deine SSH-Keys oder persönliche Zugriffstokens.
5. **Konflikte beim Merge?**
Falls `CONFLICT (content)` erscheint, öffne die betroffenen Dateien in VS Code und löse die Konflikte.
---
## ✅ Fazit
Nun bist du bereit, mit Git zu arbeiten, Pull Requests effizient zu nutzen und Git in Visual Studio Code zu integrieren.
Falls du Fragen hast, sieh dir die offiziellen Dokumentationen an:
- [GitHub Docs](https://docs.github.com/en)
- [GitLab Docs](https://docs.gitlab.com/)
- [Atlassian Git-Tutorials](https://www.atlassian.com/git/tutorials)
Happy Coding! 🚀

@ -12,7 +12,7 @@ Der Bereich ``Allgemein`` umfasst alle Funktionen die allgemein genutzt werden k
## Funktionsübersicht
| Funktionsname | Beschreibung |
| ------------- | -----------|
[AddCancallationRequest](addCancallationRequest) | Kündigt das Produkt zum Ende der Laufzeit
[GetServiceInformations](getServiceInformations) | Ruft Informationen zu dem Service ab
[AddCancallationRequest](AddCancallationRequest) | Kündigt das Produkt zum Ende der Laufzeit
[GetServiceInformations](GetServiceInformations) | Ruft Informationen zu dem Service ab

@ -57,17 +57,6 @@ Desweiteren muss beachtet werden das in der Aktuellen Version kein Template Mana
|Version | Beschreibung | Datum | Download |
|------ | ------ | ------ | ---- |
**0.8** | **Released** (``Getestet in WHMCS 8.2.x & 8.4``) | **10.02.2022** | **[Download v0.8](https://rose.dsh-mirror.de/reseller/whmcs-module/0.8/dshreseller_v0.8.0.zip)**
|-| Renamed the Module from ``dshreseller`` to ``manageservers`` to become more whitelabled
|**⚠**|**Please delete the ``/modules/servers/dshreseller`` to avoid errors before you upload the new version. Please check also your "Servers" and Products that they have assigned the correct module.**|⚠|⚠|
|-|Added full language support - https://git.dsh.gg/Conan_Doyl/DSHReseller-Languagefiles |
|-|Import the old Data from the dshreseller Module|
|-|Permission Manager has been improved, permissions now correct implemented|
|-|Template Manager updated - Fully customizable Admin/Client Templates|
|-|Added a hook for the Clientarea Panel|
|-|Danish Language added - Thanks to Mikkel for the Translations|
|-|Spanish Language partial added - Thanks to Mikkel for the Translations|
|-|A lot of bugfixes from v0.7.x
**0.6** | **Pre-Release** (``Getestet in WHMCS 7.10.x``) | **19.03.2021** | **[Download v0.6](https://rose.dsh-mirror.de/reseller/whmcs-module/0.6/DSH_Reseller_v0.6.zip)**
|-| Added an Addon to manage some more Settings for the Reseller itself. |
|-| Added a search function to find services by their IP or their ID. |

@ -1,6 +1,6 @@
---
id: debian-nodejs-installieren
title: Node JS installieren (Debian)
title: Node JS installieren (Debian based distros)
sidebar_label: Node JS installieren
---
Installation von Node JS auf Linux Debian Server

@ -1,6 +1,6 @@
---
id: debian-python-installieren
title: Python installieren (Debian)
title: Python installieren (Debian based distros)
sidebar_label: Python installieren
---
Installation von Python auf Linux Debian Server

@ -125,7 +125,7 @@ Nun sollten wir eine ``steamcmd.exe``³ in unseren Ordner haben. Wir erstellen u
Wir navigieren nun in unseren ``steamcmd`` Ordner und starten dort die Eingabeaufforderung. Diese können wir bequem über <kbd>⇧ Shift</kbd> + <kbd>Rechtsklick</kbd>
SteamCMD Starten | SteamCMD Einsatzbereit
SteamCMD Starten | SteamCMD Einsatzbereit{#id .class}
:-------------------------:|:-------------------------:
![SteamCMD starten](../../static/img/valheim/steamcmd_start.png) | ![SteamCMD ist Einsatzbereit](../../static/img/valheim/steamcmd_ready.png)

Loading…
Cancel
Save