coder oss 真正私有化部署的云端开发环境,nas也可以装

news2024/11/17 21:36:30

先看效果:

主界面,显示了你有那些工作空间

 某个工作空间,我这里集成了web版vscode,也可以使用本地的vscode和其他开发IDE

 

 有独立的终端和集成webide

 以后就可以一个ipad都可以写代码了;

下面是平台搭建过程(有点乱大家将就看)

首先了解 terraform 是干什么的,否则不知道模板是干嘛的。

coder-oss: 自建在线云端开发服务平台 (gitee.com)

根据此项目进行部署,按实际情况调整相应参数即可,本项目中已经包含了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工作空间

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/660900.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C语言入门基础知识(万字笔记)

一、前言部分 本篇文章,将会主要介绍c语言的基本数据类型、基本运算符、语句,三大结构、数组、指针、宏定义等内容 二、具体部分 1、基本数据类型 1、基本数据类型 在C语言中,承载一系列信息的数字或中字符都属于数据类型,计算…

产品设计.B端产品vsC端产品

一、用户群体 01、B端:一般是多角色群体、多维度,一般是3个维度,决策者(老板)、管理者(财务、业务部门负责人)和执行者(使用的用户)。 02、C端:群体相对单一…

K8s 中 port, targetPort, NodePort的区别

看1个例子: 我们用下面命令去创建1个pod2, 里面运行的是1个nginx kubectl create deployment pod2 --imagenginx当这个POD被创建后, 其实并不能被外部访问, 因为端口映射并没有完成. 我们用下面这个命令去创建1个svc &#xff…

msvcp140.dll是什么?怎么解决电脑提示msvcp140.dll丢失的问题?(分享解决方法)

msvcp140.dll是动态链接库文件,是一种不可执行的二进制程序文件,允许程序共享执行特殊任务所需要的代码和其他资源。程序可根据DLL文件中的指令打开、启用、查询、禁用和关闭驱动程序。 很多小伙伴在使用电脑软件的时候,有一些问题会搞不明白…

C语言之枚举联合

一、枚举 枚举顾名思义就是&#xff1a;列举 。 即把可能的取值一一列举出来 &#xff08;一&#xff09;枚举类型的定义 这里我们直接上代码&#xff1a; //枚举类型 #include <stdio.h>enum Sex//性别 {//枚举的可能取值-常量MALE 2,FEMALE 4,SECRET 8//以上为给…

LAMP架构及搭建LAMP+Discuz论坛

LAMP架构及搭建LAMPDiscuz论坛的流程 1、LAMP架构概述2、LAMP各组件的作用3、LAMP的安装顺序4、LAMP的数据流向5、编译安装Apache5.1 关闭防火墙和slinux&#xff0c;将安装Apache所需软件包传到/opt目录下并解压5.2 安装环境依赖包5.3 选择Apache软件模块5.4 编译和安装5.5 优…

使用 Sa-Token 实现 [记住我] 模式登录、七天免登录

一、需求分析 如图所示&#xff0c;一般网站的登录界面都会有一个 [记住我] 按钮&#xff0c;当你勾选它登录后&#xff0c;即使你关闭浏览器再次打开网站&#xff0c;也依然会处于登录状态&#xff0c;无须重复验证密码&#xff1a; 本文将详细介绍在 Sa-Token中&#xff0c;…

移动机器人底盘-四轮差速模型(四轮独立)

移动机器人底盘-四轮差速模型 文章目录 移动机器人底盘-四轮差速模型1. 四轮差速模型原理2. 工程实践2.1 Python实现2.2 C实现 1. 四轮差速模型原理 四轮差速模型底盘实例如下图所示。对于底盘的前轮和后轮来说&#xff0c;其速度是同步的&#xff0c;那么在理想条件下&#x…

PHY芯片的使用(一)之基本概念讲解(MII相关)2

今天想和大家交流一下MAC和PHY之间的接口MII。 MII(Media Independent Interface )是介质无关接口。MII接口定义了在MAC层和物理层之间传送数据和控制状态等信息的接口&#xff0c;它是10M和100M兼容的接口&#xff0c;经过扩展后还可以用于1000M的MAC层与物理层的接口&#x…

【libdatachannel】Transport的设计实现

