更新了容器镜像方式的构建、安装和使用方法,但是devcontainer功能还有问题

This commit is contained in:
孟宁
2025-04-29 16:51:26 +08:00
parent 324c85215c
commit 4cc2aa5419
4 changed files with 36 additions and 17 deletions

View File

@@ -76,6 +76,7 @@ RUN chown git:git /var/lib/gitea /etc/gitea
COPY --from=build-env /tmp/local /
COPY --from=build-env --chown=root:root /go/src/code.gitea.io/gitea/devcontainer_init.sh /var/lib/gitea/devcontainer_init.sh
COPY --from=build-env --chown=root:root /go/src/code.gitea.io/gitea/devcontainer_restart.sh /var/lib/gitea/devcontainer_restart.sh
COPY --from=build-env --chown=root:root /go/src/code.gitea.io/gitea/gitea /app/gitea/gitea
COPY --from=build-env --chown=root:root /go/src/code.gitea.io/gitea/environment-to-ini /usr/local/bin/environment-to-ini
COPY --from=build-env /go/src/code.gitea.io/gitea/contrib/autocompletion/bash_autocomplete /etc/profile.d/gitea_bash_autocomplete.sh

View File

@@ -60,23 +60,25 @@ git add FILES
git commit -m "commit log"
git push
```
在DevStar Git仓库发起Pull Request合并代码后会自动触发CI流水线完成容器镜像的构建并上传到devstar.cn/devstar/devstar-studio:latest
### Start from Container Image
#### Start from Container Image
```
sudo apt update && sudo apt install docker.io
sudo docker pull devstar.cn/devstar/devstar-studio:latest
# 创建devstar_data目录用于持久化存储DevStar相关的配置和用户数据
mkdir ~/devstar_data
# 启动devstar-studio容器
sudo docker run --restart=always --name devstar-studio -d -p 8080:3000 -v /var/run/docker.sock:/var/run/docker.sock -v ~/devstar_data:/var/lib/gitea -v ~/devstar_data:/etc/gitea devstar.cn/devstar/devstar-studio:latest
# 打开 `http://localhost:8080` 完成安装。
make docker
public/assets/install.sh start --image=devstar-studio:latest
# 查看devstar-studio容器的启动日志
sudo docker logs devstar-studio
# 查看日志
public/assets/install.sh logs
# 停止并删除devstar-studio容器
sudo docker stop devstar-studio && sudo docker rm -f devstar-studio
public/assets/install.sh clean
# 删除所有容器
sudo docker stop $(docker ps -aq) && sudo docker rm -f $(docker ps -aq)
```
在DevStar Git仓库发起Pull Request合并代码后会自动触发CI流水线完成容器镜像的构建并上传到devstar.cn/devstar/devstar-studio:latest
```
public/assets/install.sh start
```
## 提示

View File

@@ -1,2 +1,5 @@
#!/bin/bash
# Copyright 2025 Mengning Software All rights reserved.
service ssh restart
/usr/bin/ttyd/ttyd/ttyd -W -w $WORKDIR bash &

View File

@@ -90,7 +90,9 @@ function install {
# Function to start
function start {
install
if [[ -z "$IMAGE_STR" ]]; then
install
fi
# 创建devstar_data目录用于持久化存储DevStar相关的配置和用户数据
mkdir -p $DATA_DIR
sudo chown 1000:1000 $DATA_DIR
@@ -109,7 +111,11 @@ function start {
fi
# 启动devstar-studio容器
stop
sudo docker run --restart=always --name $NAME -e DOMAIN_NAME=$DOMAIN_NAME -d -p $PORT:3000 -p $SSH_PORT:$SSH_PORT -v /var/run/docker.sock:/var/run/docker.sock -v ~/devstar_data:/var/lib/gitea -v ~/devstar_data:/etc/gitea $IMAGE_REGISTRY_USER/$IMAGE_NAME:$VERSION
if [[ -z "$IMAGE_STR" ]]; then
IMAGE_STR="$IMAGE_REGISTRY_USER/$IMAGE_NAME:$VERSION"
fi
echo "image=$IMAGE_STR"
sudo docker run --restart=always --name $NAME -d -p $PORT:3000 -p $SSH_PORT:$SSH_PORT -v /var/run/docker.sock:/var/run/docker.sock -v ~/devstar_data:/var/lib/gitea -v ~/devstar_data:/etc/gitea $IMAGE_STR
# 打开 `http://localhost:8080` 完成安装。
success "-------------------------------------------------------"
success "DevStar started in http://$DOMAIN_NAME:$PORT successfully!"
@@ -122,7 +128,9 @@ function stop {
if [ $(docker ps -a --filter "name=^/${NAME}$" -q | wc -l) -gt 0 ]; then
sudo docker stop $NAME && sudo docker rm -f $NAME
fi
if [ $(docker ps -a --filter "name=^/devstar-studio$" -q | wc -l) -gt 0 ]; then
sudo docker stop devstar-studio && sudo docker rm -f devstar-studio
fi
}
# Function to logs
@@ -146,6 +154,7 @@ function usage {
success " --port=<arg> Specify the port number (default port is 8080)"
success " --ssh-port=<arg> Specify the ssh-port number (default ssh-port is 2222)"
success " --version=<arg> Specify the DevStar Studio Image Version (default verson is latest)"
success " --image=<arg> Specify the DevStar Studio Image example: devstar-studio:latest "
success " stop Stop the running DevStar Studio"
success " logs View the logs of the devstar-studio container"
failure " clean Clean up the running DevStar Studio, including deleting user data. Please use with caution."
@@ -159,7 +168,7 @@ case "$1" in
usage
;;
start)
ARGS=$(getopt --long port::,ssh-port::,version:: -- "$@")
ARGS=$(getopt --long port::,ssh-port::,version::,image:: -- "$@")
if [ $? -ne 0 ]; then
failure "ARGS ERROR!"
exit 1
@@ -179,7 +188,11 @@ case "$1" in
--version)
VERSION="$2"
echo "The DevStar Studio Image Version is: $VERSION"
shift 2 ;;
shift 2 ;;
--image)
IMAGE_STR="$2"
echo "The DevStar Studio Image: $IMAGE_STR"
shift 2 ;;
--)
shift
break ;;