You are on page 1of 3

ขั้นตอนการลงโปรแกรม queue ด้วย Docker-compose

1. เชื่อมต่อ server และลงตามขั้นตอนดังต่อไปนี้

2. download file docker-compose.yml


- wget https://raw.githubusercontent.com/mophos/queue-docker-example/master/
docker-compose.yml
3. download file queue-config
- wget https://raw.githubusercontent.com/mophos/queue-docker-example/master/
queue-config
4. download file mqtt-config
- wget https://raw.githubusercontent.com/mophos/queue-docker-example/master/
mqtt-config

* ทั้ง 3 file ต้องอยู่ในที่เดียวกัน

5. config file docker-compose.yml


version: '3'
services:
queue:
image: "mophos/queue"
container_name: "queue"
ports:
# mapping port from host to container
# port ของเครื่องที่ลง docker (ต้องไม่ชนกับ port ที่ใช้อยู่) : port ภายใน docker (ไม่ต้องแก้ไข)
- 80:80
- 8888:8888
volumes:

# map volume
# map file config to container
- ./queue-config:/home/queue/queue-api/config
- ./mqtt-config:/home/queue/queue-mqtt/config
restart: always
networks:
queue-network:
# ip ภายใน docker
ipv4_address: 192.168.88.11

mysql:
image: "mysql/mysql-server"
container_name: "queue-mysql"
ports:
# mapping port from host to container
# port ของเครื่องที่ลง docker (ต้องไม่ชนกับ port ที่ใช้อยู่) : port ภายใน docker (ไม่ต้องแก้ไข)
- 3306:3306
environment:
# database name , password
MYSQL_DATABASE: "root"
MYSQL_ROOT_PASSWORD: "##q4u##"
MYSQL_ROOT_HOST: "%"
volumes:
- ./mysql:/var/lib/mysql
command:
--bind-address=0.0.0.0
--lower_case_table_names=2
--sql-
mode="STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"
--skip-name-resolve
--default-authentication-plugin=mysql_native_password
--character-set-server=utf8
--collation-server=utf8_general_ci
restart: always
networks:
queue-network:
ipv4_address: 192.168.88.10

networks:
# config docker network
queue-network:
driver: bridge
ipam:
config:
- subnet: 192.168.88.0/24

6. config file queue-config


# database queue
DB_HOST=192.168.88.10
DB_PORT=3306
DB_NAME=queue
DB_USER=root
DB_PASSWORD=##q4u##

# database his
DBHIS_HOST=192.168.88.10
DBHIS_PORT=3306
DBHIS_NAME=universal
DBHIS_USER=root
DBHIS_PASSWORD=##q4u##

SECRET_KEY=##q4u####q4u####q4u####q4u####q4u##

MAX_CONNECTION_PER_MINUTE=50000

################### Queue Service for H4U #####################


# Enable Q4U
# N = disabled, Y = enable
# turn on/off notification on H4U app
ENABLE_Q4U=N
ZERO_PADDING=Y

c and send notification


Q4U_NOTIFY_TOPIC=xxxx
Q4U_NOTIFY_TOKEN=xxxx
Q4U_NOTIFY_URL=http://mqtt.h4u.moph.go.th/v1/queue/update

###############################################################
# HIS_TYPE เช่น hi, hosxp, universal, ezhosp
# ตามประเภท his ที่ใช้
HIS_TYPE=universal

# ประเภท Database ที่ใช้


# mysql, pg, mssql
DBHIS_TYPE=mysql

# จำนวนหลักในการสร้าง queue
QUEUE_DIGIT=4
USE_PRIORITY_PREFIX=N

# สําหรับ API คุยกับ MQTT


INTERNAL_NOTIFY_SERVER=127.0.0.1

# for web client


# ใช้ IP ของเครื่องที่รัน docker/หรือเครื่อง server ที่รันคิว
LOCAL_NOTIFY_SERVER=192.168.4.207

LOCAL_NOTIFY_USER=q4u
LOCAL_NOTIFY_PASSWORD=##q4u##
LOCAL_NOTIFY_HTTP_PORT=8888

QUEUE_CENTER_TOPIC=queue/center
SERVICE_POINT_TOPIC=queue/service-point

7. สั่งรัน Dockercompose ด้วยคำสั่ง docker-compose up -d

8. ( หากมีการคอนฟิกไฟล์ mqtt-config,queue-config,docker-compose.yml ใหม่) ให้ใช้คําสั่ง


docker-compose up -d —-force-recreate

9. ลองเข้าเว็บเพื่อทดสอบ

You might also like