上一主题 下一主题
ScriptCat,新一代的脚本管理器脚本站,与全世界分享你的用户脚本油猴脚本开发指南教程目录
返回列表 发新帖

自建git仓库(forgejo)

[复制链接]
  • TA的每日心情

    6 天前
  • 签到天数: 313 天

    [LV.8]以坛为家I

    13

    主题

    63

    回帖

    652

    积分

    荣誉开发者

    积分
    652

    荣誉开发者生态建设者

    发表于 前天 20:15 | 显示全部楼层 | 阅读模式

    本帖最后由 朱焱伟 于 2025-1-30 11:34 编辑

    自建git仓库(forgejo)

    前一段时间,GitLab区限制了中国区用户使用,下最后通牒说是六十天内要删除中国区用户的账户数据。
    这下真是“华人与狗不得入内”了。虽然使用国外代理IP暂时可以苟一段时间,但警钟已经敲响。
    除了使用GitHub,自己也可以自建Git托管。如果要求不高,自建GitLab实例的话,资源占用比较高,不太适合。
    自建Gitea是常见选择,内存占用较少,适合个人简单使用。社区有基于Gitea的分支forgejo,也可以尝试下。

    自建forgejo

    前提条件是,已经安装好docker和docker compose;并且给docker设置了国内可用的mirror。然后运行命令:

    set -x
    docker pull code.forgejo.org/forgejo/forgejo:9
    
    echo '请以root运行'
    if [ `whoami` != "root" ]; then
        echo "Error: Current user is not root, please change to root..."
        exit 1
    fi
    
    if [[ -f /usr/local/selfhosted/conf/compose/yml.d/forgejo.yml ]]; then
        echo "File /usr/local/selfhosted/conf/compose/yml.d/forgejo.yml already exists. Exit."
    else
        touch /etc/timezone
        echo 'Asia/Shanghai' > /etc/timezone
        touch /etc/localtime
        mkdir -p /usr/local/selfhosted/conf/compose/yml.d/
        mkdir -p /usr/local/selfhosted/file/forgejo/ # ./forgejo
        chmod -R 755 /usr/local/selfhosted/
        cat << EOF | cat > /usr/local/selfhosted/conf/compose/yml.d/forgejo.yml
    version: '3.9'
    
    networks:
      forgejo:
        external: false
    
    services:
      forgejo:
        image: codeberg.org/forgejo/forgejo:9
        container_name: forgejo
        environment:
          - USER_UID=1000
          - USER_GID=1000
        restart: always
        networks:
          - forgejo
        volumes:
          #- ./forgejo:/data
          #- ../../../file/forgejo mount path must be absolute
          - /usr/local/selfhosted/file/forgejo:/data
          - /etc/timezone:/etc/timezone:ro
          - /etc/localtime:/etc/localtime:ro
        ports:
          - '3000:3000'
          - '222:22'
    EOF
        cd /usr/local/selfhosted/file/
        # docker-compose -f /usr/local/selfhosted/conf/compose/yml.d/forgejo.yml up -d
        if command -v docker-compose &> /dev/null
        then
            docker-compose -f /usr/local/selfhosted/conf/compose/yml.d/forgejo.yml up -d
        else
            docker compose -f /usr/local/selfhosted/conf/compose/yml.d/forgejo.yml up -d
        fi
    fi
    
    # docker-compose -f /usr/local/selfhosted/conf/compose/yml.d/forgejo.yml stop

    启动之后,就可以访问服务器IP:3000来看网页界面,进行基础设置了。
    使用时,可以从GitHub或GitLab迁移仓库过来。其他也基本够用了。不过截止目前(2025年1月),forgejo好像还不支持subgroups,可见forgejo/issues/1024的讨论。

    当冥想的日子飞逝,喧嚣的日子把我们唤去,且在此地留下些微的痕迹
  • TA的每日心情
    擦汗
    2024-12-18 11:32
  • 签到天数: 194 天

    [LV.7]常住居民III

    740

    主题

    6310

    回帖

    7049

    积分

    管理员

    非物质文化遗产社会摇传承人

    积分
    7049

    荣誉开发者喜迎中秋油中2周年生态建设者

    发表于 前天 21:11 | 显示全部楼层
    好久没看到朱哥了!
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

    入驻了爱发电https://afdian.com/a/lihengdao666
    回复

    使用道具 举报

    发表回复

    本版积分规则

    快速回复 返回顶部 返回列表