Code Monkey home page Code Monkey logo

code-server's Introduction

Self-Hosted Cloud Development Environments



Quickstart | Docs | Why Coder | Enterprise

discord release godoc Go Report Card license

Coder enables organizations to set up development environments in their public or private cloud infrastructure. Cloud development environments are defined with Terraform, connected through a secure high-speed Wireguard® tunnel, and are automatically shut down when not in use to save on costs. Coder gives engineering teams the flexibility to use the cloud for workloads that are most beneficial to them.

  • Define cloud development environments in Terraform
    • EC2 VMs, Kubernetes Pods, Docker Containers, etc.
  • Automatically shutdown idle resources to save on costs
  • Onboard developers in seconds instead of days

Quickstart

The most convenient way to try Coder is to install it on your local machine and experiment with provisioning cloud development environments using Docker (works on Linux, macOS, and Windows).

# First, install Coder
curl -L https://coder.com/install.sh | sh

# Start the Coder server (caches data in ~/.cache/coder)
coder server

# Navigate to http://localhost:3000 to create your initial user,
# create a Docker template, and provision a workspace

Install

The easiest way to install Coder is to use our install script for Linux and macOS. For Windows, use the latest ..._installer.exe file from GitHub Releases.

curl -L https://coder.com/install.sh | sh

You can run the install script with --dry-run to see the commands that will be used to install without executing them. Run the install script with --help for additional flags.

See install for additional methods.

Once installed, you can start a production deployment with a single command:

# Automatically sets up an external access URL on *.try.coder.app
coder server

# Requires a PostgreSQL instance (version 13 or higher) and external access URL
coder server --postgres-url <url> --access-url <url>

Use coder --help to get a list of flags and environment variables. Use our install guides for a full walkthrough.

Documentation

Browse our docs here or visit a specific section below:

  • Templates: Templates are written in Terraform and describe the infrastructure for workspaces
  • Workspaces: Workspaces contain the IDEs, dependencies, and configuration information needed for software development
  • IDEs: Connect your existing editor to a workspace
  • Administration: Learn how to operate Coder
  • Enterprise: Learn about our paid features built for large teams

Support

Feel free to open an issue if you have questions, run into bugs, or have a feature request.

Join our Discord to provide feedback on in-progress features, and chat with the community using Coder!

Integrations

We are always working on new integrations. Feel free to open an issue to request an integration. Contributions are welcome in any official or community repositories.

Official

Community

Contributing

We are always happy to see new contributors to Coder. If you are new to the Coder codebase, we have a guide on how to get started. We'd love to see your contributions!

code-server's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

code-server's Issues

CPP Debug not work

  • code-server version: code-server v1.0.0
  • OS Version: Ubuntu 18.10
  • Extension: ms-vscode.cpptools

Steps to Reproduce

  1. install ms-vscode.cpptools extension
  2. write a cpp file, eg. a.cpp, and compile as target a.out
  3. edit .vscode/launch.json, add debug configuration:
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "mydebug",
            "type": "cppdbg",
            "request": "launch",
            "program": "/path-to-out/a.out",
            "args": [],
            "stopAtEntry": false,
            "cwd": ".",
            "externalConsole": true,
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "miDebuggerPath": "/path-to-gdb/bin/gdb",
            "logging": {
                "engineLogging": true,
                "trace": true,
                "traceResponse": true
            },
            "linux": {
                "MIMode": "gdb"
            },
            "osx": {
                "MIMode": "gdb"
            },
            "windows": {
                "MIMode": "gdb"
            }
        } 
    ]
}
  1. launch debug, and it will be blocked

output in Debug Console:

1: (333) DbgCmd:echo $$ > /tmp/Microsoft-MIEngine-Pid-aql0olr8.7a7 ; cd /Users/wangweibing/dev/demo/bc_out/baidu/bcloud-demo/hello-git/output/bin ; DbgTerm=`tty` ; set -o monitor ; trap 'rm /tmp/Microsoft-MIEngine-In-v0g5v6cv.yd2 /tmp/Microsoft-MIEngine-Out-eprffizq.g0y /tmp/Microsoft-MIEngine-Pid-aql0olr8.7a7 /tmp/Microsoft-MIEngine-Cmd-kbqexxnx.681' EXIT ; /opt/compiler/gcc-4.8.2/bin/gdb --interpreter=mi --tty=$DbgTerm < /tmp/Microsoft-MIEngine-In-v0g5v6cv.yd2 > /tmp/Microsoft-MIEngine-Out-eprffizq.g0y & clear; pid=$! ; echo $pid > /tmp/Microsoft-MIEngine-Pid-aql0olr8.7a7 ; wait $pid; 
--> C (runInTerminal-30): {"command":"runInTerminal","arguments":{"kind":"external","title":"cppdbg: child","cwd":"","args":["sh","/tmp/Microsoft-MIEngine-Cmd-kbqexxnx.681"],"env":{}},"seq":30,"type":"request"}
--> E (output): {"event":"output","body":{"category":"console","output":"1: (347) Wait for connection completion.\n"},"seq":32,"type":"event"}
1: (347) Wait for connection completion.

