Contains docker-compose file to setup wazo-platform project.
The main goal of this repository is to list and document what we need to have container ready services. In other word, when this repository will contains only a docker-compose without hacks (volumes, custom images, etc..), then we will have container ready services
-
Install docker
-
Clone the following repositories
- wazo-platform/wazo-auth-keys
- wazo-platform/xivo-config
-
set environment variable
LOCAL_GIT_REPOS=<path/to/cloned/repositories>
-
for repo in wazo-auth-keys xivo-config; do git -C "$LOCAL_GIT_REPOS/$repo" pull; done -
docker compose pull --ignore-pull-failures- Note: A lot of images won't be found on registry since they are built locally
-
docker compose build --pull --no-cache
If you want to use a feature in development. You can override docker image from a local folder with the following steps:
cd /<path>/<to>/wazo-<service>/docker build -t wazoplatform/wazo-<service>:latest .cd /<path>/<to>/wazo-docker/docker compose build <service> --no-cachedocker compose up -d
Where
<service>can be:asterisk,bootstrap,chatd,confd,dird,provd,webhookd,websocketd,auth,deployd
docker compose up --detach- Need to accept custom certificate on
https://localhost:8443 - default username / password:
root/secret
docker compose down --volumesdocker compose up --detach
docker compose downdocker compose up --detach
- Install
curlandjqcommands ./verify.sh
-
A good starting point for debugging is the
bootstrapcontainer log -
To get sql prompt:
docker compose exec postgres psql -U wazo wazo -
To use wazo-auth-cli:
docker compose run --entrypoint bash bootstrap -
To update only one service without restarting everything
docker compose stop webhookd docker compose rm webhookd docker compose up webhookd
-
Avoid to use
docker compose restart <service>. It will only restart container without new parameters (mount, config, variable) -
When running softphone on the same host than docker, don't use 127.0.0.1:5060, but use public IP (i.e. 192.168.x.x:5060)
-
asterisk configuration are not reload automatically. You must:
docker compose exec asterisk bash wazo-confgen asterisk/pjsip.conf --invalidate asterisk -rx 'core reload'
This project has not been developed to be used on production nor exposed on internet. Here is a non-exhaustive list of security concerns that has been found during development:
- wazo-phoned expose all unsecured endpoints through nginx
- nginx configuration can be updated on upstream and be desynchronized with this configuration
- Container images embed the
netcattool that can be used to open a remote shell. - Credentials are hardcoded