GithubHelp home page GithubHelp logo

nullinger / swyxware-docker Goto Github PK

View Code? Open in Web Editor NEW

This project forked from enreachde/swyxware-docker

0.0 2.0 0.0 110 KB

SwyxWare in a docker container - Docker file and installation scripts

PowerShell 100.00%

swyxware-docker's Introduction

SwyxWare 11 Docker Technology Preview

This repository provides everything necessary to build a SwyxWare 11 Windows Container image. The image contains all SwyxWare services (except SwyxGate) in one image.

This is a technical preview, not a production-ready version.

How to run the image

To easily deploy the SwyxWare image and a SQLExpress image run the Start-IpPbxDockerDeployment.ps1 script from an elevated PowerShell prompt on a Windows Server 2016 system. It will do the following:

  1. Prompt for all necessary information like IP addresses, SQL and SwyxWare credentials
  2. Enable Docker on the server if not already present
  3. Pull operating system base image
  4. Create a transparent container network on the host
  5. Start the SQLExpress and SwyxWare image

To run and configure the image manually see the following instructions.

Environment Variables

The SwyxWare image supports a couple of parameters you have to set when running the image manually:

Environment Variable Required Default when not net Description
SQLSERVERINSTANCE yes - Name of SQL server instance.
SQLADMINUSER no "sa" SQL Admin login name (used to create/update SwyxWare Database)
SQLADMINPASSWORD yes - SQL Admin login password
SQLIPPBXDATABASENAME no "ippbx" SwyxWare Database name
SQLIPPBXUSER no "ippbx_user" SwyxWare Database SQL login. Used by SwyxWare to access the database
SQLIPPBXPASSWORD no (random) SwyxWare Database SQL login password. Random password is created when not set
IPPBXADMINUSER no (none) SwyxWare Administrator user name. If not set no SwyxWare Administrator will be created
IPPBXADMINPASSWORD no (none) SwyxWare Administrator password. If not set no SwyxWare Administrator will be created
VERBOSE no false Verbose logging. IpPbxConfig.exe log will be logged to container log if set

Data Volumes

The SwyxWare image automatically creates docker data volumes for the following container folders:

Folder Description
c:\programdata\swyx\traces Trace files
c:\programdata\swyx\memorydumps Swyxware process memory dumps
c:\programdata\swyx\licenses Licenses
c:\programdata\swyx\CDRs Call Detail Records

If nothing is specified when running the container, docker automatically creates volumes with a random ID. It is therefore recommended to either specify folder mappings on the command line or creat named volumes. See below for details.

Map host folder

To map the above mentioned container folder to folders on the host specify appropriate mappings on the docker run command line, e.g.

(Note: The command line omits specifying required environment variables, network name, container and host name for brevity)

docker run --volume C:\data\Traces:c:\ProgramData\Swyx\Traces --volume C:\data\MemoryDumps:c:\ProgramData\Swyx\MemoryDumps --volume C:\data\Licenses:c:\ProgramData\Swyx\Licenses --volume C:\data\CDRs:c:\ProgramData\Swyx\CDRs swyx/swyxware-cpe:11.00

Use named data volume

Instead of mapping host folders you can create named docker volumes like this:

docker volume create ippbxtraces
docker volume create ippbxdumps
docker volume create ippbxlicense
docker volume create ippbxcdrs

Then specify the volumes on the docker run command line

(Note: The command line omits to specify required environment variables, network name, container and host name for brevity)

docker run --volume ippbxtraces:c:\ProgramData\Swyx\Traces --volume ippbxdumps:c:\ProgramData\Swyx\MemoryDumps --volume ippbxlicenses:c:\ProgramData\Swyx\Licenses --volume ippbxcdrs:c:\ProgramData\Swyx\CDRs swyx/swyxware-cpe:11.00

Transparent Container Network

The SwyxWare Container requires a transparent network without NAT. You create it using the docker network command. A transparent network requires to define a subnet and default gateway. The subnet has to be the same or smaller than the hosts subnet. The default gateway usually is the same as the hosts default gateway.

Create a transparent container network

Create a transparent docker network named "ippxnet" with subnet 192.168.100/24 and default gateway 192.168.100.1:

docker network create --driver=transparent --ipv6=false --subnet=192.168.100.0/24 --gateway=192.168.100.1 ippbxnet

Run run the SwyxWare container in that network specify parameter --network=ippbxnet on the docker run command line.

swyxware-docker's People

Contributors

martinh2011 avatar nullinger avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.