# coder-oss **Repository Path**: dragonlhp/coder-oss ## Basic Information - **Project Name**: coder-oss - **Description**: 自建在线云端开发服务平台 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-06-18 - **Last Updated**: 2024-05-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README coder在开发平台搭建 需要知道 terraform 是干什么的,否则不知道模板是干嘛的。 创建一个配置文件到当前用户目录下,文件名为:.terraformrc 文件内容为: provider_installation { filesystem_mirror { path = "/home/coder/.terraform.d/plugins" } direct { exclude = ["terraform.local/*/*"] } } 以上内容的目的是为了能通过 /home/coder/.terraform.d/plugins目录找到本地的terraform.local下的插件,direct为忽略terraform.local下所有插件的在线监测新版本,有助于离线使用目录下的插件; 根据此项目进行部署,按实际情况调整相应参数即可,本项目中已经包含了coder-server(web版vscode) 和 coder-oss的两个必要插件(docker和coder) 有新版本更新后可以下载相应的版本二进制文件替换现有的版本,必须安装版本号创建相应的文件夹才能生效; 例如:plugins\coder\coder\0.8.3\linux_amd64\terraform-provider-coder_v0.8.3 plugins\kreuzwerker\docker\3.0.2\linux_amd64\terraform-provider-docker_v3.0.2 coder = { source = "terraform.local/coder/coder" version = "~> 0.8.3" } docker = { source = "terraform.local/kreuzwerker/docker" version = "~> 3.0.2" } terraform.local为本地 terraform 的访问路径 本项目也包含了两个模板 docker版本和docker-dotfiles_uri 版本,前者是完全自己构建项目开发空间,后者是自行构建空间同时拉取指定仓库的代码,使用指定的构建主容器镜像,以便更好、更方便的搭建开发环境 根据实际情况更改下面配置中的 目录映射地址和环境变量的参数 建议直接通过docker部署,不要使用 docker-compose,因为有虚拟交换机的问题,导致无法与创建的workspoace容器通讯,从而导致无法正常部署! 建议测试直接给容器docker用户权限,以便调用/var/run/docker.sock有权限。 CODER_HTTP_ADDRESS 必须设置设置外网访问地址建议直接写默认地址:0.0.0.0:3000 CODER_ACCESS_URL 绑定域名,外网访问必填,局域可填写ip地址http:// xxx.xxx.xxx.xxx:3000 CODER_UPDATE_CHECK 检查是否更新,建议否;需要更新直接去 docker.com 网站下载最新的二进制文件 CODER_PG_CONNECTION_URL pg数据库连接地址 registry.cn-hangzhou.aliyuncs.com/mycocker/coder:0.1 此容器是我自己构建的基础镜像,但是必须安装以下软件#     curl git golang sudo vim wget 支持 docker 命令参数部署方式 docker run --rm -d --name=codeross --privileged=true --user 0 -p 3000:3000 -v /volume3/docker/coder_oss/config:/home/coder/.config -v /volume3/docker/coder_oss/terraform:/home/coder/.terraform.d -v /var/run/docker.sock:/var/run/docker.sock -e CODER_UPDATE_CHECK=false -e CODER_HTTP_ADDRESS="0.0.0.0:3000" -e CODER_ACCESS_URL="http://11.11.11.7:3000" -e CODER_PG_CONNECTION_URL="postgresql://postgres_user:postgre_pwd@11.11.11.7:5505/coder?sslmode=disable" registry.cn-hangzhou.aliyuncs.com/mycocker/coder:0.1 由于本人技术有限,自己只玩通了docker命令部署方式,docker-compose没有解决网络问题 支持 docker-compose 部署方式 docker-compose up -d 此方式需要解决生成的workspace工作空间容器需要访问到coder主容器,否则无法正常生成workspace工作空间容器,因为docker-compose.yml默认生成了一个网络,构建的workspace工作空间容器是使用的默认桥接网络。 模板: 1、通过命令行进入到templates\docker或者templates\docker-with-dotfiles中对模板进行修改调整,已达到自己的部署目的 2、修改完成后在当前目录执行 首次执行登录操作:coder login http://youerserver ,执行完成后会打开你的服务器网站并让其登录,登录完成后打开认证页面,复制认证页面的token 直接粘贴到命令行中(和终端输入密码一样看不到的)按回车完成登录 然后执行 coder templates create 完成模板的创建 最后执行 coder templates push 推送本地模板到服务器 注意:coder命令到官网github地址上去下载,并安装到本地,设置好环境变量;官方为了推广是把coder命令行和服务器集成到一起的,请根据实际情况部署服务器和客户端 workspace 完成创建的模板后可以根据实际情况使用命令行或终端生成 workspace工作空间