Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
D
docker-mirai-cqhttp
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nanahira
docker-mirai-cqhttp
Commits
41af6c6f
Commit
41af6c6f
authored
Apr 30, 2021
by
nanahira
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'novnc'
parents
54a2efbb
aa4a635e
Pipeline
#3073
failed with stages
in 5 minutes and 24 seconds
Changes
5
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
136 additions
and
34 deletions
+136
-34
.gitlab-ci.yml
.gitlab-ci.yml
+41
-30
Dockerfile.novnc
Dockerfile.novnc
+26
-0
Dockerfile.x
Dockerfile.x
+1
-1
README.md
README.md
+33
-3
pm2-novnc.json
pm2-novnc.json
+35
-0
No files found.
.gitlab-ci.yml
View file @
41af6c6f
...
@@ -5,11 +5,17 @@ stages:
...
@@ -5,11 +5,17 @@ stages:
variables
:
variables
:
GIT_DEPTH
:
"
1"
GIT_DEPTH
:
"
1"
CONTAINER_TEST_IMAGE
:
$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG
CONTAINER_TEST_IMAGE
:
$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG
CONTAINER_TEST_IMAGE_LITE
:
$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG-lite
CONTAINER_TEST_IMAGE_X
:
$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG-x
CONTAINER_TEST_IMAGE_X
:
$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG-x
CONTAINER_TEST_IMAGE_NOVNC
:
$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG-novnc
CONTAINER_RELEASE_IMAGE
:
$CI_REGISTRY_IMAGE:latest
CONTAINER_RELEASE_IMAGE
:
$CI_REGISTRY_IMAGE:latest
CONTAINER_RELEASE_IMAGE_LITE
:
$CI_REGISTRY_IMAGE:lite
CONTAINER_RELEASE_IMAGE_X
:
$CI_REGISTRY_IMAGE:x
CONTAINER_RELEASE_IMAGE_X
:
$CI_REGISTRY_IMAGE:x
CONTAINER_RELEASE_IMAGE_NOVNC
:
$CI_REGISTRY_IMAGE:novnc
DOCKERHUB_RELEASE_IMAGE
:
nanahira/mirai-cqhttp:latest
DOCKERHUB_RELEASE_IMAGE
:
nanahira/mirai-cqhttp:latest
DOCKERHUB_RELEASE_IMAGE_LITE
:
nanahira/mirai-cqhttp:lite
DOCKERHUB_RELEASE_IMAGE_X
:
nanahira/mirai-cqhttp:x
DOCKERHUB_RELEASE_IMAGE_X
:
nanahira/mirai-cqhttp:x
DOCKERHUB_RELEASE_IMAGE_NOVNC
:
nanahira/mirai-cqhttp:novnc
before_script
:
before_script
:
-
docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
-
docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
...
@@ -19,19 +25,23 @@ build:
...
@@ -19,19 +25,23 @@ build:
tags
:
tags
:
-
docker
-
docker
script
:
script
:
-
docker build --pull --no-cache -t $CONTAINER_TEST_IMAGE .
-
docker build --pull --no-cache -t $CONTAINER_TEST_IMAGE_LITE .
-
docker build -t $CONTAINER_TEST_IMAGE_X -f Dockerfile.x --build-arg BASE_IMAGE=$CONTAINER_TEST_IMAGE .
-
docker build -t $CONTAINER_TEST_IMAGE_X -f Dockerfile.x --build-arg BASE_IMAGE=$CONTAINER_TEST_IMAGE_LITE .
-
docker push $CONTAINER_TEST_IMAGE
-
docker build -t $CONTAINER_TEST_IMAGE_NOVNC -f Dockerfile.xnovnc --build-arg BASE_IMAGE=$CONTAINER_TEST_IMAGE_X .
-
docker tag $CONTAINER_TEST_IMAGE_NOVNC $CONTAINER_TEST_IMAGE
-
docker push $CONTAINER_TEST_IMAGE_LITE
-
docker push $CONTAINER_TEST_IMAGE_X
-
docker push $CONTAINER_TEST_IMAGE_X
-
docker push $CONTAINER_TEST_IMAGE_NOVNC
-
docker push $CONTAINER_TEST_IMAGE
deploy_latest
:
deploy_latest
_lite
:
stage
:
deploy
stage
:
deploy
tags
:
tags
:
-
docker
-
docker
script
:
script
:
-
docker pull $CONTAINER_TEST_IMAGE
-
docker pull $CONTAINER_TEST_IMAGE
_LITE
-
docker tag $CONTAINER_TEST_IMAGE
$CONTAINER_RELEASE_IMAG
E
-
docker tag $CONTAINER_TEST_IMAGE
_LITE $CONTAINER_RELEASE_IMAGE_LIT
E
-
docker push $CONTAINER_RELEASE_IMAGE
-
docker push $CONTAINER_RELEASE_IMAGE
_LITE
only
:
only
:
-
master
-
master
...
@@ -46,51 +56,52 @@ deploy_latest_x:
...
@@ -46,51 +56,52 @@ deploy_latest_x:
only
:
only
:
-
master
-
master
deploy_
dockerhub_latest
:
deploy_
latest_novnc
:
stage
:
deploy
stage
:
deploy
tags
:
tags
:
-
docker
-
docker
script
:
script
:
-
docker login -u $DOCKERHUB_USERNAME -p $DOCKERHUB_PASSWORD
-
docker pull $CONTAINER_TEST_IMAGE_NOVNC
-
docker pull $CONTAINER_TEST_IMAGE
-
docker tag $CONTAINER_TEST_IMAGE_NOVNC $CONTAINER_RELEASE_IMAGE_NOVNC
-
docker tag $CONTAINER_TEST_IMAGE $DOCKERHUB_RELEASE_IMAGE
-
docker tag $CONTAINER_TEST_IMAGE_NOVNC $CONTAINER_RELEASE_IMAGE
-
docker push $DOCKERHUB_RELEASE_IMAGE
-
docker push $CONTAINER_RELEASE_IMAGE_NOVNC
-
docker push $CONTAINER_RELEASE_IMAGE
only
:
only
:
-
master
-
master
deploy_dockerhub_
x
:
deploy_dockerhub_
lite
:
stage
:
deploy
stage
:
deploy
tags
:
tags
:
-
docker
-
docker
script
:
script
:
-
docker login -u $DOCKERHUB_USERNAME -p $DOCKERHUB_PASSWORD
-
docker login -u $DOCKERHUB_USERNAME -p $DOCKERHUB_PASSWORD
-
docker pull $CONTAINER_TEST_IMAGE_
X
-
docker pull $CONTAINER_TEST_IMAGE_
LITE
-
docker tag $CONTAINER_TEST_IMAGE_
X $DOCKERHUB_RELEASE_IMAGE_X
-
docker tag $CONTAINER_TEST_IMAGE_
LITE $DOCKERHUB_RELEASE_IMAGE_LITE
-
docker push $DOCKERHUB_RELEASE_IMAGE_
X
-
docker push $DOCKERHUB_RELEASE_IMAGE_
LITE
only
:
only
:
-
master
-
master
deploy_
tag
:
deploy_
dockerhub_x
:
stage
:
deploy
stage
:
deploy
tags
:
tags
:
-
docker
-
docker
variables
:
CONTAINER_TAG_IMAGE
:
$CI_REGISTRY_IMAGE:$CI_COMMIT_TAG
script
:
script
:
-
docker pull $CONTAINER_TEST_IMAGE
-
docker login -u $DOCKERHUB_USERNAME -p $DOCKERHUB_PASSWORD
-
docker tag $CONTAINER_TEST_IMAGE $CONTAINER_TAG_IMAGE
-
docker pull $CONTAINER_TEST_IMAGE_X
-
docker push $CONTAINER_TAG_IMAGE
-
docker tag $CONTAINER_TEST_IMAGE_X $DOCKERHUB_RELEASE_IMAGE_X
-
docker push $DOCKERHUB_RELEASE_IMAGE_X
only
:
only
:
-
tags
-
master
deploy_
tag_x
:
deploy_
dockerhub_novnc
:
stage
:
deploy
stage
:
deploy
tags
:
tags
:
-
docker
-
docker
variables
:
CONTAINER_TAG_IMAGE
:
$CI_REGISTRY_IMAGE:$CI_COMMIT_TAG-x
script
:
script
:
-
docker pull $CONTAINER_TEST_IMAGE_X
-
docker login -u $DOCKERHUB_USERNAME -p $DOCKERHUB_PASSWORD
-
docker tag $CONTAINER_TEST_IMAGE_X $CONTAINER_TAG_IMAGE
-
docker pull $CONTAINER_TEST_IMAGE_NOVNC
-
docker push $CONTAINER_TAG_IMAGE
-
docker tag $CONTAINER_TEST_IMAGE_NOVNC $DOCKERHUB_RELEASE_IMAGE_NOVNC
-
docker tag $CONTAINER_TEST_IMAGE_NOVNC $DOCKERHUB_RELEASE_IMAGE
-
docker push $DOCKERHUB_RELEASE_IMAGE_NOVNC
-
docker push $DOCKERHUB_RELEASE_IMAGE
only
:
only
:
-
tags
-
master
Dockerfile.novnc
0 → 100644
View file @
41af6c6f
ARG BASE_IMAGE=git-registry.mycard.moe/nanahira/docker-mirai-cqhttp:x
FROM ${BASE_IMAGE}
RUN apt update && \
apt -y install python3 git x11vnc xvfb socat fluxbox npm && \
npm install -g pm2 && \
git clone --depth=1 https://github.com/kanaka/noVNC.git /usr/src/noVNC && \
git clone --depth=1 https://github.com/kanaka/websockify.git /usr/src/noVNC/utils/websockify \
&& sed -i -- "s/ps -p/ps -o pid | grep/g" /usr/src/noVNC/utils/launch.sh \
&& rm -rf /usr/src/noVNC/.git /usr/src/noVNC/utils/websockify/.git \
&& apt -y purge git \
&& apt -y autoremove && \
rm -rf /var/tmp/* /tmp/* /var/lib/apt/lists/*
ENV HOME=/root \
DEBIAN_FRONTEND=noninteractive \
LANG=en_US.UTF-8 \
LANGUAGE=en_US.UTF-8 \
LC_ALL=C.UTF-8 \
DISPLAY=:0.0 \
DISPLAY_WIDTH=500 \
DISPLAY_HEIGHT=900 \
VNC_PASS=nanahira
COPY ./pm2-novnc.json /usr/src/app/pm2-novnc.json
CMD ["pm2-docker", "/usr/src/app/pm2-novnc.json"]
Dockerfile.x
View file @
41af6c6f
ARG BASE_IMAGE=git-registry.mycard.moe/nanahira/docker-mirai-cqhttp:l
atest
ARG BASE_IMAGE=git-registry.mycard.moe/nanahira/docker-mirai-cqhttp:l
ite
FROM ${BASE_IMAGE}
FROM ${BASE_IMAGE}
RUN apt update && \
RUN apt update && \
...
...
README.md
View file @
41af6c6f
...
@@ -8,6 +8,30 @@ https://github.com/purerosefallen/docker-mirai-cqhttp
...
@@ -8,6 +8,30 @@ https://github.com/purerosefallen/docker-mirai-cqhttp
## 建议 docker-compose
## 建议 docker-compose
### `novnc` 镜像
```
yaml
version
:
'
2.4'
services
:
cqhttp
:
restart
:
always
image
:
git-registry.mycard.moe/nanahira/docker-mirai-cqhttp:novnc
ports
:
-
'
6700:6700'
volumes
:
-
./data:/usr/src/app/data
-
./config:/usr/src/app/config
-
./bots:/usr/src/app/bots
environment
:
QQ_ID
:
11111111
QQ_PASS
:
change_me
WS_PORT
:
6700
WS_TOKEN
:
change_me
VNC_PASS
:
change_me
```
### `x` 镜像
```
yaml
```
yaml
version
:
'
2.4'
version
:
'
2.4'
services
:
services
:
...
@@ -30,7 +54,6 @@ services:
...
@@ -30,7 +54,6 @@ services:
-
./config:/usr/src/app/config
-
./config:/usr/src/app/config
-
./bots:/usr/src/app/bots
-
./bots:/usr/src/app/bots
stdin_open
:
true
stdin_open
:
true
command
:
java -jar mcl.jar
environment
:
environment
:
DISPLAY
:
novnc:0.0
DISPLAY
:
novnc:0.0
QQ_ID
:
11111111
QQ_ID
:
11111111
...
@@ -47,9 +70,13 @@ services:
...
@@ -47,9 +70,13 @@ services:
## Tag
## Tag
*
`latest`
无 GUI 镜像。需要有现成的
`devices.json`
文件。
*
`lite`
无 GUI 镜像。需要有现成的
`devices.json`
文件。
*
`x`
带 GUI 镜像,需要配合 noVNC 使用以拉滑块。
*
`x`
**推荐。**
带 GUI 镜像,需要配合 noVNC 使用以拉滑块。
*
`novnc`
带 GUI 和 noVNC 镜像,可以直接拉滑块。noVNC 监听在 8080 端口。
*
`latest`
同
`novnc`
。
## 环境变量
## 环境变量
...
@@ -61,6 +88,7 @@ ENV QQ_ID 11111111
...
@@ -61,6 +88,7 @@ ENV QQ_ID 11111111
ENV QQ_PASS qweqwe
ENV QQ_PASS qweqwe
ENV WS_PORT 6700
ENV WS_PORT 6700
ENV WS_TOKEN qweqwe
ENV WS_TOKEN qweqwe
ENV VNC_PASS nanahira
```
```
### 说明
### 说明
...
@@ -74,3 +102,5 @@ ENV WS_TOKEN qweqwe
...
@@ -74,3 +102,5 @@ ENV WS_TOKEN qweqwe
*
`WS_PORT`
Websocket 端口。
*
`WS_PORT`
Websocket 端口。
*
`WS_TOKEN`
Websocket 使用的密钥。
*
`WS_TOKEN`
Websocket 使用的密钥。
*
`VNC_PASS`
仅限
`novnc`
镜像。noVNC 网页密码,默认
`nanahira`
。
pm2-novnc.json
0 → 100644
View file @
41af6c6f
{
"apps"
:
[
{
"name"
:
"x11"
,
"script"
:
"bash"
,
"args"
:
" -c 'Xvfb :0 -screen 0 ${DISPLAY_WIDTH}x${DISPLAY_HEIGHT}x24'"
},
{
"name"
:
"x11vnc"
,
"script"
:
"bash"
,
"args"
:
" -c '/usr/bin/x11vnc -passwd ${VNC_PASS}'"
},
{
"name"
:
"novnc"
,
"script"
:
"/usr/src/noVNC/utils/launch.sh"
,
"args"
:
"--vnc localhost:5900 --listen 8080"
,
"interpreter"
:
"bash"
},
{
"name"
:
"socat"
,
"script"
:
"socat"
,
"args"
:
"tcp-listen:6000,reuseaddr,fork unix:/tmp/.X11-unix/X0"
},
{
"name"
:
"fluxbox"
,
"script"
:
"fluxbox"
},
{
"name"
:
"mirai"
,
"script"
:
"java"
,
"cwd"
:
"/usr/src/app"
,
"args"
:
"-jar ./mcl.jar"
}
]
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment