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-servermớ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ánhmasternightly- the nightly version, được tạo hàng ngày từ code mới nhất của nhánhmastervà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-serverBạ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:removeBạ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.jsonkhô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.jsonkhô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_CONFIGbằ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_HOSTredisREDIS_PORT6379REDIS_PASSWORDNULLREDIS_PREFIXlaravel_database_REDIS_DB0
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_DBthà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.jsonXem 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.