# 🔧 Services Documentation

Supporting services and automation

# Deployment Service

# Automated Deployment Service

> Auto-generated documentation for the deployment module

**Last Updated:** 2026-05-06T07:42:11.999Z

---

## Table of Contents

- [Overview](#overview)
- [File Structure](#file-structure)
- [Components/Modules](#componentsmodules)
- [API Documentation](#api-documentation)

---

## Overview

Automated Deployment Service

## File Structure

```
deployment-service/logger.js
deployment-service/index.js
deployment-service/deployment.js
```

## Components/Modules

### deployment-service


### deployment-service/index.js

Deployment Service Automated deployment service that listens for deployment triggers via MQTT and handles Docker container updates for the kiosk system. Features: - MQTT-based deployment triggering - Automated Docker image pulling and container restart - Deployment status reporting - Error handling and logging - Reconnection logic for MQTT broker Environment Variables: - MQTT_BROKER_URL: MQTT broker URL (default: mqtt://emqx) - MQTT_USERNAME: MQTT username (default: admin) - MQTT_PASSWORD: MQTT password - MQTT_PORT: MQTT port (default: 1883) - COMPOSE_PROJECT_NAME: Docker Compose project name MQTT Topics: - Subscribe: kiosk/deployment/trigger - Receives deployment requests - Publish: kiosk/deployment/status - Sends deployment status updates

**Example:**

```javascript
// Trigger deployment via MQTT: mqtt publish -h emqx -t kiosk/deployment/trigger \ -m '{"service":"kiosk-server","action":"update"}'
```

MQTT Broker Configuration Configures connection parameters for the MQTT broker

MQTT Client Instance Maintains connection to the MQTT broker for deployment triggers

MQTT Connection Event Handler Subscribes to deployment topics when connected

MQTT Message Event Handler Processes incoming deployment requests

**Parameters:**

- `topic` (`string`): - MQTT topic that received the message
- `message` (`Buffer`): - Message payload


### deployment-service/deployment.js

Execute shell command

**Parameters:**

- `command` (`string`): - Command to execute

**Returns:**

- `Promise<{stdout: string, stderr: string}>`: 

Get Docker Compose project name from environment or default

**Returns:**

- `string`: 

Pulls/builds all images first, then starts all services at once

**Returns:**

- `Promise<object>`: 

Handle deployment automation via MQTT Executes docker compose pull, build emqx, and up -d

**Returns:**

- `Promise<object>`: result

# WiFi Manager

# WiFi Management Scripts

> Auto-generated documentation for the wifi module

**Last Updated:** 2026-05-06T07:42:12.002Z

---

## Table of Contents

- [Overview](#overview)
- [File Structure](#file-structure)
- [Components/Modules](#componentsmodules)
- [API Documentation](#api-documentation)

---

## Overview

WiFi Management Scripts

## File Structure

```
wifi-manager/wifi-forget.sh
wifi-manager/wifi-connect.sh
wifi-manager/manage-wifi.sh
```

## Components/Modules

### wifi-manager