From 83bc971f879d4685f553e5a64796d40fdec21619 Mon Sep 17 00:00:00 2001 From: sfja Date: Fri, 27 Mar 2026 18:19:50 +0100 Subject: [PATCH] server deploy --- backend/Dockerfile | 2 +- backend/README.md | 32 ++++++++++++++++++++++++++++++++ backend/deploy.sh | 22 ++++++++++++++++++++++ backend/docker-compose.yml | 18 +++++++++++++++--- backend/publish.sh | 18 ++++++++++++++++++ 5 files changed, 88 insertions(+), 4 deletions(-) create mode 100644 backend/README.md create mode 100755 backend/deploy.sh create mode 100755 backend/publish.sh diff --git a/backend/Dockerfile b/backend/Dockerfile index 8375230..12fd857 100644 --- a/backend/Dockerfile +++ b/backend/Dockerfile @@ -1,6 +1,6 @@ FROM docker.io/alpine:3.23.3 AS builder WORKDIR /workspace -RUN apk add make g++ +RUN apk add build-base COPY Makefile . COPY src src COPY tests tests diff --git a/backend/README.md b/backend/README.md new file mode 100644 index 0000000..c53c856 --- /dev/null +++ b/backend/README.md @@ -0,0 +1,32 @@ + + +``` +useradd -m sfj +usermod -aG sudo sfj +passwd sfj +``` + +https://docs.docker.com/engine/install/debian/#install-using-the-repository +``` +# Add Docker's official GPG key: +sudo apt update +sudo apt install ca-certificates curl +sudo install -m 0755 -d /etc/apt/keyrings +sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc +sudo chmod a+r /etc/apt/keyrings/docker.asc + +# Add the repository to Apt sources: +sudo tee /etc/apt/sources.list.d/docker.sources <" + exit 1 +fi + +compose_file=docker-compose.yml + +host=10.133.51.127 + +set -xe + +scp $compose_file $user@$host:/home/$user/ + +# echo sudo -S docker compose down +# echo sudo docker compose up -d +# ssh $user@$host + diff --git a/backend/docker-compose.yml b/backend/docker-compose.yml index 8ec4d47..56b464e 100644 --- a/backend/docker-compose.yml +++ b/backend/docker-compose.yml @@ -1,11 +1,23 @@ services: backend: - build: . + image: docker.io/sfja/h5-mst-backend:latest ports: - "8888:5000" mqtt: - image: docker.io/rabbitmq:4.2.5 + image: docker.io/rabbitmq:4.2.5-management ports: - - "5672:6000" + - "1883:1883" + - "5672:5672" + - "15672:15672" + command: "/bin/bash -c \"rabbitmq-plugins enable --offline rabbitmq_mqtt rabbitmq_web_mqtt rabbitmq_amqp1_0; rabbitmq-server\"" + environment: + RABBITMQ_DEFAULT_USER: devops + RABBITMQ_DEFAULT_PASS: Merc1234 + volumes: + - rabbitmq_data:/var/lib/rabbitmq + - rabbitmq_log:/var/log/rabbitmq +volumes: + rabbitmq_data: + rabbitmq_log: diff --git a/backend/publish.sh b/backend/publish.sh new file mode 100755 index 0000000..aba3b68 --- /dev/null +++ b/backend/publish.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +version=$1 + +if [[ $version == "" ]]; then + echo "Please specify version" + echo "./publish.sh " + exit 1 +fi + +tag=sfja/h5-mst-backend:$version + +set -xe + +docker build -t $tag . + +docker push $tag +