Docker 安装MikoPBX VOIP —— 筑梦之路
2023-09-14 09:16:00 时间
#在主机上创建目录以存储MIKOPBX数据
mkdir -p /var/spool/mikopbx/cf
#用于存储通话记录和旁白
mkdir -p /var/spool/mikopbx/storage
#拉取镜像
docker pull ghcr.io/mikopbx/mikopbx-x86-64
#在特权模式下运行mikopbx(SSH端口23):
docker run --privileged --cap-add=NET_ADMIN --net=host --name mikopbx \
-v /var/spool/mikopbx/cf:/cf \
-v /var/spool/mikopbx/storage:/storage \
-e SSH_PORT=23 \
-it -d --restart always ghcr.io/mikopbx/mikopbx-x86-64
#不是特权模式。用户和组“www-data”必须存在于系统中:
docker run --cap-add=NET_ADMIN --net=host --name mikopbx \
-v /var/spool/mikopbx/cf:/cf \
-v /var/spool/mikopbx/storage:/storage \
-e SSH_PORT=23 \
-e ID_WWW_USER="$(id -u www-data)" \
-e ID_WWW_GROUP="$(id -g www-data)" \
-it -d --restart always ghcr.io/mikopbx/mikopbx-x86-64
#说明
fail2ban和iptables需要NET_ADMIN标志才能在容器内工作
--net=host标志表示 NAT 不会用于新容器。容器应该占用的所有端口都将在主机上被占用。文档中的更多详细信息...如果主机上的某些端口被占用,则加载 MikoPBX 时可能会出现错误。
以下是允许您调整 MikoPBX 使用的端口的环境变量:
SSH_PORT - SSH 端口(22)
WEB_PORT - 通过 HTTP 协议进行 Web 界面操作的端口 ( 80 )
WEB_HTTPS_PORT - 通过 HTTPS 协议进行 Web 界面操作的端口 ( 443 )
SIP_PORT - 用于连接 SIP 客户端的端口 ( 5060 )
RTP_FROM - RTP 端口范围的开始,语音传输(10000)
RTP_TO - RTP 端口范围结束,语音传输 ( 10200 )
IAX_PORT - 用于连接 IAX 客户端的端口 ( 4569 )
AMI_PORT - AMI 端口(5038)
AJAM_PORT - AJAM 端口用于连接 1C ( 8088 )的电话面板
AJAM_PORT_TLS - AJAM 端口用于连接 1C ( 8089 )的电话面板
BEANSTALK_PORT - Beanstalkd队列服务器的端口( 4229 )
REDIS_PORT - Redis服务器的端口( 6379 )
GNATS_PORT - gnatsd服务器的端口(4223)
ID_WWW_USER - www 用户 ID(可以使用表达式"$(id -u www-data)"设置,其中 www-data 是非root用户的名称)
ID_WWW_GROUP - www 组标识符(可以使用表达式"$(id -g www-data)"设置,其中 www-data 是非root用户的名称)
#docker-compose.yml
version: "3.9"
services:
mikopbx:
container_name: "mikopbx"
image: "ghcr.io/mikopbx/mikopbx-x86-64"
network_mode: "host"
command: '-d'
cap_add:
- NET_ADMIN
volumes:
- /var/spool/mikopbx/cf:/cf
- /var/spool/mikopbx/storage:/storage
# environment:
## 将标准SSH端口更改为23
# - SSH_PORT=23
##将标准SSH端口更改为81
# - WEB_PORT=81
# DAHDI不是必须的。它是在电话面板中运行MeetMe所必需的
# devices:
# - "/dev/dahdi/transcode:/dev/dahdi/transcode"
# - "/dev/dahdi/channel:/dev/dahdi/channel"
# - "/dev/dahdi/ctl:/dev/dahdi/ctl"
# - "/dev/dahdi/pseudo:/dev/dahdi/pseudo"
# - "/dev/dahdi/timer:/dev/dahdi/timer"
容器中没有与核心兼容的DAHDI主机模块。因此,如果您需要Meetme会议功能,那么DAHDI需要手动将系统组装到主机上
#连接到PBX控制台的命令
docker exec -it mikopbx sh
#连接到ATS控制台菜单的命令
docker exec -it mikopbx /etc/rc/console_menu
官方wiki:
Руководство по MikoPBX [MikoPBX WIKI]https://wiki.mikopbx.ru/
相关文章
- docker安装RabbitMQ「建议收藏」
- WSL卸载docker失败解决方案
- AX9000 Docker 部署指南
- centos7.4安装docker_docker安装python库
- Docker中Web集群迁移及共享数据
- centos安装指定版本docker或软件
- ansible之docker_container模块
- 在 linux 中我安装了一个命令行,是否所有用户都可以使用这个命令,比如 docker?
- docker-compose 安装nginx manager
- 利用群晖nas Docker平台安装qb(qbittorrent)实现PT/BT
- Docker安装配置教程[通俗易懂]
- docker离线安装配置
- docker离线安装及配置tab补全_Docker安装
- Centos离线安装docker
- Docker - 原生、redis-trib,2种方式搭建redis集群
- Docker容器云服务器迁移备忘录
- 【图文安装教程】在docker中安装kibana
- docker高级篇第二章-分布式存储之实战案例:3主3从redis集群扩容配置
- 「 【Docker】docker的基础使用介绍(小白如何使用docker) 」
- 「 【Docker】linux安装docker compose(小白安装) 」
- 离线环境下安装docker
- Docker入门:Docker安装与基本使用
- Docker安装Centos详解架构师
- 使用Docker安装Redis,一步到位!(docker安装redis)
- Docker:在 Ubuntu 15.04 上如何安装和基本用法
- 如何在Ubuntu 18.04 LTS上使用Docker安装Mastodon社交网络
- 构建基于Docker的Redis强大集群(dockerredis)