Eslint extension not work

  • code-server version: 1.31.1-100
  • OS Version: Mac OS 10.13.6
  • Extension: dbaeumer.vscode-eslint

Steps to Reproduce

  1. Install eslint extension
  2. Open or create a js file, open eslint output

Vim extension is not working after installation

  • code-server version: 1.31.0-20
  • OS Version: Ubuntu 16.04
  • Extension: vim

Steps to Reproduce

  1. After installation of Vim extension and reload the vs code window, Vim mode is not toggled.
  2. When trying to toggle the Vim mode manually "command 'toggleVim' not found" popped up.

Microsoft's cpptools extension is not able to start its language server

  • code-server version: 1.31 (latest)
  • OS Version: 16.04, on Google Cloud

Steps to Reproduce

  1. Install C++ extension
  2. Open any C++ File

The following Error message is displayed

Unable to start the C/C++ language server. IntelliSense features will be disabled. Error: TypeError: Path must be a string. Received undefined

automate releases

Every time a new tag is pushed, we should push a new image to docker hub and also create new binary releases on GitHub.

Related #57

Adher to the XDG base directory specification

Please use the XDG data dir for data and log dirs.

I just started it and got shown this: {"data-dir":"/home/jfowl/.code-server","working-dir":"/tmp/code-server-dir","log-dir":"/home/jfowl/.code-server/logs/20190305213428008"}. I personally don't like apps to create even more dotfils/dotdirs in my /home directory than it already has. Using the XDG basedir spec would be a great step towards using well-established standards in the unix world <3.

Have some default interpreter languages available in ide.coder.com - Node/npm, Python, Ruby, etc.

This is a great cloud IDE, although the setup to get going is a little surprising. I was expecting some baseline versions of node/npm, or python, or even ruby to get going, but none were available from the get go. I manually curled the latest LTS node.js (10.15) and created an alias for it, but didn't have time to get an alias for npm or npx working. but I like vscode in the browser! just need to be able to build the code too...

Build instructions

No build instructions for this software. It would be helpful to know how to build it from the release tarball.

terminal becomes unresponsive after socket disconnect

Mar 4, 2019 at 5:24:15 PM
Describe the bug
When using the IDE and losing focus of the browser window, the terminal seems unresponsive after regaining focus on the window. Nvm was installed on the container.

Update this seems related to the WebSocket disconnecting

To Reproduce
Steps to reproduce the behavior:

  1. Log in and open the IDE
  2. Open the terminal
  3. Open a new chrome window and do something else
  4. Come back to the window with the IDE and notice that you can no longer type in the terminal

Expected behavior
The terminal remains responsive when coming back to the browser window

Desktop:

  • OS: MacOS
  • Browser: Chrome
  • Version: 70

Kubernetes Support

I wanted to see if this project would be interested in Kubernetes as a deployment option. I worked on a proof of concept and have things mostly working. I'm happy to share this with the repo but wanted to check in and see if there was interest before cleaning things up with a PR.

Add back SSH popup

It would be nice to provide users quick access to their public IP, port and SSH password via a small popup in the bottom right of the IDE

On Arch Linux server password param doesn't work, and ENOENT error on diretory that's not working directory

Problems

  1. Server password param doesn't work
  2. ENOENT error on working directory, trying to access subfolder that doesn't exist.
  3. Website is a blank screen after login, probably related to problem 2 directly above.
  4. Output version is 0.0.0 instead of 1.31.1-100.

Info

  • code-server version: server/0.0.0 linux-x64 node-v8.9.3 I had downloaded 1.31.1-100 from code-server-1.31.1-100-linux-x64.tar.gz
  • OS Version: Linux archlinux 4.20.12-arch1-1-ARCH #1 SMP PREEMPT Sat Feb 23 15:11:34 UTC 2019 x86_64 GNU/Linux on Linode
  • Setup is running code-server in a webdirectory through nginx.

