فهرست منبع

Add klipper to the template list.

Robert Middleswarth 2 سال پیش
والد
کامیت
c763a3fe2e
3فایلهای تغییر یافته به همراه104 افزوده شده و 0 حذف شده
  1. 41 0
      stack/klipper.yml
  2. 30 0
      template/apps/klipper.json
  3. 33 0
      tools/install_klipper.sh

+ 41 - 0
stack/klipper.yml

@@ -0,0 +1,41 @@
+version: "3"
+services:
+  klipper:
+    hostname: klipper
+    image: mkuf/klipper:latest
+    devices:
+      - ${3d-printer-device}:${3d-printer-device}
+    volumes:
+      - /portainer/Files/AppData/Config/klipper/klipper/printer.cfg:/opt/printer_data/config/printer.cfg
+      - /portainer/Files/AppData/Config/klipper/klipper/logs:/opt/printer_data/logs
+      - /portainer/Files/AppData/Config/klipper/run:/opt/printer_data/run
+      - /portainer/Files/AppData/Config/klipper/gcode:/opt/printer_data/gcodes
+    restart: unless-stopped
+    networks:
+      - klipper
+
+  moonraker:
+    hostname: moonraker
+    image: mkuf/moonraker:latest
+    ports:
+      - "7125:7125"
+    volumes:
+      - /portainer/Files/AppData/Config/klipper/moonraker/moonraker.conf:/opt/printer_data/config/moonraker.conf
+      - /portainer/Files/AppData/Config/klipper/moonraker/logs:/opt/printer_data/logs
+      - /portainer/Files/AppData/Config/klipper/run:/opt/printer_data/run
+      - /portainer/Files/AppData/Config/klipper/gcode:/opt/printer_data/gcodes
+    restart: unless-stopped
+    networks:
+      - klipper
+
+  mainsail:
+    hostname: mainsail
+    image: mkuf/mainsail:latest
+    ports:
+      - "4070:80"
+    restart: unless-stopped
+    networks:
+      - klipper
+
+networks:
+  klipper:

+ 30 - 0
template/apps/klipper.json

@@ -0,0 +1,30 @@
+{
+	"categories": [
+		"Other",
+		"3d-printers",
+		"Tools"
+	],
+	"description": "Klipper [Testing] Klipper is a 3d-Printer firmware. It combines the power of a general purpose computer with one or more micro-controllers. See the features document for more information on why you should use Klipper.",
+	"env": [
+		{
+			"default": "/dev/ttymxc3",
+			"label": "3d-printer-device",
+			"name": "3d-printer-device"
+		}
+	],
+	"logo": "https://raw.githubusercontent.com/pi-hosted/pi-hosted/master/images/drupal.png",
+	"name": "klipper-mainsail-moonraker",
+	"officialDoc": "https://hub.docker.com/r/mkuf/klipper",
+	"platform": "linux",
+	"preInstallScript": "install_klipper.sh",
+	"repository": {
+		"stackfile_arm32": "stack/klipper.yml",
+		"stackfile_arm64": "stack/klipper.yml",
+		"stackfile_amd64": "stack/klipper.yml",
+		"url": "https://github.com/pi-hosted/pi-hosted/"
+	},
+	"restart_policy": "unless-stopped",
+	"title": "Klipper, Mainsail, Moonraker",
+	"type": 3,
+	"webpage": "https://hub.docker.com/r/mkuf/klipper"
+}

+ 33 - 0
tools/install_klipper.sh

@@ -0,0 +1,33 @@
+#!/bin/bash
+
+function error {
+  echo -e "\\e[91m$1\\e[39m"
+  exit 1
+}
+
+echo "Creating directories..."
+sudo mkdir -p /portainer/Files/AppData/Config/klipper/klipper/ || error "Failed to create data directory for klipper / klipper!"
+sudo mkdir -p /portainer/Files/AppData/Config/klipper/klipper/logs || error "Failed to create data directory for klipper / klipper!"
+sudo mkdir -p /portainer/Files/AppData/Config/klipper/moonraker/ || error "Failed to create data directory for klipper / moonraker!"
+sudo mkdir -p /portainer/Files/AppData/Config/klipper/moonraker/logs || error "Failed to create data directory for klipper / moonraker!"
+sudo mkdir -p /portainer/Files/AppData/Config/klipper/run/ || error "Failed to create data directory for klipper / run!"
+sudo mkdir -p /portainer/Files/AppData/Config/klipper/gcodes/ || error "Failed to create data directory for klipper / gcodes!"
+
+echo "Checking config file setup..."
+if [ -d /portainer/Files/AppData/Config/klipper/klipper/printer.cfg ];
+then
+    echo "/portainer/Files/AppData/Config/klipper/klipper/printer.cfg is a directory removing"
+    rm -rf '/portainer/Files/AppData/Config/klipper/klipper/printer.cfg'
+fi
+sudo touch /portainer/Files/AppData/Config/klipper/klipper/printer.cfg || error "Failed to touch printer.cfg file!"
+
+if [ -d /portainer/Files/AppData/Config/klipper/moonraker/moonraker.conf ];
+then
+    echo "/portainer/Files/AppData/Config/klipper/moonraker/moonraker.conf is a directory removing"
+    rm -rf '/portainer/Files/AppData/Config/klipper/moonraker/moonraker.conf'
+fi
+sudo touch /portainer/Files/AppData/Config/klipper/moonraker/moonraker.conf || error "Failed to touch moonraker.conf file!"
+
+echo "Setting permissions..."
+sudo chown -R 1000:1000  /portainer/Files/AppData/Config/klipper/ || error "Failed to set permissions for klipper data!"
+echo "Done You are ready to goto next step."