作为ice传输实现的基类 具有实际的作用。 D:\XTRANS\thunderbolt\ayame\ZHB_LIB_DATACHANNEL\src\impl\transport.cpp 最重要的是封装了对impl的调用 Transport 比较牛,抽象了传输的基础能力 发送(调用ice接口发送) send(message_ptr message);接收(通过ice收到后使用回调方…

msvcp140.dll下载,无法启动此程序,因为计算机中丢失msvcp140.dll的解决方法

msvcp140.dll是动态链接库文件&#xff0c;是一种不可执行的二进制程序文件&#xff0c;允许程序共享执行特殊任务所需要的代码和其他资源。程序可根据DLL文件中的指令打开、启用、查询、禁用和关闭驱动程序。 很多小伙伴在使用电脑软件的时候&#xff0c;有一些问题会搞不明白…

layui框架学习(27:弹出层模块_其它用法)

除了前几篇文章介绍的弹出框类型外&#xff0c;layui的layer弹出层模块还支持相册框和tab框&#xff0c;所谓相册框即点击图片或按钮后会出现一个类似相册的页面单独浏览、切换图片&#xff0c;而tab框是指弹出框的显示形式类似于Winform中的TabControl控件&#xff0c;能以选项…

如何把一个 Git 仓库的分支加入另一个无关的 Git 仓库

文章目录 笔者需要将两个无关的 Git 仓库合并&#xff0c;也就是把一个 Git 仓库的分支加入另一个无关的 Git 仓库。笔者琢磨了一下之后就实现了。方法如下。 笔者的运行环境&#xff1a; git version 2.37.0.windows.1 TortoiseGit 2.11.0.0 IntelliJ IDEA 2023.1.1 (Ultima…

vue2_markdown的内容目录生成

文章目录 ⭐前言⭐引入vue-markdown&#x1f496; 全局配置&#x1f496; 渲染选项&#x1f496; 取出markdown的标题层级 ⭐结束 ⭐前言 大家好&#xff01;我是yma16&#xff0c;本文分享在vue2的markdown文本内容渲染和目录生成 背景&#xff1a; 优化个人博客功能&#xf…

Spring MVC简介附入门案例

目录 一、SpringMVC简介 1.1 MVC模型 1.2 SpringMVC 二、SpringMVC入门案例 2.1 创建项目 2.2 引入依赖和tomcat插件 2.3 修改web.xml文件 2.4 新建springmvc.xml文件 2.5 编写控制器 2.6 配置运行方式 2.7 运行测试 三、SpringMVC执行流程 3.1 SpringMVC的组件…

【FreeRTOS】FreeRTOS动态创建任务与删除

0. 实验准备 正点原子 STM32407ZG 探索者开发板 FreeRTOS 例程模板&#xff08;可以在这一篇文章找到&#xff1a;STM32F407 移植 FreeRTOS&#xff09; 1. 动态创建任务函数 API 1.1 函数简介 动态创建任务需要使用到BaseType_t xTaskCreate函数&#xff0c;我们可以在 Fr…

unittest教程__TestSuite测试套件(2)

在前面一章中演示了unittest如何执行一个简单的测试&#xff0c;但有两个问题&#xff1a; 我们知道测试用例的执行顺序是根据测试用例名称顺序执行的&#xff0c;在不改变用例名称的情况下&#xff0c;我们怎么来控制用例执行的顺序呢&#xff1f;一个测试文件&#xff0c;我…

事务底层与高可用原理

一、redo日志 在事务的实现机制上&#xff0c;MySQL采用的是WAL&#xff08;Write-ahead logging&#xff0c;预写式日志&#xff09;机制来实现的。 就是所有的修改都先被写入到日志中&#xff0c;然后再被应用到系统中。通常包含redo和undo两部分信息。 redo log称为重做日…

Spring执行流程和Bean的生命周期

1、Spring执行流程2、Bean的生命周期&#xff08;重点&#xff09;2.1、实例化和初始化的区别2.2、为什么先设置属性再进行初始化呢&#xff1f; 1、Spring执行流程 Spring执行流程&#xff08;Bean执行流程&#xff09;&#xff1a;1、在启动类中遇到了ApplicationContext的时…

【微服务】在window下安装nacos以及可能遇到的问题

介绍 这里是小编成长之路的历程&#xff0c;也是小编的学习之路。希望和各位大佬们一起成长&#xff01; 以下为小编最喜欢的两句话&#xff1a; 要有最朴素的生活和最遥远的梦想&#xff0c;即使明天天寒地冻&#xff0c;山高水远&#xff0c;路远马亡。 一个人为什么要努力&a…