Application

To use the MUSCLE concept, it is a goot idea to setup the application it self first. The application contains two componants.

  • Backend

    • A REST API written in Flask.

  • Frontend

    • Webapplication written in Vue.js.

These two componants need to be installed. There are two ways how to install the application on your server.

  • Run container with muscle docker image

  • Install Backend and Frontend native on server

Before running the application, make sure to checkout the configuration parameters for the application.

Note

Every configuration shown in this documentation will make MUSCLE and all devices acessible from the local network only. Assuming you work in a private network, otherwise be careful what you do. To make it public you will need to take additional steps or follow our Traefik tutorial.

Docker

The easiest way to install the MUSCLE application it to use docker. This is also the recommended way when using Traefik alongside. The installation with docker will replace the native installation and vice versa.

Native installation

The native installation will replace the installation with docker and vice versa. If you want to install the MUSCLE application native on your server, you will have to setup three components.

  • Backend

  • Frontend

  • Webserver

Backend

The backend application of MUSCLE is implemented with Flask. Read the manual to install the backend server.

Frontend

At the moment there is one web frontend which creates the interface to the devices. Read the manual to install the web application.

Webservers

Both applications listed above need to be served by a server. Its recommended to serve both instances by the same server. However, it is also possible to serve them separately on different servers.

These are the currently supported servers, however, you may choose another one which fits you more.

Configuration

MUSCLE lets you configure some options by exporting environment variables read below to see these options

Traefik

If you want to make MUSCLE and all devices public without having to make each device public to be able to reach it, we recommend to use Traefik.

Surely any other proxy server can be configured and used for this task. But Traefik has a lot of features like certificate generation, easy configuration etc. out of the box. If you don’ want to use Traefik you are responsible to configure a proxy server, or make your devices public over a registered domain.