main icon indicating copy to clipboard operation
main copied to clipboard

Any reason to not provide a docker image or a Dockerfile?

Open ryukinix opened this issue 1 year ago • 1 comments

5 years ago I used this: https://hub.docker.com/r/mcgriddle/hack-chat

But is not working anymore. Any tips? For sure I can write a dockerfile for me, but I'd like to see if there is any reason to not provide a official one.

ryukinix avatar Feb 13 '24 02:02 ryukinix

你只需要在根目录下创建以下文件: You just need to create the following files in the root directory:

.dockerignore

.git
.github
test
documentation

Dockerfile

FROM node:18-bullseye-slim AS build
WORKDIR /usr/src/app
COPY . /usr/src/app
RUN npm install --quiet

FROM node:18
COPY --from=build /usr/src/app /usr/src/app
RUN npm install pm2 -g --quiet
WORKDIR /usr/src/app

## dependencies hackchat-server
## https://github.com/npm/npm/issues/13306
## Replace renameSync with FS's moveSync to resolve the following error message
## Error: EXDEV: cross-device link not permitted, rename '/usr/src/app/commands/' -> '/usr/src/app/commands.z9kcbo'
RUN npm install fs-extra && sed -i -e "s/renameSync/moveSync/g" /usr/src/app/node_modules/hackchat-server/src/serverLib/ImportsManager.js

EXPOSE 6060 3000
CMD ["pm2-runtime", "start", "pm2.config.cjs", "--node-args='-r esm'", "--name", "hackchat"]

接着使用 docker compose 的方式运行它。 It is then run as Docker compose.

docker-compose.yml

version: "3.7"

services:
  hack-chat:
    container_name: hack-chat
    build: 
      context: .
      dockerfile: Dockerfile
    restart: on-failure

值得一提的是,在运行 docker compose 之前你需要先使用 npm run config 来生成 session.key、salt.key 文件。 It is worth mentioning that before you can run docker compose you need to use NPM run config to generate session.key、salt.key file.

正常运行后,你需要将 6060 端口用于 ws wss,3000 端口用于 web,这一步你可以看 jheretic/docker-hack-chat,里面介绍的非常详细。 Once it's up and running, you'll need to use port 6060 for WS WSS and port 3000 for the web. For this step, see jheretic/docker-hack-chat, Very detailed.

wwxiaoqi avatar Jun 21 '24 04:06 wwxiaoqi