Development environments in docker
Go to file
2022-02-01 14:52:18 +00:00
experimental/ubuntu-browsh ubuntu-browsh 2021-08-03 19:08:17 +00:00
img Postgres and main README updated 2022-02-01 14:52:18 +00:00
utils utils/remote.py fix issues with Ansible ARA behind https proxy on remote server. Add custom images 2021-09-25 07:54:03 +00:00
workspaces Postgres and main README updated 2022-02-01 14:52:18 +00:00
.gitignore initial commit - opensourcing project 2021-07-30 12:18:29 +00:00
LICENSE Initial commit 2021-07-30 14:13:31 +02:00
README.md Postgres and main README updated 2022-02-01 14:52:18 +00:00

Workspaces in docker

Alnoda logo

Workspace is a single docker image with a number of applications and tools for specific task, such as Python development or Postgres management.

Demo: Ansible-Terraform workspace

Htop

If you like this project, please support it by simply putting a Github star. Share this library with friends on Twitter and everywhere else you can.

Contents

List of workspaces

Workspace-in-docker

General-purpose dockerized workspace - an environment fully isolated inside a docker container. It can run anywhere, can be started and stopped, moved to another machine, archived to file or restored, pushed to docker registry, started on a cloud server. This workspace has a powerful cod editor (browser-based VS-Code version), its own UI, and a collection of applications for more convenient work, such as File Browser to easily exchange files and folders with workspace, Cronicle - advanced job scheduler with great UI, MkDocs for documentation of the workspace and projects. Has all the features of the Base-workspace and Ubuntu-workspace.

docker run --name space-1 -d -p 8020-8035:8020-8035 alnoda/workspace-in-docker

Codeserver-Workspace

An alternative workspace to the workspace-in-docker. It has all the features ot the latter, except for the different implementation of the Visual Studio Code. While workspace-in-docker has Eclipse Theia IDE, Codeserver-Workspace includes Codeserver instead.

docker run --name space-1 -d -p 8020-8035:8020-8035 alnoda/codeserver-workspace

Python-Workspace

Python development enviroment inside the isolated docker container. Includes VS-code IDE, job scheduler and other tools for linting, testing, auto-documentation and profiling. Start coding in Python rght away! Has all the features of the Base-workspace and Ubuntu-workspace.

docker run --name space-1 -d -p 8020-8035:8020-8035 alnoda/python-workspace

Ansible-Terraform-Workspace

This workspace - is a "dockerized" development environment with Ansible, Terraform and lots of other stuff installed, so that you don't need to do it yourself. Create infrastructures with Terraform, and configure it with Ansible. Workspace will help to code and develop; visualize infrastructures and planned terraform changes; display ansible hosts plays; schedule and observe executions and more! Has all the features of the Base-workspace and Ubuntu-workspace.

docker run --name space-1 -d -p 8020-8035:8020-8035 -p 9000:9000 alnoda/ansible-terraform-workspace

Postgres-Workspace

Great number of tools to manage PostgreSQL database, develop and schedule database scripts and applications. All in a single docker image.

docker run --name space-1 -d -p 8020-8035:8020-8035 alnoda/postgres-workspace

Redis-Workspace

Docker image with Redis, and many other tools that make development with Redis much more convenient. Substitute in your development docker-compose.yaml file standard redis image with this one, add port-mapping -p 8020-8035:8020-8035. Now in addition to Redis, you've got a whole set of tools with UIs, that allow you to explore you Redis database, get and set keys, import datasets, install Redis modules and more.

docker run --name rwid-1 -d -p 8020-8035:8020-8035 alnoda/redis-workspace

Kafka-Workspace

Docker image with Kafka, and some other tools to improve Kafka development experience.

docker run --name rwid-1 -d -p 8020-8035:8020-8035 alnoda/kafka-workspace

Elasticsearch-Workspace

A tool to quickly develop and schedule Elasticsearch/Opensearch maintenance scripts. Such as taking snapshot backups of indexes, migrating to another Elasticsearch cluster, transferring Elasticsearch data to S3, importing data into Elasticsearch. As well as deleting/moving/archeiving old indexes, reindexing, rebalancing uneven shard distribution, export report queries to S3, etc.

docker run --name elawid-1 -d -p 8020-8035:8020-8035 alnoda/elasticsearch-workspace

MkDocs-MagicSpace

All-in-one tool, carefully crafted to develop, build and serve awesome static websites, for the purpose of documentation, tutorials, and training. Has all the features of the Base-workspace and Ubuntu-workspace.

docker run --name space-1 -d -p 8020-8035:8020-8035 alnoda/mkdocs-magicspace

Ubuntu-workspace

Docker as a "light-weight Virtual Machine". It provides isolation of environments, but uses less resources than VMs. Allows to start multiple processes inside the same docker container, has docker-in-docker, Python and Node.js, and a collection of common applications such as text editors, git, supervisord, z-shell etc. Ubuntu-workspace with browser-based terminal can be used on both local and remote server with the same experience. When it runs on the remote server, the access can be restricted with a password, and secured with TLS encryption.

docker run --name space-1 -d -p 8020-8030:8020-8030 alnoda/ubuntu-workspace

Why workspace In Docker

When used locally, workspaces help to isolate development environments and easily switch between projects. Workspaces can be moved between laptops, PCs, backed up and shared with friends.

When launched on remote server, workspaces can be used to schedule scripts and tasks, such as data ingestion.

When deployed on K8S, workspaces can be used to manage databases, create backups.

Contribution

Simply create a pull request. It will be welcome.
If you feel you need to discuss first, create an issue.