Steps to Reproduce

  1. Setup systemd ide.service to run code-server as a user, in my case http, same as web user process for php and mysql.
  2. Run code-server --password=testing
    Notice when trying to enter password the generated one is what works, not the passed in one.
  3. ENOENT on /working/directory/here/plus/Backups/workspace.json. It seems to be looking for a Backups folder in my working directory, and a workspace file that doesn't yet exist.
  4. When running code-server --version for this bug, it output 0.0.0 for the server version.

Crashes on Debian 9

Running releases on Debian 9 container crashes after 1-2min

  • vscode-remote version: both available releases
  • OS Version: Debian 9

Steps to Reproduce

root@cortana:/tmp/test# code-server $(pwd)
INFO  code-server v1.0.0
INFO  Additional documentation: http://github.com/codercom/code-server
INFO  Initializing {"data-dir":"/root/.code-server","working-dir":"/tmp/test","log-dir":"/root/.code-server/logs/20190305212210780"}
INFO  Starting webserver... {"host":"0.0.0.0","port":8443}
WARN  No certificate specified. This could be insecure.
WARN  Documentation on securing your setup: https://coder.com/docs
INFO
INFO  Password: PmH3ge09215X
INFO
INFO  Started (click the link below to open):
INFO  http://localhost:8443/
INFO
INFO  Starting shared process [1/5]...
/usr/bin/code-server:340
 */var r=/["'&<>]/;e.exports=function(e){var t,n=""+e,i=r.exec(n);if(!i)return n;var o="",a=0,s=0;for(a=i.index;a<n.length;a++){switch(n.charCodeAt(a)){case 34:t="&quot;";break;case 38:t="&amp;";break;case 39:t="&#39;";break;case 60:t="&lt;";break;case 62:t="&gt;";break;default:continue}s!==a&&(o+=n.substring(s,a)),s=a+1,o+=t}return s!==a?o+n.substring(s,a):o}},function(e,t,n){"use strict";e.exports=function(e,t){if(null==t)return function e(t,n){for(var r=0;r<t.length;r++){var i=t[r];Array.isArray(i)?e(i,n):n.push(i)}return n}(e,[]);return function e(t,n,r){for(var i=0;i<t.length;i++){var o=t[i];r>0&&Array.isArray(o)?e(o,n,r-1):n.push(o)}return n}(e,[],t)}},function(e,t){e.exports=function(e,t){if(e&&t)for(var n in t)e[n]=t[n];return e}},function(e,t,n){"use strict";const r=n(678),i=n(191),o=n(199),a=n(92),s=Buffer.from([0,0,255,255]),c=Buffer.from([0]),u=Symbol("permessage-deflate"),l=Symbol("write-in-progress"),p=Symbol("pending-close"),d=Symbol("total-length"),f=Symbol("callback

TypeError: Cannot read property 'on' of undefined
    at t.emitLines (/usr/bin/code-server:340:7474)
    at t.async (/usr/bin/code-server:716:35103)
    at e.exports (/usr/bin/code-server:716:34522)
    at e (/usr/bin/code-server:716:33324)
    at Timeout.c [as _onTimeout] (/usr/bin/code-server:716:33617)
    at ontimeout (timers.js:475:11)
    at tryOnTimeout (timers.js:310:5)
    at Timer.listOnTimeout (timers.js:270:5)
root@cortana:/tmp/test#
root@cortana:/tmp/test# uname -a
Linux cortana 4.15.18-7-pve #1 SMP PVE 4.15.18-27 (Wed, 10 Oct 2018 10:50:11 +0200) x86_64 GNU/Linux
root@cortana:/tmp/test#

Not work on CentOS

  • code-server version: code-server-1.31.0-20-x86_64-linux
  • OS Version: CentOS release 6.10 (Final)

Steps to Reproduce

$ ./code-server --help
./code-server: /lib64/libc.so.6: version `GLIBC_2.15' not found (required by ./code-server)
./code-server: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by ./code-server)
./code-server: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by ./code-server)
./code-server: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.18' not found (required by ./code-server)
./code-server: /usr/lib64/libstdc++.so.6: version `CXXABI_1.3.5' not found (required by ./code-server)
./code-server: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by ./code-server)

Translate documentation

It would be nice to have the documentation for this repo available in different languages for non-english speaking users.

This would definitely be a continuous ongoing community-driven effort. This issue will never truly be "complete" as it will have to evolve as our docs are updated, but I believe the efforts will be worthwhile.

  • Turkish
  • Spanish
  • French
  • German
  • Hebrew
  • Italian
  • Japanese
  • Korean
  • Mandarin
  • Cantonese
  • Arabic
  • Czech
  • Danish
  • Dutch
  • Finnish
  • Greek
  • Hindi
  • Hungarian
  • Indonesian
  • Norwegian
  • Polish
  • Portuguese
  • Romanian
  • Russian
  • Slovak
  • Swedish
  • Thai

