open_source_dev_environments
for:
[
   remote_work,
   distributed_teams,
   freelance,
   startups,
   personal_projects
]

Improve(productivity){

Distributed team
• Configure team environment.
• Onboard newcomers faster.
• Share your IDE with peer and code together.
Learn more...

// free

// completely open-source

// fully browser-based

# containerized

# portable

# isolated

Freelance
• Isolate your projects.
• Switch between projects seamlessly.
• One click to demonstrate your work over the Internet.
Learn more...
Startup
• Launch workspace on cloud server.
• Code together online.
• Demonstrate prototype via the Internet.
Learn more...

; share & collaborate

; extend & personalize

; clone, copy distribute

% run anywhere

% self-hosted

% k8s-native

Personal projects
• Use prepared project workspace to get started fast.
• Containerize project with dependencies and artifacts.
• Start and stop, copy and duplicate, backup and restore entire environments.
Learn more...

:Selection of Integrated Development Environments

Pick workspace with favourite IDE based on VsCode, Emacs or Vim. Prefer notebooks? Select workspace with Jypyter & Jupyterlab. For hard-core data scientists ->> RStudio workspace.

/*

VS-code compatible:

  • Codeserver
  • Theia
  • OpenVSCode Server
*/
{-

Vim family:

  • Neovim
  • Spacevim
-}

-- Emacs

‘’’

JupyterLab
& Jupyter classic

‘’’

# RStudio

Collaborate := code(together)

Even if you are running workspace on your laplop, you can share workspace with your friends and colleagues over the Internet, and work together, no matter if they are in the same room or on the other continent.

Step 1

Go Admin -> Collaborate, and choose application you want to share

Step 2

Agree to the terms, click 'Share via Internet' and copy the link

Step 3

Send the link to your friend, and code together in the same IDE. The only thing your friend needs - is web browser!

Choose(any)(programming)(language)

// get started with popular programming language

// choose one of ready workspaces

// keep all your dependencies isolated

BatteriesIncluded++

Each workspace includes common apps: git, git-flow, curl, wget, telnet, tmux, nix, nano, vim, cron, jq, zip, tar, etc. No need to install them every time you create a new workspace.

file browser
$ file browser
file manager
$ file manager
full-screen terminal
$ full-screen terminal
zsh
$ zsh shell
Git
$ Git
LazyGit
$ LazyGit
htop monitor
$ process and resource monitor
pm2 monitor
$ PM2 process manager
ncdu monitor
$ ncdu disk usage analyzer
nano text editor
$ nano text editor
vim text editor
$ vim text editor
mcedit text editor
$ mcedit text editor
tilde text editor
$ tilde text editor

Easily ? extedable : true

Need to install a new app? Simply execute sudo apt-get install _ in the workspace terminal. Want to install Nix package? execute nix-env -iA nixpkgs._ Explore other ways to customize workspace with the apps you need

Create custom workspace image with your own collection of apps
read more <~>
Install and configure any Linux application in the running workspace
read more <~>
One-command to add apps from the app registry
read more <~>

~ need to set-up and configure the same app(s) in another workspace?

~ ~ make a shell script and save as alnod.orga app

~ ~ ~ install app from alnoda.org apps with a single command

Workspace UI && dashboard

Each workspace has UI with dashboard, description, configuration, dark/white themes. It is single place to quickly navigate to apps & toos, read project description, save useful commands and links, explore what apps are up & running.

[1] workspace browser
[2] app descriptions & shortcuts
[3] dark/white themes

[1] update workspace meta
[2] write workspace description
[3] easyly switch between workspaces

[1] create project cheatseet
[2] save all useful commands
[3] easyly switch between projects

[1] save all project links
[2] keep track of useful online resources
[3] save time searching in messy bookmarks

`Customize ${workspace}`

Change how workspace looks. Make your workspaces unique. It will be much easier to work with many workspaces at the same time.

Change UI appearance, colors, font and logo.

admin config

Make workspaces look different.

admin config

Great variety of light and dark color themes and open VS code extensions

admin config

>> Ready-workspaces --for many-projects

Are you an author of the brand new package, framework or coding tutorial? Are you preparing for a hands-on meetup or webminar? Create a workspace with the git repo already cloned, all the dependencies installed, artifacts and configs included. Let people try your piece of work without wasting time on preparation.

workspace collage

• Starting new project?
• Check out available workspaces
• Save time setting up environment

Explore workspaces

# Documentation

## Docs
Find description and tutorials for the most of the workspaces

Read the docs
Documentation

$ Run --with docker

Workspaces are containerized and isolated in docker containers. Experiment with new packages and frameworks without risking to brake main environement. Forget about hassle with virtual environments.

# codeserver workspace
docker run --name space-1 -d -p 8020-8040:8020-8040 alnoda/codeserver-workspace
# python workspace
docker run --name space-1 -d -p 8020-8040:8020-8040 alnoda/python-workspace
# nodejs workspace
docker run --name space-1 -d -p 8020-8040:8020-8040 alnoda/nodejs-workspace
# (more workspaces at alnoda.org)

Docker adds complexity and overhead. But it also provides several very important benefits, which make it a good choice to run environments in

Security

It is more secure to run third-party applications in docker containers

Isolation

Containerized workspace won't affect other environments

Portability

Environment can be moved between PCs and shared with others

Entirely browser-b@sed

Workspace is a collection of applications. Either console applications, or applications with browser-based UI. Workspaces have code editor, terminal and many other apps which help to bootstrap containerized environment as fast as possible.

Start and stop all apps with a single command
No need to install any other applications
Save time setting up new isolated dev environment

workspace collage