MytinyDC-IM - Datacenter infrastructure Manager

(**) Translated with www.DeepL.com/Translator

Presentation

The software “MYTINYDC-IM “ will allow the complete management of the mini-datacenter. Why did you redevelop?
On the one hand, for fun, on the other hand, to have a tool adapted to the platforms used (armhf and arm64). The tool is developed in Javascript (NODEJS) and bash shells. The creation of this tool allows to explore the functioning of the services necessary to set up a Datacenter. My first wish was to have a low footprint tool, which means no database to store configurations. Everything is entirely based on the configuration files of the services to be managed. The administrator modifies the configuration by means of a graphical (web) interface, and sends the modified file back to the server. The Opensource software MYTINYDC-IM is delivered under license: CC BY-NC-ND 4.0

Screenshots

Security

The “MYTINYDC-IM “ service must have full root access to the servers to be managed. The connection between “MYTINYDC-IM “ and the server to be managed is of SSH type only. Authentication is done by SSH key exchange. Each administrator action only goes through the SSH connection.

The recommended topology is as follows: Topology of use

The use of a VPN service is strongly recommended. Because the “MYTINYDC-IM “ service has “root” access to the various servers, with authentication by SSH key. If this unit is compromised, the hacker will have root access to all managed servers.
Allow access to the service port only for the VPN network and if available, from a single IP address of the VPN network.

You will need to protect access to the service “MYTINYDC-IM “ as you protect your passwords.

Installation

Prerequisites

This version allows to manage DNS, DHCP/BOOTP, FIREWALL (iptables IPV4), log consultation services.

Connected “root” to the unit that will be the Datacenter Manager:

# Prerequisites NODEJS 10LTS
## FOR DEBIAN 9 - stretch - only
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -E bash -
# DEBIAN 10 now includes NODEJS 10LTS
apt install nodejs

Get the Mytinydc-im package

Mytinydc-im - Version 1

# MYTINYDC-IM
# Depending on platform - Branch: stable
PC #: amd64 (64 bits only)
wget https://gitlab.albatros-info.fr/dhenry/mytinydc-im/raw/master/PackageDebianBuilder/mytinydc-im-1.0-amd64.deb
# Raspberry PI: armhf	
wget https://gitlab.albatros-info.fr/dhenry/mytinydc-im/raw/master/PackageDebianBuilder/mytinydc-im-1.0-armhf.deb
# Rock64 : arm64	
wget https://gitlab.albatros-info.fr/dhenry/mytinydc-im/raw/master/PackageDebianBuilder/mytinydc-im-1.0-arm64.deb

Mytinydc-im - Version 2

This is a major evolution (ReactJS port), and currently only includes the management of the HAPROXY load-balancer. The integration of the existing system will take time….

# A single package with all the pleasures
wget https://gitlab.albatros-info.fr/dhenry/mytinydc-im/raw/dev/DEBIAN/PackagesDEBIAN/mytinydc-im-2.0-all.deb

Installation Mytinydc-im

# Installation of the downloaded package
dpkg -i[name of the downloaded package]

# If an error message related to unsatisfied dependencies type 
dpkg -fy install

(*)It is impossible to combine version 1 and version 2 of MytinyDC-IM on the same server

Parameter setting

By default the server listens to the address: https://localhost:49160, to modify these values, edit the file /etc/default/mytinydc-im

#Listenning ip address
export IPADDRESS=localhost
export PORT=49160

Modify the necessary values, save, restart the mytinydcim service

Stop/Start service

  • Start:
systemctl start mytinydc-im
  • Stop:
systemctl stop mytinydc-im

MytindyDC-IM access

Use a browser and type the access url https://[IP address]:49160. Use the IP address and port mentioned in the service configuration file.

The application requires an account/password, respectively by default: admin/admin

Change password

Connect to the”‘root’ console of the server with the MytinyDC-IM application, type the command :

/opt/mytinydc/dcim/sbin/recover-admin-password.sh

Enter the new password, the service automatically restarts to voluntarily disconnect connected users.

(**) Translated with www.DeepL.com/Translator

(*) Image Rendering Powered by