[ide.coder.com] increase starting cpu & memory ram for users

after I downloaded and unzipped the latest node.js 10.15 (see #37), I touched a hello.js file to write and execute a simple console.log('hello'); it ran after I had aliased the node bin cmd, but I saw that CPU usage went up to 92% and mem maxed out at 1.0/1.0. Pretty sure that the VSCode GUI is hogging the majority of the resources there, so you may want to keep that in mind.

Clicking "restart" on /ssh will result in a blank page

Mar 5, 2019 at 1:54:53 PM
Describe the bug
Users who click the reset button on the /ssh page will find that they are greeted with a blank page. Network request responds with:

{"error":{"expected":"ON","msg":"container was found in an unexpected state","state":"TURNING_ON"},"request_id":"5c7ed380-54bf5ad65901544548625a12"}

To Reproduce
Steps to reproduce the behavior:

  1. Open the ide
  2. Visit ide.coder.com/ssh
  3. Click "restart"

Expected behavior
The IDE or /ssh prompt loads eventually

Screenshots
screen shot 2019-03-05 at 1 56 22 pm

Desktop:

  • OS: MacOS
  • Browser: Chrome
  • Version: 70

prevent ctrl+w from closing tab

I guess it's not possible to catch the ctrl+w shortcut before the browser interprets it, but would it be possible to show a "leave this page?" confirmation dialog to prevent the good old muscle memory from screwing up ones work?

The IDE is not opening

I go to the login page, sign in with my github. Then i get redirected to ide.coder.com but then the page is unresponsive.

rebornix.ruby activation failure due to 'ruby-method-locate'

Steps to Reproduce

  1. Install extension via Extensions View.
  2. Open new .rb file.
  3. View console.

Additional Context

Logs:

Activating extension 'rebornix.ruby' failed: Cannot find module 'ruby-method-locate'.
ExtensionService._logMessageInConsole @ extensionService.ts?570e:800
ExtensionService._logOrShowMessage @ extensionService.ts?570e:814
MainThreadExtensionService.$localShowMessage @ mainThreadExtensionService.ts?9688:32
RPCProtocol._doInvokeHandler @ rpcProtocol.ts?e423:390
RPCProtocol._invokeHandler @ rpcProtocol.ts?e423:375
RPCProtocol._receiveRequest @ rpcProtocol.ts?e423:295
RPCProtocol._receiveOneMessage @ rpcProtocol.ts?e423:225
(anonymous) @ rpcProtocol.ts?e423:100
Emitter.fire @ event.ts?849f:567
deliverMessages @ ipc.net.ts?7859:295
(anonymous) @ ipc.net.ts?7859:302
Emitter.fire @ event.ts?849f:567
acceptChunk @ ipc.net.ts?7859:103
Protocol._socketDataListener @ ipc.net.ts?7859:132
EventEmitter.emit @ events.js?6840:81
(anonymous) @ helpers.ts?3313:335
EventEmitter.emit @ events.js?6840:81
(anonymous) @ client.ts?1107:92
(anonymous) @ events.ts?599d:37
Emitter.emit @ events.ts?599d:37
Client.handleMessage @ client.ts?1107:222
(anonymous) @ client.ts?1107:40
(anonymous) @ events.ts?599d:37
Emitter.emit @ events.ts?599d:37
(anonymous) @ client.ts?d5e3:58
15:00:41.443 console.ts?2412:134 [Extension Host] Activating extension 'rebornix.ruby' failed: Cannot find module 'ruby-method-locate'. (at Object.showMessage (eval at exports.requireModule (/dev/shm/bin/code-server:468:27371), <anonymous>:231217:37))
log @ console.ts?2412:134
MainThreadConsole.$logExtensionHostMessage @ mainThreadConsole.ts?29ee:39
RPCProtocol._doInvokeHandler @ rpcProtocol.ts?e423:390
RPCProtocol._invokeHandler @ rpcProtocol.ts?e423:375
RPCProtocol._receiveRequest @ rpcProtocol.ts?e423:295
RPCProtocol._receiveOneMessage @ rpcProtocol.ts?e423:225
(anonymous) @ rpcProtocol.ts?e423:100
Emitter.fire @ event.ts?849f:567
deliverMessages @ ipc.net.ts?7859:295
(anonymous) @ ipc.net.ts?7859:302
Emitter.fire @ event.ts?849f:567
acceptChunk @ ipc.net.ts?7859:103
Protocol._socketDataListener @ ipc.net.ts?7859:132
EventEmitter.emit @ events.js?6840:81
(anonymous) @ helpers.ts?3313:335
EventEmitter.emit @ events.js?6840:81
(anonymous) @ client.ts?1107:92
(anonymous) @ events.ts?599d:37
Emitter.emit @ events.ts?599d:37
Client.handleMessage @ client.ts?1107:222
(anonymous) @ client.ts?1107:40
(anonymous) @ events.ts?599d:37
Emitter.emit @ events.ts?599d:37
(anonymous) @ client.ts?d5e3:58
15:00:41.443 console.ts?2412:134 [Extension Host] Activating extension `rebornix.ruby` failed:  Cannot find module 'ruby-method-locate' (at eval (eval at exports.requireModule (/dev/shm/bin/code-server:468:27371), <anonymous>:231010:25))
log @ console.ts?2412:134
MainThreadConsole.$logExtensionHostMessage @ mainThreadConsole.ts?29ee:39
RPCProtocol._doInvokeHandler @ rpcProtocol.ts?e423:390
RPCProtocol._invokeHandler @ rpcProtocol.ts?e423:375
RPCProtocol._receiveRequest @ rpcProtocol.ts?e423:295
RPCProtocol._receiveOneMessage @ rpcProtocol.ts?e423:225
(anonymous) @ rpcProtocol.ts?e423:100
Emitter.fire @ event.ts?849f:567
deliverMessages @ ipc.net.ts?7859:295
(anonymous) @ ipc.net.ts?7859:302
Emitter.fire @ event.ts?849f:567
acceptChunk @ ipc.net.ts?7859:103
Protocol._socketDataListener @ ipc.net.ts?7859:132
EventEmitter.emit @ events.js?6840:81
(anonymous) @ helpers.ts?3313:335
EventEmitter.emit @ events.js?6840:81
(anonymous) @ client.ts?1107:92
(anonymous) @ events.ts?599d:37
Emitter.emit @ events.ts?599d:37
Client.handleMessage @ client.ts?1107:222
(anonymous) @ client.ts?1107:40
(anonymous) @ events.ts?599d:37
Emitter.emit @ events.ts?599d:37
(anonymous) @ client.ts?d5e3:58
15:00:41.444 console.ts?2412:134 [Extension Host] Here is the error stack:  Error: Cannot find module 'ruby-method-locate'
	at Function.Module._resolveFilename (module.js:536:15)
	at Function.Module._load (module.js:466:25)
	at Function.a../lib/vscode/src/vs/workbench/services/extensions/node/extensionHostProcess.ts.Module._load (eval at exports.requireModule (/dev/shm/bin/code-server:468:27371), <anonymous>:391081:33)
	at Function.load (eval at exports.requireModule (/dev/shm/bin/code-server:468:27371), <anonymous>:227210:33)
	at Function.load [as _load] (eval at exports.requireModule (/dev/shm/bin/code-server:468:27371), <anonymous>:392300:37)
	at Module.require (module.js:579:17)
	at require (internal/module.js:11:18)
	at Object.<anonymous> (/root/.code-server/extensions/rebornix.ruby-0.20.0/out/locate/locate.js:3:17)
	at Module._compile (module.js:635:30)
	at Object.Module._extensions..js (module.js:646:10)
	at Module.load (module.js:554:32)
	at tryModuleLoad (module.js:497:12)
	at Function.Module._load (module.js:489:3)
	at Function.a../lib/vscode/src/vs/workbench/services/extensions/node/extensionHostProcess.ts.Module._load (eval at exports.requireModule (/dev/shm/bin/code-server:468:27371), <anonymous>:391081:33)
	at Function.load (eval at exports.requireModule (/dev/shm/bin/code-server:468:27371), <anonymous>:227210:33)
	at Function.load [as _load] (eval at exports.requireModule (/dev/shm/bin/code-server:468:27371), <anonymous>:392300:37)
	at Module.require (module.js:579:17)
	at require (internal/module.js:11:18)
	at Object.<anonymous> (/root/.code-server/extensions/rebornix.ruby-0.20.0/out/providers/intellisense.js:5:18)
	at Module._compile (module.js:635:30)
	at Object.Module._extensions..js (module.js:646:10)
	at Module.load (module.js:554:32)
	at tryModuleLoad (module.js:497:12)
	at Function.Module._load (module.js:489:3)
	at Function.a../lib/vscode/src/vs/workbench/services/extensions/node/extensionHostProcess.ts.Module._load (eval at exports.requireModule (/dev/shm/bin/code-server:468:27371), <anonymous>:391081:33)
	at Function.load (eval at exports.requireModule (/dev/shm/bin/code-server:468:27371), <anonymous>:227210:33)
	at Function.load [as _load] (eval at exports.requireModule (/dev/shm/bin/code-server:468:27371), <anonymous>:392300:37)
	at Module.require (module.js:579:17)
	at require (internal/module.js:11:18)
	at Object.<anonymous> (/root/.code-server/extensions/rebornix.ruby-0.20.0/out/ruby.js:12:24)
	at Module._compile (module.js:635:30)
	at Object.Module._extensions..js (module.js:646:10)
	at Module.load (module.js:554:32)
	at tryModuleLoad (module.js:497:12)
	at Function.Module._load (module.js:489:3)
	at Function.a../lib/vscode/src/vs/workbench/services/extensions/node/extensionHostProcess.ts.Module._load (eval at exports.requireModule (/dev/shm/bin/code-server:468:27371), <anonymous>:391081:33)
	at Function.load (eval at exports.requireModule (/dev/shm/bin/code-server:468:27371), <anonymous>:227210:33)
	at Function.load [as _load] (eval at exports.requireModule (/dev/shm/bin/code-server:468:27371), <anonymous>:392300:37)
	at Module.require (module.js:579:17)
	at requireFilesystemModule (/dev/shm/bin/code-server:468:26068)
	at global.nativeNodeRequire.e (/dev/shm/bin/code-server:468:26916)
	at loadCommonJSModule (eval at exports.requireModule (/dev/shm/bin/code-server:468:27371), <anonymous>:231774:24)
	at ExtHostExtensionService.a../lib/vscode/src/vs/workbench/api/node/extHostExtensionService.ts.ExtHostExtensionService._doActivateExtension (eval at exports.requireModule (/dev/shm/bin/code-server:468:27371), <anonymous>:231428:17)
	at ExtHostExtensionService.a../lib/vscode/src/vs/workbench/api/node/extHostExtensionService.ts.ExtHostExtensionService._activateExtension (eval at exports.requireModule (/dev/shm/bin/code-server:468:27371), <anonymous>:231385:25)
	at Object.actualActivateExtension (eval at exports.requireModule (/dev/shm/bin/code-server:468:27371), <anonymous>:231227:34)
	at ExtensionsActivator.a../lib/vscode/src/vs/workbench/api/node/extHostExtensionActivator.ts.ExtensionsActivator._activateExtension (eval at exports.requireModule (/dev/shm/bin/code-server:468:27371), <anonymous>:231008:55)
	at eval (eval at exports.requireModule (/dev/shm/bin/code-server:468:27371), <anonymous>:230992:74)
	at Array.map (<anonymous>)
	at ExtensionsActivator.a../lib/vscode/src/vs/workbench/api/node/extHostExtensionActivator.ts.ExtensionsActivator._activateExtensions (eval at exports.requireModule (/dev/shm/bin/code-server:468:27371), <anonymous>:230992:42)
	at ExtensionsActivator.a../lib/vscode/src/vs/workbench/api/node/extHostExtensionActivator.ts.ExtensionsActivator.activateByEvent (eval at exports.requireModule (/dev/shm/bin/code-server:468:27371), <anonymous>:230900:25)
	at ExtHostExtensionService.a../lib/vscode/src/vs/workbench/api/node/extHostExtensionService.ts.ExtHostExtensionService._activateByEvent (eval at exports.requireModule (/dev/shm/bin/code-server:468:27371), <anonymous>:231303:36)
	at eval (eval at exports.requireModule (/dev/shm/bin/code-server:468:27371), <anonymous>:231685:51)
	at <anonymous>
	at process._tickCallback (internal/process/next_tick.js:188:7) (at eval (eval at exports.requireModule (/dev/shm/bin/code-server:468:27371), <anonymous>:231011:25))

Fix password feature

First of all, it's an awesome project. Thank you! By the way, do you plan to add fix password feature? Maybe it can be set as CLI argument like ./code-server --password 123456.

Or can I create a PR with this feature?

Keep up the good work!

Code Spell Checker extension crashes

Steps to Reproduce

  1. Download vsix file of the extension.
  2. Unzip vsix and copy extension directory under ~/.code-server/extensions/streetsidesoftware.code-spell-checker-1.6.10
  3. Enable the extension in code-server.
  4. The extension crashes with the following error message:
Error: Cannot find module 'vscode-languageserver'
    at Function.Module._resolveFilename (module.js:536:15)
    at Function.Module._load (module.js:466:25)
    at Module.require (module.js:579:17)
    at Module.r.require.e [as require] (/usr/local/bin/code-server:468:26234)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/home/ymmt/.vscode/extensions/streetsidesoftware.code-spell-checker-1.6.10/server/src/server.js:4:33)
    at Module._compile (module.js:635:30)
    at Object.Module._extensions..js (module.js:646:10)
    at Module.load (module.js:554:32)
    at tryModuleLoad (module.js:497:12)
