coder安装

发布时间 2023-12-14 15:10:47作者: 逢生博客

官方文档

简介

Coder 是一个面向开发者的工具,主要用于提供远程开发环境。以下是 Coder 的主要作用和功能:

  • 远程开发环境: Coder 允许开发者通过浏览器远程访问他们的开发环境。这意味着你可以从任何地方、任何设备上的浏览器中访问你的开发环境,而无需在本地安装开发工具。
  • 协作和共享: Coder 提供了协作和共享的功能,多个开发者可以共同使用同一个开发环境。这有助于团队协作、代码审查和知识共享。
  • 一致的开发环境: Coder 确保团队中每个成员都使用相同的开发环境,消除了"在我的机器上可以工作"的问题。这有助于减少环境配置引起的问题,提高开发效率。
  • 支持多种编程语言和工具: Coder 提供了支持多种编程语言和工具的开发环境模板,使得开发者可以轻松切换和配置他们的开发环境。
  • 容器化支持: Coder 使用容器技术来隔离开发环境,这有助于提高安全性和灵活性。每个开发环境都运行在独立的容器中。
  • 版本控制和备份: Coder 提供版本控制功能,可以轻松回滚到先前的开发环境状态。同时,它还支持定期备份,以防止数据丢失。
  • 安全性: Coder 实现了一系列安全措施,包括用户身份验证、访问控制和加密通信,以确保开发环境的安全性。

Docker部署

  • CODER_HTTP_ADDRESS 设置外网访问地址 0.0.0.0:3000
  • CODER_ACCESS_URL 局域可填写IP地址
  • CODER_UPDATE_CHECK 检查是否更新
  • CODER_PG_CONNECTION_URL 数据库连接地址
version: '3'
services:
  coder:
    image: ghcr.io/coder/coder:v2.5.0
    container_name: coder
    restart: always
    privileged: true
    ports:
      - '3000:3000'
    environment:
      CODER_UPDATE_CHECK: "false"
      CODER_HTTP_ADDRESS: "0.0.0.0:3000"
      CODER_ACCESS_URL: "http://192.168.0.233:3000"
      CODER_PG_CONNECTION_URL: "postgresql://root:4NIzpB7Bf@192.168.0.233:5432/coder?sslmode=disable"
    volumes:
      - /etc/localtime:/etc/localtime
      - /var/run/docker.sock:/var/run/docker.sock
      - /home/coder/config:/home/coder/.config
      - /home/coder/terraform.d:/home/coder/.terraform.d
    depends_on:
      - postgres
  postgres:
    image: postgres:16
    container_name: postgres
    restart: always
    ports:
      - '5432:5432'
    environment:
      POSTGRES_USER: 'root'
      POSTGRES_PASSWORD: '4NIzpB7Bf'
      POSTGRES_DB: 'coder'
      PGDATA: /var/lib/postgresql/data
    volumes:
      - /etc/localtime:/etc/localtime
      - ./postgres/data:/var/lib/postgresql/data
# 进入容器
docker exec -it coder /bin/bash
coder login http://192.168.0.233:3000
# 创建模板
coder templates create
# 推送本地模板到服务器
coder templates push

postgres配置外网访问

访问IP

  • pg_hba.conf文件在data目录下
# IPv4 local connections:
host    all             all             0.0.0.0/0               trust

METHOD的ident修改为trust,可以实现用账户和密码来访问数据库

监听地址

  • postgresql.conf文件在data目录下
listen_addresses = '*'