CodeFever是完全免费开源的Git代码托管服务,支持一行命令安装到自己服务器!CodeFever Community Edition (A Self-hosted Git Service)
完全开源的 Git 代码托管服务
Built with ❤︎ by CodeFever
Demo
请点击这里查看 Demo(仅测试使用,请勿上传正式代码,本 Demo 运行在 1 核 1 GB 内存的云服务器上,大家可以体验下速度)
功能特性
🆓 永久免费: 永久免费提供给大家使用,您无需担心付费❤️ 完整开源: 毫无保留的完整开源,无任何编译或加密代码🥬 轻量安装: 极简设计风格,排除重度冗余的多余功能⚡️ 性能高效: 速度极快,对服务器资源要求极低,1核CPU/1G内存即可运行♾️ 无限仓库: 没有任何仓库数量、使用数量的限制⌨️ 代码对比: 支持提交代码的不同版本支持高亮显示对比🛤️ 分支管理: 完整支持 Git 原生分支和 Tag,帮助更清晰的管理代码🙋♂️ 合并请求(Merge Request): 支持多人协作,让代码版本控制更顺畅- 🙅🏻♀️ 分支保护: 分支保护功能让代码提交安全可控,代码 Review 更容易清晰
👥 多人协作: 支持多人团队协作,并可以设置每个成员的角色和权限🖥️ 管理后台: 支持超级管理员后台,可以让团队leader管理所有项目和用户信息💬 中英双语: 原生支持中文和英文两种语言
如何安装
CodeFever
提供 从零开始安装
和 Docker 镜像安装
两种安装方式,可以根据自己的实际需要选择安装方式。
- (推荐) 最简单的安装方式是使用
Docker
, 只需要一行命令即可完成, 具体可见: Docker 镜像安装 - 如果出于学习、研究或定制化需求, 也可以手动方式安装, 具体可见: 从零开始安装
如何更新
CodeFever
可以进行保留原有数据更新, 按照如下文档即可完成更新操作。具体可见: 更新 CodeFever
使用说明
问题反馈
贡献代码
欢迎提交 PR
, 请确定修复 Bug
后或者新增 Feature
后进行适当的测试。
- 如果
PR
内容是问题,请先提交Issue
并在提交 PR 时引用该Issue
。参照: 提交问题修复 - 如果
PR
内容是新特性,请在PR
中请尽量详细描述此特性的内容,如果此 PR 是针对某个特性请求的提交,在提交 PR 时引用该Issue
。参照: 提交新特性
贡献文档
欢迎指正文档中的错误或参加翻译工作,提交 PR
前请确定文档内容表述是否准确,具体参照: 提交文档
关于
CodeFever
项目起初由 蒲公英开发者服务平台
开发和维护, 项目于 2020 年 6 月上线 https://codefever.pgyer.com/ 。 经过将近两年时间打磨和稳定性验证, 于 2022 年 2 月开源, 接受社区的考验。
CodeFever
开源后, 开源版本称为 CodeFever Conmmunity
版本。同时公有云版本继续服务,继续称为 CodeFever
。
CodeFever Community
由 蒲公英开发者服务平台
团队完整自主研发并基于 MIT
协议进行完整开源, 拥有完全自主的知识产权, 因此您可以放心使用而不必考虑是否侵犯他人权利。
CodeFever Community
保留了 CodeFever
的大部分功能, 并且进行了更适合单机部署的优化。CodeFever Community
也会随 CodeFever
更新的同时接受来自社区的提交。
from https://github.com/PGYER/codefever
-----
从零开始安装
此文档适用条件
如果你的情况符合以下条件, 你可以使用
从零开始安装
的方式安装CodeFever.
安装步骤
0. 安装前的说明
此安装步骤是推荐的 从头开始安装
步骤, 举例的脚本适用于大部分 Linux
操作系统。
此安装步骤详细指导均以 CentOS 7.x Linux
操作系统为例,不同操作系统可能会有不同差别,需要用户自行对应到相应操作。
整个安装过程需要使用 root
操作系统用户来完成。
步骤1
-步骤8
均为软件环境安装步骤。如果你的操作已经具备当前步骤的软件或环境,此步骤可以跳过。
1. 准备操作系统环境
选择合适的 Linux
发行版本,推荐使用 CentOS 7.x
。
- 执行编译安装时需要保证机器至少有
1500 MB
内存,如果内存不足1500 MB
请临时添加交换分区使可用内存到达1500 MB
。
# 临时增加 512 MB Swap 空间
dd if=/dev/zero of=/root/swap bs=1024 count=500000
mkswap /root/swap
swapon /root/swap
为了顺利的设置必要的软件环境,以下的软件包必须安装到系统上。
# 安装基础软件包
yum install -y sudo tcl tk gettext autoconf gcc cmake3 wget initscripts openssh-server pcre pcre-devel libcurl libcurl-devel libxml2 libxml2-devel openssl openssl-devel sqlite sqlite-devel libpng libpng-devel libwebp libwebp-devel libjpeg libjpeg-devel libXpm libXpm-devel freetype freetype-devel oniguruma oniguruma-devel libyaml libyaml-devel
除此之外,你还需要安装 libzip 1.7+
库,需要去官网下载源码包解压后安装。
下载地址: https://libzip.org/download/
# 编译安装 libzip
cd libzip-1.x.x
mkdir build
cd build
cmake3 ../
make && make install
export PKG_CONFIG_PATH="/usr/local/lib64/pkgconfig/:/usr/local/lib/pkgconfig/"
2. 安装 nginx
访问 http://nginx.org/en/download.html 下载 Nginx
源码解压后编译并安装安装到 /usr/local/nginx
目录下:
# 安装 nginx 到 /usr/local/nginx 目录
cd nginx-1.x.x
./configure --prefix=/usr/local/nginx
make && make install
3. 安装 PHP
访问 https://www.php.net/downloads 下载 PHP
源码 (推荐 7.4
版本),解压后编译并安装到 /usr/local/php
目录下
配置检查过程可能会提示缺少某些软件包,需要根据配置检查过程提示自行安装后再重复配置检查过程
# 安装 php 到 /usr/local/php 目录
cd php-7.4.x
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm --enable-bcmath=shared --with-pdo_sqlite --with-gettext=shared --with-iconv --enable-ftp=shared --with-sqlite3 --enable-mbstring=shared --enable-sockets=shared --enable-soap=shared --with-openssl --with-zlib --with-curl=shared --enable-gd --with-freetype --with-jpeg --with-xpm --with-webp --with-mhash --enable-opcache --with-mysqli --without-pear --with-libdir=lib64 --with-zip --enable-mbstring --enable-pcntl
make && make install
Codefever
还需要以下PHP 扩展
才能良好工作,按照下面地址下载并安装
# 安装 php yaml 扩展
cd yaml-2.x.x
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
4. 安装 Git
访问 https://mirrors.edge.kernel.org/pub/software/scm/git/ 下载 Git v2
的源码,解压后编译并安装到 /usr/local/git
目录下
# 安装 git v2 到 /usr/local/git 目录下
cd git-2.x.x
./configure --prefix=/usr/local/git
make && make install
连接可执行文件到 /usr/local/bin
目录下
# 链接可执行文件
ln -s /usr/local/git/bin/git /usr/local/bin/
5. 安装 Go (无需编译, 二进制安装)
访问 https://golang.google.cn/dl/ 下载 1.16 版本的二进制安装包解压后复制到 /usr/local/go
目录下
# 复制到 /usr/local 目录下
cp -R go /usr/local
连接可执行文件到 /usr/local/bin
目录下
# 链接可执行文件
ln -s /usr/local/go/bin/go /usr/local/bin/go
ln -s /usr/local/go/bin/gofmt /usr/local/bin/gofmt
6. 安装 NodeJS (无需编译, 二进制安装, 开发或修改前端页面时使用)
访问 https://nodejs.org/en/download/ 下载 16.10
以上 LTS
版本二进制安装包解压后复制到 /usr/local/node
目录下
# 复制到 /usr/local 目录下
cp -R node-v16.x.x-os-arch /usr/local/node
连接可执行二进制文件到 /usr/local/bin/
目录下
# 链接可执行文件
ln -s /usr/local/node/bin/node /usr/local/bin/node
ln -s /usr/local/node/bin/npm /usr/local/bin/npm
ln -s /usr/local/node/bin/npx /usr/local/bin/npx
ln -s /usr/local/node/bin/corepack /usr/local/bin/corepack
7. 安装 Yarn
访问 https://yarnpkg.com/getting-started/install 按照页面指导安装 Yarn
# NodeJS v16.10 以上打开 corepack 即可使用 Yarn
corepack enable
8. 安装 MySQL/MariaDB (无需编译, 镜像源安装)
MySQL 不需要单独安装,直接使用系统自带软件工具安装软件包即可。需要安装于 MySQL 5.7
以上的相当版本。
去官网按照指导使用镜像源安装二进制版本 (https://mariadb.org/download/?t=repo-config 选择 xTom GmbH - San Jose
镜像),如果你使用使用云数据库,你可以跳过此步骤。
启动服务后使用 mysql_secure_installation
或 mariadb-secure-installation
初始化数据库
*当设置 root
密码为 123456
时,不需要在下一步中修改 env.yaml
中的数据库设置。
如果你使用 MySQL 5.7
版本数据,需要修改 SQL MODE
变量,否则创建数据库时会报错,如果使用 MariaDB
可以忽略此选项。
set global sql_mode='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
9. 下载源码并安装
去 Github
上下载源码并安装 /data/www/codefever-comminuty
目录下
mkdir -p /data/www
cd /data/www
git clone https://github.com/PGYER/codefever.git codefever-community
cd codefever-community
- 如果
Github
的HTTP
服务访问速度较慢,可以尝试使用SSH
服务(需要提前设置SSH Key
)
git clone ssh://git@github.com:PGYER/codefever.git codefever-community
编译 HTTP
网关服务
cd /data/www/codefever-community/http-gateway
export GO111MODULE=off
export GOPROXY=https://mirrors.aliyun.com/goproxy
go get gopkg.in/yaml.v2
go build main.go
编译 SSH
网关服务
cd /data/www/codefever-community/ssh-gateway/shell
export GO111MODULE=off
export GOPROXY=https://mirrors.aliyun.com/goproxy
go get gopkg.in/yaml.v2
go build main.go
执行安装脚本
cd /data/www/codefever-community/misc
sh ./install.sh
按照 install.sh
运行后提示修改 env.yaml
文件设置参数
运行数据库迁移脚本
cd /data/www/codefever-community/misc
sh ./create_db.sh
如果你不需要对 CodeFever 进行代码上的修改, 或者将来不计划运行单元测试, 可以删除测试数据
cd /data/www/codefever-community/misc
sh ./remove_test_data.sh
为服务开启 chkconfig
以开机自动运行
chkconfig mariadb on # 或 chkconfig mysql on (根据安装的数据库类型, 如果使用云服务忽略此项目)
chkconfig nginx on
chkconfig php-fpm on
chkconfig codefever on
尝试访问 http://127.0.0.1
或 http://<server ip>
来登录
默认管理员用户: root@codefever.cn
, 密码: 123456
。登录后请修改密码并绑定 MFA 设备。
10. 服务维护
服务维护请参见 管理员设置/概览和系统服务 中的 系统服务状态及维护
一节.
from https://github.com/PGYER/codefever/blob/master/doc/zh-cn/installation/install_from_scratch.md
No comments:
Post a Comment