[Info  - 10:44:40] Connection to server got closed. Server will restart.

'.' and '..' do not resolve when starting code-server

The working directory when starting code-server with '.' or '..' ends up being '/'.

  • code-server version: 1.31.0
  • OS Version: Arch Linux

Steps to Reproduce

  1. Start code-server with code-server . or code-server ..
  2. Open in browser, see working directory is /

Does not list for Extensions with the "Preview" flag

Steps to Reproduce

  1. Go to the Extension Marketplace
  2. Search "Makerlog"
  3. No results appear, unlike in desktop VSCode

I was also unable to install CodeStream via VSIX because of this error... **edit: looks like this is #92 **
screenshot 2019-03-06 at 7 12 53 am

I'm otherwise loving it so far and I'm sure you guys are swamped... Keep up the great work!

Evaluate use of pkg to make single-binary server

pkg is a application that compiles the project into a single executable, which we currently do, but pkg seems to be flexible as you can provide runtime version and such with the sacrifice of requiring some of the requires to be __dirname'd

[Zeit pkg repo]

Docker container to try out Coder.

I think you should add a docker container deployment one liner to your landing page similar to https://www.theia-ide.org/

Should be simple enough to create the image and add to your CI and keep an official one with Docker Hub...with docker for windows this also sorta meets your windows goals

