diff --git a/.gitignore b/.gitignore index 34b7396816..55698c4021 100644 --- a/.gitignore +++ b/.gitignore @@ -48,7 +48,6 @@ cpu.out *.log.*.gz /gitea -/devstar /gitea-vet /debug /integrations.test diff --git a/Makefile b/Makefile index ad7f20cb0e..bdeb8878cd 100644 --- a/Makefile +++ b/Makefile @@ -56,10 +56,10 @@ else ifeq ($(patsubst Windows%,Windows,$(OS)),Windows) endif ifeq ($(IS_WINDOWS),yes) GOFLAGS := -v -buildmode=exe - EXECUTABLE ?= devstar.exe + EXECUTABLE ?= gitea.exe else GOFLAGS := -v - EXECUTABLE ?= devstar + EXECUTABLE ?= gitea endif ifeq ($(shell sed --version 2>/dev/null | grep -q GNU && echo gnu),gnu) diff --git a/README.md b/README.md index f3de30d8bb..120ff82855 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ DevStar Studio的愿景:服务全球软件开发者! 如果你是云服务厂商想为您的客户提供DevStar实例请联系contact@mengning.com.cn -## Quick Start from source code +## Quick Start 快速开始 如果您是在Windows环境下,请先运行如下命令: @@ -23,36 +23,6 @@ powershell wsl --install -d Ubuntu-20.04 在Ubuntu-20.04下完成安装: ```bash -# download and install go -wget -c https://go.dev/dl/go1.23.3.linux-amd64.tar.gz -sudo rm -rf /usr/local/go && sudo tar -C /usr/local -xzf go1.23.3.linux-amd64.tar.gz -export PATH=$PATH:/usr/local/go/bin -go version - -# download and install Node.js -wget -c https://nodejs.org/dist/v22.11.0/node-v22.11.0-linux-x64.tar.xz -sudo tar -xf node-v22.11.0-linux-x64.tar.xz -C /usr/local/ -echo 'export PATH=/usr/local/node-v22.11.0-linux-x64/bin:$PATH' >> ~/.bashrc -source ~/.bashrc -node -v # should print `v22.11.0` -npm -v # should print `10.9.0` - - -git clone https://gitee.com/devstar/devstar.git -code devstar -npm install -make watch # for debuging -make test # testing -TAGS="bindata sqlite sqlite_unlock_notify" make build # 生成可执行文件devstar -``` - -### Build Container Image - -todo - -### Start from Container Image - -``` sudo apt update sudo apt install docker.io sudo docker pull devstar.cn/devstar/devstar-studio:latest @@ -61,6 +31,94 @@ sudo docker run --restart=always --name devstar-studio -d -p 8080:3000 -v /var/ 打开 `http://localhost:8080` 完成安装。 +### 1.1 单机版 + +#### 1.1.1 **Linux部署** + +- 数据库准备(可选sqlite不需要配置),[参考网址](https://docs.gitea.com/zh-cn/installation/database-prep) +- 环境准备 + - [docker官网](https://www.docker.com/) + - [git官网](https://git-scm.com/) + + +- 下载Linux可执行文件压缩包 + - **tar -xzvf** 解压缩得到可执行文件 + - 部署流程命令[参考网址](https://docs.gitea.com/zh-cn/installation/install-from-binary) + +#### 1.1.2 **Docker容器部署** + +- 数据库准备(可选sqlite不需要配置),[参考网址](https://docs.gitea.com/zh-cn/installation/database-prep) +- 环境准备 + - [docker官网](https://www.docker.com/) + - [git官网](https://git-scm.com/) +- 镜像准备(可选镜像文件方式或远程拉取方式) + - 下载镜像文件压缩包 + - **tar -xzvf** 解压缩得到镜像文件 + - 加载镜像:docker load -i <镜像文件名> + - docker images 验证 + - docker pull devstar.cn/devstar/devstar-studio:latest +- 运行容器(区分windows和linux) + - windows + - cmd运行**docker run --restart=always --name <容器名> -d -p 3000:3000 <镜像名/ID>** ,**docker ps** 验证 + - 浏览 `http://localhost:3000`进行数据库配置,**配置成功即可看到登录注册页面** + - docker desktop配置打开 **`Expose daemon on tcp://localhost:2375 without TLS`** 选项 + - docker desktop在容器界面找到文件系统中 **/etc/gitea/app.ini**修改配置文件(见下表) + - 重启容器 + - docker desktop对应容器页面的log页面可见日志 + - linux + - docker run --restart=always --name <容器名> -d -p 3000:3000 -v /var/run/docker.sock:/var/run/docker.sock <镜像名> + - 浏览 `http://localhost:3000`进行数据库配置,**配置成功即可看到登录注册页面** + - **sudo chmod 666 /var/run/docker.sock**修改host文件权限 + - **docker cp <容器名/ID>:/etc/gitea/app.ini ./app.ini** 修改配置文件(见下表) + **docker cp ./app.ini <容器名/ID>:/etc/gitea/app.ini** + - docker restart <容器名/ID>重启容器 + - **docker logs -f <容器名/ID>** 可见日志 + +配置文件添加/修改 下列小节键: + +```ini +[database] +CHARSET_COLLATION = utf8mb4_bin + +[devstar.ssh_key_pair] +KEY_SIZE = <写入希望生成的SSH密钥长度,比如 4096 ,默认值 2048> + +[cors] +ENABLED = true +ALLOW_DOMAIN = * +METHODS = GET,HEAD,POST,PUT,PATCH,DELETE,OPTIONS +HEADERS = Accept, Content-Type, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization +MAX_AGE = 10m + +[ui.admin] +;; Dev Container 分页参数(每页展示 DevContainer 个数),若未指定,默认值 50 +DEV_CONTAINERS_PAGING_NUM = 50 + +[devstar.devcontainer] +ENABLED = true +AGENT = docker +TIMEOUT_SECONDS = 120 +;; 修改为部署host地址 +HOST = 192.168.88.88 +;; docker desktop必须添加,linux docker环境删除 +DOCKER_HOST = tcp://host.docker.internal:2375 + +``` + +#### 1.1.3 开发容器功能使用 + +1. 添加publickey:用户-设置-SSH / GPG 密钥-管理 SSH 密钥 +2. 创建仓库,新增 **.devcontainer/devcontainer.json**文件**添加 image 字段**,例如:"image":"..."(必须是自带OpenSSH服务的镜像) +3. 创建开发容器:仓库-开发容器-创建开发容器 + + + +```bash + +``` + + + ## 提示 1. **开始贡献代码之前请确保你已经看过了 [贡献者向导(英文)](CONTRIBUTING.md)**. diff --git a/docker/root/etc/s6/gitea/setup b/docker/root/etc/s6/gitea/setup index f2bc8fd868..b801ef4e03 100755 --- a/docker/root/etc/s6/gitea/setup +++ b/docker/root/etc/s6/gitea/setup @@ -32,7 +32,7 @@ if [ ! -f ${GITEA_CUSTOM}/conf/app.ini ]; then fi # Substitute the environment variables in the template - APP_NAME=${APP_NAME:-"DevStar Studio"} \ + APP_NAME=${APP_NAME:-"Gitea: Git with a cup of tea"} \ RUN_MODE=${RUN_MODE:-"prod"} \ DOMAIN=${DOMAIN:-"localhost"} \ SSH_DOMAIN=${SSH_DOMAIN:-"localhost"} \ diff --git a/docker/rootless/usr/local/bin/docker-setup.sh b/docker/rootless/usr/local/bin/docker-setup.sh index 48ae41c023..feab02a379 100755 --- a/docker/rootless/usr/local/bin/docker-setup.sh +++ b/docker/rootless/usr/local/bin/docker-setup.sh @@ -26,7 +26,7 @@ if [ ! -f ${GITEA_APP_INI} ]; then fi # Substitute the environment variables in the template - APP_NAME=${APP_NAME:-"DevStar Studio"} \ + APP_NAME=${APP_NAME:-"Gitea: Git with a cup of tea"} \ RUN_MODE=${RUN_MODE:-"prod"} \ RUN_USER=${USER:-"git"} \ SSH_DOMAIN=${SSH_DOMAIN:-"localhost"} \ diff --git a/docs/content/administration/config-cheat-sheet.en-us.md b/docs/content/administration/config-cheat-sheet.en-us.md index 002ab0aec8..0c15a866b6 100644 --- a/docs/content/administration/config-cheat-sheet.en-us.md +++ b/docs/content/administration/config-cheat-sheet.en-us.md @@ -66,7 +66,7 @@ In addition, there is _`StaticRootPath`_ which can be set as a built-in at build ## Overall (`DEFAULT`) -- `APP_NAME`: **DevStar Studio**: Application name, used in the page title. +- `APP_NAME`: **Gitea: Git with a cup of tea**: Application name, used in the page title. - `RUN_USER`: **_current OS username_/`$USER`/`$USERNAME` e.g. git**: The user Gitea will run as. This should be a dedicated system (non-user) account. Setting this incorrectly will cause Gitea to not start. diff --git a/docs/content/administration/config-cheat-sheet.zh-cn.md b/docs/content/administration/config-cheat-sheet.zh-cn.md index 0019d9d86f..7d51c758b6 100644 --- a/docs/content/administration/config-cheat-sheet.zh-cn.md +++ b/docs/content/administration/config-cheat-sheet.zh-cn.md @@ -66,7 +66,7 @@ menu: ## Overall (`DEFAULT`) -- `APP_NAME`: **DevStar Studio** 应用名称,在网页的标题中显示。 +- `APP_NAME`: **Gitea: Git with a cup of tea** 应用名称,在网页的标题中显示。 - `RUN_USER`: **_current OS username_/`$USER`/`$USERNAME` e.g. git**: 运行Gitea的用户, 应当是一个专用的系统账户(非用户使用,推荐创建一个专用的`git`用户). 如果在你自己的个人电脑使用改成你自己的用户名。 该配置如果设置不正确,Gitea可能崩溃。 diff --git a/docs/content/installation/on-kubernetes.en-us.md b/docs/content/installation/on-kubernetes.en-us.md index d5fc4183db..00f2aab28d 100644 --- a/docs/content/installation/on-kubernetes.en-us.md +++ b/docs/content/installation/on-kubernetes.en-us.md @@ -51,7 +51,7 @@ HTTP/1.1 200 OK { "status": "pass", - "description": "DevStar Studio", + "description": "Gitea: Git with a cup of tea", "checks": { "cache:ping": [ { diff --git a/docs/content/installation/on-kubernetes.zh-cn.md b/docs/content/installation/on-kubernetes.zh-cn.md index 0685131eac..aa5d10f934 100644 --- a/docs/content/installation/on-kubernetes.zh-cn.md +++ b/docs/content/installation/on-kubernetes.zh-cn.md @@ -342,7 +342,7 @@ HTTP/1.1 200 OK { "status": "pass", - "description": "DevStar Studio", + "description": "Gitea: Git with a cup of tea", "checks": { "cache:ping": [ { diff --git a/docs/content/installation/with-docker.zh-cn.md b/docs/content/installation/with-docker.zh-cn.md index 72ab782ba5..fcaff1c119 100644 --- a/docs/content/installation/with-docker.zh-cn.md +++ b/docs/content/installation/with-docker.zh-cn.md @@ -236,7 +236,7 @@ MySQL 或 PostgreSQL 容器将需要分别创建。 (默认值以**粗体**显示) -- `APP_NAME`:**“DevStar Studio”**:应用程序名称,在页面标题中使用。 +- `APP_NAME`:**“Gitea: Git with a cup of tea”**:应用程序名称,在页面标题中使用。 - `RUN_MODE`:**prod**:应用程序运行模式,会影响性能和调试。"dev","prod"或"test"。 - `DOMAIN`:**localhost**:此服务器的域名,用于 Gitea UI 中显示的 http 克隆 URL。 - `SSH_DOMAIN`:**localhost**:该服务器的域名,用于 Gitea UI 中显示的 ssh 克隆 URL。如果启用了安装页面,则 SSH 域服务器将采用以下形式的 DOMAIN 值(保存时将覆盖此设置)。 diff --git a/modules/setting/server.go b/modules/setting/server.go index 9558579d6d..8473b8636d 100644 --- a/modules/setting/server.go +++ b/modules/setting/server.go @@ -166,7 +166,7 @@ func MakeAbsoluteAssetURL(appURL, staticURLPrefix string) string { func loadServerFrom(rootCfg ConfigProvider) { sec := rootCfg.Section("server") - AppName = rootCfg.Section("").Key("APP_NAME").MustString("DevStar Studio") + AppName = rootCfg.Section("").Key("APP_NAME").MustString("Gitea: Git with a cup of tea") Domain = sec.Key("DOMAIN").MustString("localhost") HTTPAddr = sec.Key("HTTP_ADDR").MustString("0.0.0.0") diff --git a/package-lock.json b/package-lock.json index 5adf37e652..2f7a200ed2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,5 +1,5 @@ { - "name": "devstar", + "name": "gitea", "lockfileVersion": 3, "requires": true, "packages": { diff --git a/tests/e2e/example.test.e2e.js b/tests/e2e/example.test.e2e.js index 2b079e1915..57c69a2917 100644 --- a/tests/e2e/example.test.e2e.js +++ b/tests/e2e/example.test.e2e.js @@ -9,7 +9,7 @@ test.beforeAll(async ({browser}, workerInfo) => { test('Load Homepage', async ({page}) => { const response = await page.goto('/'); await expect(response?.status()).toBe(200); // Status OK - await expect(page).toHaveTitle(/^DevStar Studio\s*$/); + await expect(page).toHaveTitle(/^Gitea: Git with a cup of tea\s*$/); await expect(page.locator('.logo')).toHaveAttribute('src', '/assets/img/logo.svg'); }); diff --git a/tests/mssql.ini.tmpl b/tests/mssql.ini.tmpl index 81eb428a1a..77c969e813 100644 --- a/tests/mssql.ini.tmpl +++ b/tests/mssql.ini.tmpl @@ -1,4 +1,4 @@ -APP_NAME = DevStar Studio +APP_NAME = Gitea: Git with a cup of tea RUN_MODE = prod [database] diff --git a/tests/mysql.ini.tmpl b/tests/mysql.ini.tmpl index 518babf79d..0fddde46de 100644 --- a/tests/mysql.ini.tmpl +++ b/tests/mysql.ini.tmpl @@ -1,4 +1,4 @@ -APP_NAME = DevStar Studio +APP_NAME = Gitea: Git with a cup of tea RUN_MODE = prod [database] diff --git a/tests/pgsql.ini.tmpl b/tests/pgsql.ini.tmpl index 7576b5d174..6b54f790c5 100644 --- a/tests/pgsql.ini.tmpl +++ b/tests/pgsql.ini.tmpl @@ -1,4 +1,4 @@ -APP_NAME = DevStar Studio +APP_NAME = Gitea: Git with a cup of tea RUN_MODE = prod [database] diff --git a/tests/sqlite.ini.tmpl b/tests/sqlite.ini.tmpl index 46a85250e0..1cbcd8b2e5 100644 --- a/tests/sqlite.ini.tmpl +++ b/tests/sqlite.ini.tmpl @@ -1,4 +1,4 @@ -APP_NAME = DevStar Studio +APP_NAME = Gitea: Git with a cup of tea RUN_MODE = prod [database]