diff --git a/.github/workflows/deploy-image.yml b/.github/workflows/deploy-image.yml new file mode 100644 index 000000000000..739ca3ae860a --- /dev/null +++ b/.github/workflows/deploy-image.yml @@ -0,0 +1,46 @@ +# Builds and pushes the Docker image to GitHub Container Registry +name: Publish Docker Image + +on: + push: + branches: [main] + workflow_dispatch: + +env: + REGISTRY: ghcr.io + IMAGE_NAME: ${{ github.repository }} + +jobs: + build-and-push: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Log in to the Container registry + uses: docker/login-action@v3 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@v5 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + tags: | + type=raw,value=latest + type=sha,prefix= + + - name: Build and push Docker image + uses: docker/build-push-action@v5 + with: + context: . + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} diff --git a/README.md b/README.md index bcf3cebb9261..429520e816ac 100644 --- a/README.md +++ b/README.md @@ -1,84 +1,82 @@ -# code-server +# Claude Code Server -[!["GitHub Discussions"](https://img.shields.io/badge/%20GitHub-%20Discussions-gray.svg?longCache=true&logo=github&colorB=purple)](https://github.com/coder/code-server/discussions) [!["Join us on Slack"](https://img.shields.io/badge/join-us%20on%20slack-gray.svg?longCache=true&logo=slack&colorB=brightgreen)](https://coder.com/community) [![Twitter Follow](https://img.shields.io/twitter/follow/CoderHQ?label=%40CoderHQ&style=social)](https://twitter.com/coderhq) [![Discord](https://img.shields.io/discord/747933592273027093)](https://discord.com/invite/coder) [![codecov](https://codecov.io/gh/coder/code-server/branch/main/graph/badge.svg?token=5iM9farjnC)](https://codecov.io/gh/coder/code-server) [![See latest](https://img.shields.io/static/v1?label=Docs&message=see%20latest&color=blue)](https://coder.com/docs/code-server/latest) +![Claude Code Server Logo](https://raw.githubusercontent.com/sphinxcode/claude-code-server/refs/heads/main/public/claude-code-server-logo.png) + +**Browser-based VS Code with Claude Code CLI pre-installed** + +[![Deploy on Railway](https://railway.com/button.svg)](https://railway.com/template/claude-code-server) ![Mobile Mockup](https://raw.githubusercontent.com/sphinxcode/claude-code-server/refs/heads/main/public/iphone_mockup.png) -Run [VS Code](https://github.com/Microsoft/vscode) on any machine anywhere and -access it in the browser. +Deploy a full VS Code development environment in the cloud with Claude Code CLI ready to go. Access it from any browser, on any device. Code with AI assistance anywhere. + +--- -![Screenshot](./assets/screenshot-1.png) -![Screenshot](./assets/screenshot-2.png) +## Features -## Highlights +- **Claude Code CLI Pre-installed** – Start AI-assisted coding immediately with `claude` or `claude-auto` (YOLO mode) +- **Browser-Based VS Code** – Full IDE experience accessible from any device +- **Persistent Storage** – Your extensions, settings, and projects survive redeploys +- **Non-Root Security** – Runs as the `clauder` user with optional sudo access +- **One-Click Deploy** – Deploy to Railway in 60 seconds -- Code on any device with a consistent development environment -- Use cloud servers to speed up tests, compilations, downloads, and more -- Preserve battery life when you're on the go; all intensive tasks run on your - server +--- -## Requirements +## Quick Start -See [requirements](https://coder.com/docs/code-server/latest/requirements) for minimum specs, as well as instructions -on how to set up a Google VM on which you can install code-server. +### Deploy to Railway -**TL;DR:** Linux machine with WebSockets enabled, 1 GB RAM, and 2 vCPUs +Click the button above, or: -## Getting started +1. Go to [Railway Templates](https://railway.com/templates) +2. Search for "Claude Code Server" +3. Click **Deploy** and set your `PASSWORD` +4. Attach a volume to `/home/clauder` +5. Open the generated domain in your browser -There are five ways to get started: +### First Login -1. Using the [install - script](https://github.com/coder/code-server/blob/main/install.sh), which - automates most of the process. The script uses the system package manager if - possible. -2. Manually [installing - code-server](https://coder.com/docs/code-server/latest/install) -3. Deploy code-server to your team with [coder/coder](https://cdr.co/coder-github) -4. Using our one-click buttons and guides to [deploy code-server to a cloud - provider](https://github.com/coder/deploy-code-server) ⚡ -5. Using the [code-server feature for - devcontainers](https://github.com/coder/devcontainer-features/blob/main/src/code-server/README.md), - if you already use devcontainers in your project. +1. Enter the password you set +2. Open the terminal in VS Code +3. Run `claude` to start coding with AI -If you use the install script, you can preview what occurs during the install -process: +--- -```bash -curl -fsSL https://code-server.dev/install.sh | sh -s -- --dry-run -``` +## Configuration -To install, run: +### Required Variables -```bash -curl -fsSL https://code-server.dev/install.sh | sh -``` +| Variable | Description | +|------------|------------------------------------| +| `PASSWORD` | Login password for the web IDE | -When done, the install script prints out instructions for running and starting -code-server. +### Optional Variables -> **Note** -> To manage code-server for a team on your infrastructure, see: [coder/coder](https://cdr.co/coder-github) +| Variable | Default | Description | +|----------------|--------------------------------|------------------------------------------| +| `CLAUDER_HOME` | `/home/clauder` | Volume mount path | +| `RUN_AS_USER` | `clauder` | Set to `root` if you need root access | +| `APP_NAME` | `Claude Code Server` | Login page title | +| `WELCOME_TEXT` | `Welcome to Claude Code Server`| Login page message | -We also have an in-depth [setup and -configuration](https://coder.com/docs/code-server/latest/guide) guide. +### Volume Configuration -## Questions? +> ⚠️ **CRITICAL**: Without a volume, ALL data is lost on every redeploy! -See answers to [frequently asked -questions](https://coder.com/docs/code-server/latest/FAQ). +| Setting | Value | +|----------------|------------------| +| **Mount Path** | `/home/clauder` | +| **Size** | 5GB+ recommended | -## Want to help? +--- -See [Contributing](https://coder.com/docs/code-server/latest/CONTRIBUTING) for -details. +## Built With -## Hiring +- [code-server](https://github.com/coder/code-server) – VS Code in the browser +- [Claude Code CLI](https://claude.ai/code) – AI coding assistant by Anthropic -Interested in [working at Coder](https://coder.com/careers)? Check out [our open -positions](https://coder.com/careers#openings)! +--- -## For Teams +## License -We develop [coder/coder](https://cdr.co/coder-github) to help teams to -adopt remote development. +MIT