Binary does not work with WSL

  • vscode-remote version: 1.31.0-20
  • OS Version: Windows 10 (rel 1809) - WSL Ubuntu 16.04.4 LTS

Steps to Reproduce

  1. Run WSL and try to run the executable
  2. Error: -bash: ./code-server: cannot execute binary file: Exec format error

VBox with VM Ubuntu 18.10 - TypeError: Cannot read property 'on' of undefined

  • code-server version: code-server-1.31.0-20-x86_64-linux
  • OS Version: Ubuntu 18.10

Steps to Reproduce

`$ /home/dani/code-server-1.31.0-20-x86_64-linux/code-server .
INFO code-server v1.0.0
INFO Additional documentation: http://github.com/codercom/code-server
INFO Initializing {"data-dir":"/home/dani/.code-server","working-dir":".","log-dir":"/home/dani/.code-server/logs/20190306105306352"}
INFO Starting webserver... {"host":"0.0.0.0","port":8443}
WARN No certificate specified. This could be insecure.
WARN Documentation on securing your setup: https://coder.com/docs
INFO
INFO Password: 1QLwbiaSylKW
INFO
INFO Started (click the link below to open):
INFO http://localhost:8443/
INFO
INFO Starting shared process [1/5]...
/home/dani/code-server-1.31.0-20-x86_64-linux/code-server:340
*/var r=/["'&<>]/;e.exports=function(e){var t,n=""+e,i=r.exec(n);if(!i)return n;var o="",a=0,s=0;for(a=i.index;a<n.length;a++){switch(n.charCodeAt(a)){case 34:t=""";break;case 38:t="&";break;case 39:t="'";break;case 60:t="<";break;case 62:t=">";break;default:continue}s!==a&&(o+=n.substring(s,a)),s=a+1,o+=t}return s!==a?o+n.substring(s,a):o}},function(e,t,n){"use strict";e.exports=function(e,t){if(null==t)return function e(t,n){for(var r=0;r<t.length;r++){var i=t[r];Array.isArray(i)?e(i,n):n.push(i)}return n}(e,[]);return function e(t,n,r){for(var i=0;i<t.length;i++){var o=t[i];r>0&&Array.isArray(o)?e(o,n,r-1):n.push(o)}return n}(e,[],t)}},function(e,t){e.exports=function(e,t){if(e&&t)for(var n in t)e[n]=t[n];return e}},function(e,t,n){"use strict";const r=n(677),i=n(191),o=n(199),a=n(92),s=Buffer.from([0,0,255,255]),c=Buffer.from([0]),u=Symbol("permessage-deflate"),l=Symbol("write-in-progress"),p=Symbol("pending-close"),d=Symb

TypeError: Cannot read property 'on' of undefined
at t.emitLines (/home/dani/code-server-1.31.0-20-x86_64-linux/code-server:340:7474)
at t.async (/home/dani/code-server-1.31.0-20-x86_64-linux/code-server:716:35103)
at e.exports (/home/dani/code-server-1.31.0-20-x86_64-linux/code-server:716:34522)
at e (/home/dani/code-server-1.31.0-20-x86_64-linux/code-server:716:33324)
at Timeout.c [as _onTimeout] (/home/dani/code-server-1.31.0-20-x86_64-linux/code-server:716:33617)
at ontimeout (timers.js:475:11)
at tryOnTimeout (timers.js:310:5)
at Timer.listOnTimeout (timers.js:270:5)
dani@dani-VirtualBox:~/monitoring_pdxc_api_integration$
`

