A simple recipe to bring up a quick, self-contained Homer5 instance:
- debian/jessie (base image)
- OpenSIPS2.3:9060 (sipcapture module)
- Apache2/PHP5:80 (homer ui/api)
- MySQL5.6/InnoDB:3306 (homer db/data)
Status:
The single container instance is suitable for small setups and for testing only. For production, please consider using the multi-container version instead.
docker pull sipcapture/homer-docker-opensips
docker run -tid --name homer5 -p 80:80 -p 9060:9060/udp sipcapture/homer-docker-opensips
By default, the container runs with a local instance of MySQL running. It may be of interest to run MySQL with a host directory mounted as a volume for MySQL data. This will help with keeping persistent data if you need to stop & remove the running container. (Which would otherwise delete the MySQL, without a mounted volume)
You can run this container with a volume like so:
docker run -it -v /tmp/homer_mysql/:/var/lib/mysql --name homer5 \
-p 80:80 -p 9060:9060/udp sipcapture/homer-docker-opensips
If you'd like to run with an external MySQL, pass in the host information for
the remote MySQL as entrypoint parameters at the end of your docker run
command.
docker run -tid --name homer5 -p 80:80 -p 9060:9060/udp sipcapture/homer-docker-opensips \
--dbhost 10.0.0.1 --dbuser homer_user --dbpass homer_password -E
For single-container only.
Homer5 Docker parameters:
--dbpass -p MySQL password (homer_password)
--dbuser -u MySQL user (homer_user)
--dbhost -h MySQL host (127.0.0.1 [docker0 bridge])
--mypass -P MySQL root local password (secret)
--es -E Enable ElasticSearch statistics storage (disabled)
--es-url -U ElasticSearch URL (http://localhost:9200)
--hep -H OpenSIPS HEP Socket port (9060)
The -E
or --es
enables ElasticSearch storage for statistics.
Parameter -U
or --es-url
sets the ElasticSearch URL and also enables the
ElasticSearch storage.
If you have started the container without ElasticSearch storage enabled, but
you want to use it, simply overwrite /etc/opensips/opensips.cfg
with
/etc/opensips/opensips-es.cfg.template
:
cp /etc/opensips/opensips-es.cfg.template /etc/opensips/opensips.cfg
git clone https://github.com/sipcapture/homer-docker-opensips; cd homer-docker-opensips
docker build --tag="sipcapture/homer-docker-opensips:local" .
docker run -tid --name homer5 sipcapture/homer-docker-opensips:local
docker exec -it homer5 bash