From 45c32acf7028e685655de6ac3274c1cefe11c58b Mon Sep 17 00:00:00 2001 From: ThePurpleOne <jonas@stirnemann.xyz> Date: Fri, 30 Jun 2023 11:48:06 +0200 Subject: [PATCH] Added docs --- src/server/installer.png | Bin 0 -> 38002 bytes src/server/readme.md | 62 ++++++++++++++++++++++++++------------- 2 files changed, 41 insertions(+), 21 deletions(-) create mode 100644 src/server/installer.png diff --git a/src/server/installer.png b/src/server/installer.png new file mode 100644 index 0000000000000000000000000000000000000000..2dfb7055ab72d6a8e716723eed5164ed9cdab352 GIT binary patch literal 38002 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 literal 0 HcmV?d00001 diff --git a/src/server/readme.md b/src/server/readme.md index d16ffa52..63121b98 100644 --- a/src/server/readme.md +++ b/src/server/readme.md @@ -1,22 +1,57 @@ -# This documents how to run the server on a Raspberry PI (3B) +# Server documentation + +For simple use and installation, the server services are empacted into a docker-compose. There will be containers for: +- mosquitto (MQTT broker) +- Nodered (No code web based programming tool) + +> The first 2 steps can be skipped if you're using an other server and dont need to install raspbian and docker. (You'll only need docker, docker-compose ) ## Install raspbian on the PI We need to install a linux on the PI. Download the Raspberry PI Imager on [https://www.raspberrypi.com/software/](https://www.raspberrypi.com/software/) -or on Ubuntu with : + +- Select the base raspbian image or similar (needs to be debian based for the exact commands to work) +- Select your SD card +- Configure Wifi and ssh for simpler use (Click on the bot right gear) +- Write + + + + + + +## Install Docker and docker compose on the PI +Source : [https://docs.docker.com/engine/install/raspbian/](https://docs.docker.com/engine/install/raspbian/) + + ```bash -sudo apt-install rpi-imager -``` +sudo apt-get update +sudo apt-get install ca-certificates curl gnupg + +sudo install -m 0755 -d /etc/apt/keyrings +curl -fsSL https://download.docker.com/linux/raspbian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg +sudo chmod a+r /etc/apt/keyrings/docker.gpg -https://docs.docker.com/engine/install/raspbian/ +echo \ + "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/raspbian \ + "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \ + sudo tee /etc/apt/sources.list.d/docker.list > /dev/null +sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin +sudo systemctl enable docker +``` + +Test the installation : +```bash +sudo docker run hello-world +``` + ## Install and run -Install docker-compose Go into the server directory, you should have this file structure: ```bash @@ -54,19 +89,4 @@ docker-compose down Get into the container's shell: ```bash docker exec -it server bash -``` - -https://nodered.org/docs/user-guide/runtime/adding-nodes -``` -package.json # Additonnal packages -flows.json # the normal place Node-RED store your flows -flows_cred.json # credentials your flows may need -settings.js # your settings file -``` - -Add a npm package - -Install image processing tool: -```bash -npm install node-red-contrib-image-tools ``` \ No newline at end of file -- GitLab