|Project Name||Stars||Downloads||Repos Using This||Packages Using This||Most Recent Commit||Total Releases||Latest Release||Open Issues||License||Language|
|X11docker||4,642||a month ago||10||mit||Shell|
|Run GUI applications and desktops in docker and podman containers. Focus on security.|
|Vscode Remote Release||3,036||1||6 days ago||81||September 26, 2022||853||other|
|Visual Studio Code Remote Development: Open any folder in WSL, in a Docker container, or on a remote machine using SSH and take advantage of VS Code's full feature set.|
|Postgresqltuner||2,410||9 days ago||10||gpl-3.0||Perl|
|Simple script to analyse your PostgreSQL database configuration, and give tuning advice|
|Containerssh||2,144||a month ago||14||June 09, 2021||42||apache-2.0||Go|
|ContainerSSH: Launch containers on demand|
|Wordmove||1,808||10||2||a year ago||101||January 04, 2022||17||mit||Ruby|
|Multi-stage command line deploy/mirroring and task runner for Wordpress|
|Hyperapp Guide||1,571||9 months ago||78||CSS|
|HyperApp user's manual|
|Dockersh||1,295||4 years ago||apache-2.0||Go|
|A shell which places users into individual docker containers|
|Gopub||1,225||3 years ago||18||apache-2.0||Go|
|Docker Desktop||1,116||8 months ago||24||Shell|
|Docker Desktop enables you to create virtual desktops that can be accessed remotely. It comes with Firefox and Libreoffice already installed!|
Development environment manager. Work in progress, but join the process!
$ docker run -d --name envy \ -v /mnt/envy:/envy \ -v /var/run/docker.sock:/var/run/docker.sock \ -p 80:80 \ -p 22:22 \ -e HOST_ROOT=/mnt/envy \ progrium/envy
You connect to Envy via SSH or HTTP. See this screencast for a demo.
Users are authenticated against GitHub using HTTP auth (user,pass or user,token) or SSH keys.
All sessions have access to the
envy binary and can run management commands. Some of the commands
are only available to users with admin privileges. Here are current commands:
Usage: envy <command> [options] [arguments] Commands: admin ls list admin users admin rm remove admin user admin add add admin user environ rebuild rebuild environment image session reload reload session from environment image session commit commit session changes to environment image session switch switch session to different environment Run 'envy help [command]' for details.
As long as you keep the default
envyrc in your environment, you'll have these aliases set up:
alias commit='exec envy session commit' alias reload='exec envy session reload' alias switch='exec envy session switch' alias rebuild='exec envy environ rebuild'
Exec is necessary to exit to the session manager with status 128, which gets Envy to create a new container from the environment image. This happens quickly behind the scenes, so a session feels like a continuous experience even if happening across multiple containers.
When Envy is run it expects a host bind mount at /envy so it can initialize and persist its file tree. This is where most of the state in Envy is kept. Most configuration is kept here in plain files. Here is an explanation of the tree:
/envy /users /<user> /environs # directory of environs for this user /sessions # directory of sessions for this user /home # home directory mounted into all sessions /root # root home mounted in all sessions (see #3) /config users # file of users allowed to login. defaults to * (any) admins # file of admin users. defaults to first logged in user /bin envy # staging of the envy binary to put into sessions
Both Bash and POSIX shells are set up to source
/root/environ/envyrc when started interactively.
For Bash, this is done with a default
.bashrc, and for POSIX by setting
Although you can edit your
/root/environ/envyrc, by default it will source a few other
RC files. First,
~/.envyrc if it exists, and then
if it exists. The latter allows you to specify an RC for the root user of all
environments. One use case for this is to symlink
/root/.ssh to your envy user's
.ssh directory so ssh will have access to your identity keys in all environments.
Envy is best experienced running on port 22 on a host. If you want to move your current OpenSSH to port 2222, here is a one-liner that is likely to work:
$ sed -i -e 's/Port 22/Port 2222/' /etc/ssh/sshd_config
Then restart SSH.