read VSCode settings as default

  1. If system has vscode installed previously, code-server read installed vscode's settings/extensions
  2. provide a option to loads system vscode settings/extensions

Thanks so much

ARM binary release

I have a RPi 3B+ module,and i hope code-server will be running within this platform, thank u

Full screen mode

In the top-right corner keep just a button to toggle fullscreen mode

more secure default setup

The default usage for code-server should be a command to ssh into a server and setup the code-server and open a reverse ssh tunnel from code-server to a local host port that the user can access code-server through.

This way no password.

Linux/x86 Support

I'd like a Linux/x86 binary so I can run this on my Linux/x86 box

No error/warning for incorrect password.

  • code-server version: 1.31.0
  • OS Version: Mac OS 10.13.6

Steps to Reproduce

  1. Build binary
  2. Run binary
  3. Enter incorrect password

Expected:
Some kind of message saying "password is incorrect"

Actual:
¯\(ツ)

Crash on Debian 8

  • code-server version: 1.31.1-100
  • OS Version: debian 8
$ uname -a
Linux iZ28iwnpx2bZ 3.16.0-4-amd64 #1 SMP Debian 3.16.43-2+deb8u2 (2017-06-26) x86_64 GNU/Linux

$ cat /etc/debian_version
8.11

Steps to Reproduce

