tsilo: exported functions to kemi framework
[sip-router] / pkg / kamailio / alpine_docker / README.md
1 About
2 -----
3
4 Container designed to run on host, bridge and swarm network.
5 Size of container decreased to 50MB (23MB compressed)
6 Significantly increased security - removed all libs except libc, busybox, tcpdump, dumpcap, kamailio and dependent libs.
7 Docker container is created useing Alpine linux packaging
8
9 Usage container
10 ---------------
11
12 ```sh
13 docker run --net=host --name kamailio \
14            -v /etc/kamailio/:/etc/kamailio \
15            kamailio/kamailio -m 64 -M 8
16 ```
17
18 systemd unit file
19 -----------------
20
21 You can use this systemd unit files on your docker host.
22 Unit file can be placed to ```/etc/systemd/system/kamailio-docker.service``` and enabled by commands
23 ```sh
24 systemd start kamailio-docker.service
25 systemd enable kamailio-docker.service
26 ```
27
28 host network
29 ============
30
31 ```sh
32 $ cat /etc/systemd/system/kamailio-docker.service
33 [Unit]
34 Description=kamailio Container
35 After=docker.service network-online.target
36 Requires=docker.service
37
38
39 [Service]
40 Restart=always
41 TimeoutStartSec=0
42 #One ExecStart/ExecStop line to prevent hitting bugs in certain systemd versions
43 ExecStart=/bin/sh -c 'docker rm -f kamailio; \
44           docker run -t --net=host --name kamailio \
45                  -v /etc/kamailio/:/etc/kamailio \
46                  kamailio/kamailio'
47 ExecStop=-/bin/sh -c '/usr/bin/docker stop kamailio; \
48           /usr/bin/docker rm -f kamailio;'
49
50 [Install]
51 WantedBy=multi-user.target
52 ```
53
54 default bridge network
55 ======================
56 ```sh
57 [Unit]
58 Description=kamailio Container
59 After=docker.service network-online.target
60 Requires=docker.service
61
62
63 [Service]
64 Restart=always
65 TimeoutStartSec=0
66 #One ExecStart/ExecStop line to prevent hitting bugs in certain systemd versions
67 ExecStart=/bin/sh -c 'docker rm -f kamailio; \
68           docker run -t --network bridge --name kamailio \
69                  -p 5060:5060/udp -p 5060:5060 \
70                  -v /etc/kamailio/:/etc/kamailio \
71                  kamailio/kamailio'
72
73 ExecStop=-/bin/sh -c '/usr/bin/docker stop kamailio; \
74           /usr/bin/docker rm -f kamailio;'
75
76 [Install]
77 WantedBy=multi-user.target
78 ```
79
80 .bashrc file
81 ------------
82 To simplify kamailio managment you can add alias for ```kamctl``` to ```.bashrc``` file as example bellow.
83 ```sh
84 alias kamctl='docker exec -i -t kamailio /usr/sbin/kamctl'
85 ```