Documentation

ERWALL Server Installation

Quick Installation for Debian-based Distributions

Run the following command to automatically install ERWALL Server on your Debian based distributions.

curl -sLO https://www.erwall.io/downloads/linux-x64/erwall-server.deb && sudo apt install ./erwall-server.deb

Manual Installation

The configurations generated by ERWALL runs on your own server. ERWALL directly communicates with your servers to keep the configurations up to date. Firstly, you should download the Server application from here. After you complete installation of both ERWALL Server and Client applications, they start to communicate. Every action you perform on the ERWALL panel will be transformed into the related setting and operated on your servers.

Download ERWALL Server


Create your appsettings.json file to configure you ERWALL Server application

Example appsettings.json file:

{
  "Logging": {
    "LogLevel": {
      "Default": "Error",
      "Microsoft": "Error",
      "Microsoft.Hosting.Lifetime": "Error"
    }
  },

  "AllowedHosts": "*",

  "ConnectionStrings": { 					# MySQL connection string
    "DefaultConnection": "server=<DATABASEHOST>;database=<DATABASE_NAME>;user=<DATABASE_USER>;password=<PASSWORD>;"
  },

  "JwtConfiguration": {
    "Cookie": "X-Access-Token",
    "ValidAudience": "http://localhost:4200",
    "ValidIssuer": "http://localhost:61955",
    "Secret": "7lgTd6fhw9YnsGaILfyw7YckhTfuds7wEQqmWqOvVjH0R",  # generate your own secret
    "SessionDurationInMinutes": 60                             	# session duration for users
  },

  "Service": {						        # do not change this part
    "Mode": "Internal",

    "Internal": {
      "Cache": true,
      "CacheDurationInSeconds": 30
    }
  }
}

Now, you can create database and start to run you ERWALL Server application. Following commands show how you can create a database and super user before you start.

Example Application Usage:

$ ./ErwallServer database drop
  Database is deleted successfully.
  
  $ ./ErwallServer database migrate
  All migrations are applied.
  
  $ ./ErwallServer database createsuperuser
  Username: superuser
  Email: superuser@erstream.com
  Password: *********
  Password (again): *********
  
  $ ./ErwallServer runserver
  

Use ERWALL Server as a Service

If you want to use the ERWALL Server as a service, you can use following configurations.

Example Linux Service File for ERWALL Server Application:

[Unit]
Description=Erwall Manager Service

[Service]
WorkingDirectory=/home/erwall/Server
ExecStart=/home/erwall/Server/ErwallServer runserver
Restart=always
# Restart service after 10 seconds if service crashes:
RestartSec=10
KillSignal=SIGINT
SyslogIdentifier=erwall-server
User=www-data
Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false

[Install]
WantedBy=multi-user.target
# you may need admin privileges for these commands

  systemctl enable /path/to/service_file            # enables linux service
  systemctl disable erwall-service                  # disables linux service
  service erwall-server start
  service erwall-server status
  service erwall-server stop
  service erwall-server restart
  journalctl -u erwall-service --no-pager -n 100    # displays last 100 logs