error message:

$ ./code-server -d /home/zoe/codes/vscode-workdir -h 127.0.0.1 -p 60443 --allow-http
INFO  code-server v1.31.1-100
INFO  Additional documentation: http://github.com/codercom/code-server
INFO  Initializing {"data-dir":"/home/zoe/codes/vscode-workdir","working-dir":"/home/zoe/codes/vscode-workdir/code-server-1.31.1-100-linux-x64","log-dir":"/home/zoe/codes/vscode-workdir/logs/20190307051426515"}
INFO  Starting shared process [1/5]...
INFO  Starting webserver... {"host":"127.0.0.1","port":60443}
WARN  No certificate specified. This could be insecure.
WARN  Documentation on securing your setup: https://coder.com/docs
INFO
INFO  Password: e9eb8d0a4d8c913247d49cc0
INFO
INFO  Started (click the link below to open):
INFO  http://localhost:60443/
INFO
INFO  Connected to shared process
ERROR SHARED stderr {"data":"Uncaught Exception:  Error: ENOENT: no such file or directory, open '/home/zoe/codes/vscode-workdir/Backups/workspaces.json'\n\nError: ENOENT: no such file or directory, open '/home/zoe/codes/vscode-workdir/Backups/workspaces.json'\n    at Timeout.eval [as _onTimeout] (eval at exports.requireModule (/home/zoe/codes/vscode-workdir/code-server-1.31.1-100-linux-x64/code-server:468:27371), <anonymous>:71445:31)\n    at ontimeout (timers.js:475:11)\n    at tryOnTimeout (timers.js:310:5)\n    at Timer.listOnTimeout (timers.js:270:5)\n"}
INFO  WebSocket opened / {"client":1,"ip":"127.0.0.1"}
INFO  Created data directory
internal/child_process.js:323
    throw errnoException(err, 'spawn');
    ^

Error: spawn ENOMEM
    at _errnoException (util.js:1024:11)
    at ChildProcess.spawn (internal/child_process.js:323:11)
    at Object.exports.spawn [as _spawn] (child_process.js:502:9)
    at t.async (/home/zoe/codes/vscode-workdir/code-server-1.31.1-100-linux-x64/code-server:716:35021)
    at e.exports (/home/zoe/codes/vscode-workdir/code-server-1.31.1-100-linux-x64/code-server:716:34522)
    at e (/home/zoe/codes/vscode-workdir/code-server-1.31.1-100-linux-x64/code-server:716:33324)
    at Timeout.c [as _onTimeout] (/home/zoe/codes/vscode-workdir/code-server-1.31.1-100-linux-x64/code-server:716:33617)
    at ontimeout (timers.js:475:11)
    at tryOnTimeout (timers.js:310:5)
    at Timer.listOnTimeout (timers.js:270:5)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.