Chú ý: Tôi thông báo rằng tôi sẽ không tiếp tục phát triển dự án này nữa. Vì tôi đã chuyển sang sử dụng Soketi cho các dự án của mình. Nguyên nhân là do laravel-echo-server dường như đã ngừng phát triển. Soketi là một dự án mã nguồn mở thay thế Pusher rất tốt và vẫn đang phát triển. Tôi vẫn sẽ hỗ trợ fix bug cho dự án này.
Alpine based Laravel Echo Server image.
- Được tạo từ Docker image gốc của NodeJS
- Cài đặt bản
laravel-echo-server
mới nhất - Gắn nhãn theo quy định sermatic version
- Tự động tạo tệp cấu hình
- Tự động tạo Docker image và đẩy lên Docker hub bằng GitHub Workflow
Image oanhnn/laravel-echo-server
X.Y.Z
- the PATH version (git tagvX.Y.Z
)X.Y
- the MINOR versionX
- the MAJOR versionlatest
- the latest version
Image ghcr.io/oanhnn/laravel-echo-server
edge
- the edge version, được tạo từ code mới nhất của nhánhmaster
nightly
- the nightly version, được tạo hàng ngày từ code mới nhất của nhánhmaster
vào 8:20 AM UTC
CHÚ Ý: Hãy sử dụng sermatic version cho sản phẩm (VD:
3.1
)
- Docker Engine 1.13+
Bạn có thể chạy laravel-echo-server
như bản cài đặt bằng npm
trên máy bởi lệnh
$ docker run -d -p 6001:6001 -v $(pwd):/app oanhnn/laravel-echo-server
Bạn có thể chạy các lệnh con của laravel-echo-server
như sau
$ docker run --rm -it -v $(pwd):/app oanhnn/laravel-echo-server init
$ docker run --rm -it -v $(pwd):/app oanhnn/laravel-echo-server start
$ docker run --rm -it -v $(pwd):/app oanhnn/laravel-echo-server client:add
$ docker run --rm -it -v $(pwd):/app oanhnn/laravel-echo-server client:remove
Bạn có thể xem một số tệp cấu hình docker-compose mẫu trong thư mục examples
.
Trong khi khởi chạy, container sẽ kiểm tra tệp /app/laravel-echo-server.json
đã tồn tại chưa (có được mount vào không)?
-
Nếu tệp
/app/laravel-echo-server.json
đã tồn tại thì nó sẽ được sử dụng. -
Nếu tệp
/app/laravel-echo-server.json
không tồn tại thì nó sẽ được tạo tự đồng từ cấu hình mặc định của laravel-echo-server. -
Nếu tệp
/app/laravel-echo-server.json
không tồn tại và bạn muốn tạo nó bằng một tiến trình khác, bạn hãy thiết lập biến môi trườngLARAVEL_ECHO_SERVER_GENERATE_CONFIG
bằngfalse
(mặc định làtrue
).$ docker run -d -p 6001:6001 -v $(pwd):/app -e "LARAVEL_ECHO_SERVER_GENERATE_CONFIG=false" oanhnn/laravel-echo-server
Cở sở dữ liệu có thể là redis
hoặc sqlite
.
Nó có thể được cấu hình thông qua biến môi trường LARAVEL_ECHO_SERVER_DB
(mạc định là redis
).
-
Bởi mặc đinh, Redis sẽ được sử dụng. Bạn có thể cấu hình Redis bởi các biến môi trường:
"databaseConfig": { "redis": { "host": "REDIS_HOST", "port": "REDIS_PORT", "password": "REDIS_PASSWORD", "keyPrefix": "REDIS_PREFIX", "options": { "db": "REDIS_DB" } } },
Biến môi trường Giá trị mặc định REDIS_HOST
redis
REDIS_PORT
6379
REDIS_PASSWORD
NULL
REDIS_PREFIX
laravel_database_
REDIS_DB
0
CHÚ Ý: Các biến môi trường này chỉ dùng khi tạo tệp cấu hình cho
laravel-echo-server
. Bạn cũng có thể sử dụng các biến môi trường để ghi đè các thiết lập của tệp cấu hình bằng các biến môi trường ở phần sau.
-
Bạn có thể dử dụng SQLite làm cơ sở dữ liệu bởi thiết lập biến môi trường
LARAVEL_ECHO_SERVER_DB
thànhsqlite
. Lúc này cở sở dữ liệu sẽ được lưu trowng thư mục/app/database/
của container.$ docker run -d -p 6001:6001 -v $(pwd):/app -e "LARAVEL_ECHO_SERVER_DB=sqlite" oanhnn/laravel-echo-server
Một số biến môi trường khi tồn tại (kể cả tải từ tệp /app/.env
), nó sẽ ghi đè các thiết lập của tập cấu hình theo như bảng sau:
Biến môi trường | Cấu hình bị ghi đè | Chú ý |
---|---|---|
LARAVEL_ECHO_SERVER_AUTH_HOST |
authHost |
Nếu không tồn tại nó sẽ nhận giá trị từ biến LARAVEL_ECHO_SERVER_HOST nếu được thiết lập |
LARAVEL_ECHO_SERVER_HOST |
host |
|
LARAVEL_ECHO_SERVER_PORT |
port |
|
LARAVEL_ECHO_SERVER_DEBUG |
devMode |
|
LARAVEL_ECHO_SERVER_REDIS_HOST |
databaseConfig.redis.host |
|
LARAVEL_ECHO_SERVER_REDIS_PORT |
databaseConfig.redis.port |
|
LARAVEL_ECHO_SERVER_REDIS_PASSWORD |
databaseConfig.redis.password |
|
LARAVEL_ECHO_SERVER_PROTO |
protocol |
|
LARAVEL_ECHO_SERVER_SSL_KEY |
sslKeyPath |
|
LARAVEL_ECHO_SERVER_SSL_CERT |
sslCertPath |
|
LARAVEL_ECHO_SERVER_SSL_PASS |
sslPassphrase |
|
LARAVEL_ECHO_SERVER_SSL_CHAIN |
sslCertChainPath |
Bạn có thể xem thêm thông tin về ghi đè thiết lập cấu hình bằng biến môi trường ở đây
Chú ý Tệp entrypoint chỉ hỗ trợ ghi đè một số biến môi trường. Một số biến môi trường khác được ghi đè bởi chinh
laravel-echo-server
. Nó thực hiện trong mã nguồn của mình để ghi đè các cấu hình từ filelaravel-echo-server.json
Xem thêm
Mọi mã nguồn đóng góp phải thông qua một pull request và được đồng ý bởi một trong các người phát triển chính trước khi được hợp nhất. Điều này nhằm đảm bảo mọi mã nguồn đều được xem xét cẩn thận.
Fork dự án, tạo nhánh tính năng và gửi một pull request.
Nếu bạn muốn giúp đỡ, hãy tìm kiếm trong danh sách các vấn đề.
Dự án này được phát hành dưới giấy phép mã nguồn mở MIT.
Bản quyền thuộc © 2021 Oanh Nguyen
Xem file License để biết thêm thông tin.