{"id":204,"date":"2022-06-15T17:36:15","date_gmt":"2022-06-15T15:36:15","guid":{"rendered":"https:\/\/rsclub22.wagnersnetz.de\/?p=204"},"modified":"2022-06-15T17:59:23","modified_gmt":"2022-06-15T15:59:23","slug":"wie-man-services-auf-eine-moderne-art-und-weise-unter-linux-installiert","status":"publish","type":"post","link":"https:\/\/rsclub22.wagnersnetz.de\/index.php\/2022\/06\/15\/wie-man-services-auf-eine-moderne-art-und-weise-unter-linux-installiert\/","title":{"rendered":"Wie man Services auf eine moderne Art und Weise unter Linux installiert."},"content":{"rendered":"\n<p>Daf\u00fcr wird Docker ben\u00f6tigt. Und am besten auch ein Server, welcher richtige Last auch aushalten kann. Damit meine ich einen richtigen Server und keinen Raspberry Pi 4, weil dieser nicht genug Kraft hat, alle diese Services laufen zu lassen. Ja, nat\u00fcrlich ist ein Raspberry Pi 4 ein Server, jedoch nicht f\u00fcr Docker oder \u00e4hnliche CPU- und RAM-lastige Aufgaben, weshalb es dazu kommen kann, dass man unter Docker nen schlechteren Erfolg hat auf einen Raspberry Pi 4, als wie wenn man den Service direkt auf normaler Art und Weise mit Linux installiert. Nat\u00fcrlich, wie schon gesagt, zieht Docker ein bisschen von der CPU und dem RAM als Blindleistung, jedoch ist was rauskommt, hinterher viel einfacher zu warten und zu ugraden<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Installieren von Docker<\/h2>\n\n\n\n<p>Um nun erstmal \u00fcberhaupt zu Starten, brauchen wir Docker, da Docker einen eigenen Artikel gemacht hat, wie man dieses installiert, werde ich dazu nicht genauer ins Detail bei andereren Distributionen unter Linux gehen. Da mein Server unter Fedora l\u00e4uft, werden wir Docker daf\u00fcr Installieren mit den folgenden Befehlen: (Achtung, hier wird davon ausgegangen, dass ihr root seit, wenn nicht, k\u00f6nnt ihr Docker nicht installieren. wenn ihr sudo-Rechte habt, werdet ihr \u00fcber: <code>sudo -i<\/code> root.)<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>dnf -y install dnf-plugins-core<\/code><\/pre>\n\n\n\n<p>Dies installiert ein programm, womit man die Repositories f\u00fcr DNF managen kann.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>dnf config-manager \\\n    --add-repo \\\n    https:&#47;&#47;download.docker.com\/linux\/fedora\/docker-ce.repo<\/code><\/pre>\n\n\n\n<p>Hiermit wird die Docker-Repository hinzugef\u00fcgt.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>dnf install docker-ce docker-ce-cli containerd.io docker-compose-plugin<\/code><\/pre>\n\n\n\n<p>Hiermit installieren wir Docker. Zus\u00e4tzlich wird auch gleichzeitig das compose Plugin f\u00fcr Docker installiert wird, was nicht zwingend notwendig ist, aber sinnvoll zu haben<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Services laufen lassen mit der Hilfe von Docker Compose<\/h2>\n\n\n\n<p>Nat\u00fcrlich habe ich oben gesagt, dass Docker Compose nicht zwingend notwendig ist, jedoch ist es viel einfacher und wartungsfreundlicher die Container mit Docker Compose zu verwalten. F\u00fcr den Test werden wir den Service rollter von thedmdim und den Service cloud-torrent von jpillora laufen lassen.<\/p>\n\n\n\n<p>Um unsere docker-compose.yml zu erstellen, brauchen wir jedoch jetzt einen Ordner, ich w\u00fcrde empfehlen, diesen unter dem \/ Verzeichniss zu erstellen, also: <code>\/docker<\/code>. Diesen zu erstellen geht relativ einfach: <code>sudo -i<\/code>, <code>mkdir \/docker<\/code> und <code>cd \/docker<\/code>.<\/p>\n\n\n\n<p>Nun erstellen wir unsere docker-compose.yml mit Vim, weil vim gleich Syntax-Highlithing hat, und zu dem die Tabs f\u00fcr yaml richtig formatiert. (Wichtig: Vim beendet man mit <code>:q!<\/code> und speicher und beenden tut man mit: <code>:wq<\/code>) Folgender Befehl f\u00fcr vim: <code>vim docker-compose.yml<\/code><\/p>\n\n\n\n<p>Nun f\u00fcgen wir folgendes f\u00fcr den Test ein:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>version: '3.9'\nservices:\n    rollter:\n        container_name: rollter\n        environment:\n            - VPN_IPSEC_PSK=your_ipsec_pre_shared_key\n            - VPN_USER=your_vpn_username\n            - VPN_PASSWORD=your_vpn_password\n        ports:\n            - '500:500\/udp'\n            - '4500:4500\/udp'\n        privileged: false\n        image: thedmdim\/rollter\n\n    cloud-torrent:\n        ports:\n            - '3000:3000'\n        volumes:\n            - '\/docker\/torrents\/downloads:\/downloads'\n        image: jpillora\/cloud-torrent<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/rsclub22.wagnersnetz.de\/wp-content\/uploads\/2022\/06\/Screenshot_20220615_171234-1024x506.png\" alt=\"\" class=\"wp-image-206\" width=\"610\" height=\"301\" srcset=\"https:\/\/rsclub22.wagnersnetz.de\/wp-content\/uploads\/2022\/06\/Screenshot_20220615_171234-1024x506.png 1024w, https:\/\/rsclub22.wagnersnetz.de\/wp-content\/uploads\/2022\/06\/Screenshot_20220615_171234-300x148.png 300w, https:\/\/rsclub22.wagnersnetz.de\/wp-content\/uploads\/2022\/06\/Screenshot_20220615_171234-768x379.png 768w, https:\/\/rsclub22.wagnersnetz.de\/wp-content\/uploads\/2022\/06\/Screenshot_20220615_171234-1200x593.png 1200w, https:\/\/rsclub22.wagnersnetz.de\/wp-content\/uploads\/2022\/06\/Screenshot_20220615_171234.png 1342w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><figcaption>Leere docker-compose.yml<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/rsclub22.wagnersnetz.de\/wp-content\/uploads\/2022\/06\/Screenshot_20220615_171416.png\" alt=\"\" class=\"wp-image-207\" width=\"617\" height=\"359\" srcset=\"https:\/\/rsclub22.wagnersnetz.de\/wp-content\/uploads\/2022\/06\/Screenshot_20220615_171416.png 608w, https:\/\/rsclub22.wagnersnetz.de\/wp-content\/uploads\/2022\/06\/Screenshot_20220615_171416-300x175.png 300w\" sizes=\"auto, (max-width: 617px) 100vw, 617px\" \/><figcaption>docker-compose.yml im Fertigen Format<\/figcaption><\/figure>\n\n\n\n<p>Damit unsere Services jetzt nun final noch laufen, machen wir folgendes: <code>docker compose up -d<\/code> (wichtig: Damit dies funktioniert muss es als root im \/docker ausgef\u00fchrt werden)<\/p>\n\n\n\n<p>Die Ausgabe sollte, dann ungef\u00e4hr so aussehen:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"357\" src=\"https:\/\/rsclub22.wagnersnetz.de\/wp-content\/uploads\/2022\/06\/Screenshot_20220615_171811-1024x357.png\" alt=\"\" class=\"wp-image-210\" srcset=\"https:\/\/rsclub22.wagnersnetz.de\/wp-content\/uploads\/2022\/06\/Screenshot_20220615_171811-1024x357.png 1024w, https:\/\/rsclub22.wagnersnetz.de\/wp-content\/uploads\/2022\/06\/Screenshot_20220615_171811-300x104.png 300w, https:\/\/rsclub22.wagnersnetz.de\/wp-content\/uploads\/2022\/06\/Screenshot_20220615_171811-768x267.png 768w, https:\/\/rsclub22.wagnersnetz.de\/wp-content\/uploads\/2022\/06\/Screenshot_20220615_171811-1200x418.png 1200w, https:\/\/rsclub22.wagnersnetz.de\/wp-content\/uploads\/2022\/06\/Screenshot_20220615_171811.png 1324w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption>Docker compose ausgabe, wichtig: kann variieren.<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Testen zum Schluss<\/h2>\n\n\n\n<p>Nun werden wir nur noch testen, ob alle Services laufen, daf\u00fcr navigieren wir im unserem Internet-Browser unserer Wahl einfach zu der IP des Servers auf Port 3000. Ein Beispiel w\u00e4re: <code>http:\/\/192.168.1.114:3000\/<\/code><br>Nun m\u00fcssten wir dieses Bild sehen und dann hat alles funktioniert.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"553\" src=\"https:\/\/rsclub22.wagnersnetz.de\/wp-content\/uploads\/2022\/06\/Screenshot_20220615_172300-1024x553.png\" alt=\"\" class=\"wp-image-212\" srcset=\"https:\/\/rsclub22.wagnersnetz.de\/wp-content\/uploads\/2022\/06\/Screenshot_20220615_172300-1024x553.png 1024w, https:\/\/rsclub22.wagnersnetz.de\/wp-content\/uploads\/2022\/06\/Screenshot_20220615_172300-300x162.png 300w, https:\/\/rsclub22.wagnersnetz.de\/wp-content\/uploads\/2022\/06\/Screenshot_20220615_172300-768x414.png 768w, https:\/\/rsclub22.wagnersnetz.de\/wp-content\/uploads\/2022\/06\/Screenshot_20220615_172300-1536x829.png 1536w, https:\/\/rsclub22.wagnersnetz.de\/wp-content\/uploads\/2022\/06\/Screenshot_20220615_172300-1200x648.png 1200w, https:\/\/rsclub22.wagnersnetz.de\/wp-content\/uploads\/2022\/06\/Screenshot_20220615_172300.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Daf\u00fcr wird Docker ben\u00f6tigt. Und am besten auch ein Server, welcher richtige Last auch aushalten kann. Damit meine ich einen richtigen Server und keinen Raspberry Pi 4, weil dieser nicht genug Kraft hat, alle diese Services laufen zu lassen. Ja, nat\u00fcrlich ist ein Raspberry Pi 4 ein Server, jedoch nicht f\u00fcr Docker oder \u00e4hnliche CPU- [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"footnotes":""},"categories":[1],"tags":[29,26,23,24,9,28,27,25,30,32,31],"class_list":["post-204","post","type-post","status-publish","format-standard","hentry","category-allgemein","tag-29","tag-cloud-torrent","tag-docker","tag-docker-compose","tag-linux","tag-pi","tag-raspberry","tag-rollter","tag-server","tag-virtualisierung","tag-x86"],"_links":{"self":[{"href":"https:\/\/rsclub22.wagnersnetz.de\/index.php\/wp-json\/wp\/v2\/posts\/204","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rsclub22.wagnersnetz.de\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rsclub22.wagnersnetz.de\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rsclub22.wagnersnetz.de\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rsclub22.wagnersnetz.de\/index.php\/wp-json\/wp\/v2\/comments?post=204"}],"version-history":[{"count":8,"href":"https:\/\/rsclub22.wagnersnetz.de\/index.php\/wp-json\/wp\/v2\/posts\/204\/revisions"}],"predecessor-version":[{"id":223,"href":"https:\/\/rsclub22.wagnersnetz.de\/index.php\/wp-json\/wp\/v2\/posts\/204\/revisions\/223"}],"wp:attachment":[{"href":"https:\/\/rsclub22.wagnersnetz.de\/index.php\/wp-json\/wp\/v2\/media?parent=204"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rsclub22.wagnersnetz.de\/index.php\/wp-json\/wp\/v2\/categories?post=204"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rsclub22.wagnersnetz.de\/index.php\/wp-json\/wp\/v2\/tags?post=204"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}