Docker Global Hack Day #3 starts today at 4 pm PDT with an awesome line-up of speakers for our kick-off event!
Many local groups are organizing meetups to watch the livestream together but you are also welcome to join us online. RSVP now through our online meetup group to join the livestream of the kick-off event!
Hackers from all over the world have submitted hack ideas for Docker Global Hack Day #3 – click here to check out the list of already submitted projects.
Scroll down for more information about Docker Global Hack Day #3 including the complete list of local meetups hosting events, the prizes for winning hacks and how to submit your own hack ideas!
Hack Ideas for Docker Global Hack Day #3
Have your own idea on what to hack? Submit your hack idea now so other hackers can join your team!
Interested in one of those hacks? Head to this page to contact the hack project lead and join their team.
Spyhop – jonatanblue
need help with: Python, node.js
Container monitoring web UI inspired by docker-mon. Web front-end that lists all containers running, see CPU, RAM and [r,t]x bytes for selected container, CPU graph and overall host metrics as overlay.
EasyFlock – Christian Couder
need help with: testing, setting up VMs, Flocker
Easy installation and configuration of Flocker (or another volume system, is Flocker is found to be too complicated).
Flocker is a great system to achieve container migration and even high availability, but it’s a pain in the neck to setup. We want to make that as easy as “docker run”!
pycharm in docker – howaryoo
need help with: test on other systems than Ubuntu
you already run everything in docker, but:
how does your favorite IDE manage to use those micro-services smoothly?
can you easily run a debug session ?
WhaleTrap – JaStra
need help with: UI/UX, Flask
Utilizing Docker and CoreOS to create a honeypot framework that can create multiple instances of various honeypots across multiple servers.
Fuzzing the Container Gate – sicarie
need help with: Python, plugins, anything you want to help with
A container security fuzzer inserted into a gate check would add an extra layer of assurance when building containers on-demand. This fuzzer would initially target legacy vulnerabilities to ensure regressions have not occurred, and would be extensible to allow others to test for application-specific concerns that they may be importing into a container.
Container migrate tool – marcosnils
need help with: Unix, Golang, runC
Checkpoint & Restore is still a feature which is not generically available to container users. Certain understanding about how it works is needed and it’s most likely that users get errors when trying to perform CR due to some restrictions or differences between the source and the target host. The purpose of the project is to create an external command line tool that can be either used with docker or runC which helps on the task to live migrate containers between different docker by performing pre-migration validations and allowing to auto-discover suitable target hosts.
Deckhouse – Stefan Dimitrov
need help with: Linux, X11, Docker, bash scripting
A platform for dockerized X11 applications based on boot2docker. Deckhouse brings the advantages of mobile application sandboxing to the modern desktop.
The idea is to build a lightweight Linux image with X11 server configured such that Docker containers can authenticate with it. Every desktop application will then run as a separate Docker image, which connects to the X11 server on the host. Thus, desktop applications will be sandboxed and portable, in a similar way as mobile applications on iOS and Android.
DockerBox – Alan Joseph
need help with: NodeJS, Docker-Compose, Docker-Swarm
DockerBox is a NodeJS application for orchestrating and hosting docker containers. It provides functionality for spawning server from the available images(Like in AWS EC2) and hosting it with a domain name (like in Heroku). Where we can create and define our images with Dockerfile.
It uses the technologies HAProxy(For the domain names proxy), Docker-Compose(For distributed orchestration) and Docker-Swarm(Clustering for scaling).
DockerBox can be used as an internal QA or Dev-Integration environment of a company, were we can quickly spawn the servers of our microservice and test it with our changes.
Docker Remote API machine readable – abtris
need help with: Golang
We will make parser to convert markdown format of current api documentation into API Blueprint format. It’s machine readable and can be used for mock server, better documentation.
Mini Monitor – suker200
need help with: golang
It is an binary, attach to docker base image, when container is spawned, it read config file mount from docker host, and get custom metric from custom package import and send to influxdb for graphing or alarm if reach thresh hold (via api pushbullet
Professor Owl teaches Docker – booyaa
need help with: Docker, Security, Advice, Feedback
This is a new, fun way to learn to use Docker without needing a server in the cloud or installing Docker Toolbox on your computer. All you need is a modern web browser!
Our highly advanced Professional Online Wow Learning software (Professor Owl) will guide you through setting up your first container, managing and troubleshooting.
You’ll also learn how to:
– set up a data volume
– link containers
– make ports visible on the Internet
– deploy your first web app
– combine containers to host your own blog
By the end of the tutorial you’ll see how easy it is to run Docker.
t3kpTun – Docker Hanoi Meetup Team
need help with: Golang, UI/UX, Linux, Docker swarm,Docker compose, Docker machine
We want to build a SaaS to orchestrate automatically a wordpress website on Public Cloud (Now, It is only AWS) which use Docker Technologies and Tools: Docker Swarm, Machine, Compose. Highlight is focusing on DockerFile Visualization.
DockerSlim – Kyle Quest
need help with: Golang, Python, Linux Internals, Docker Internals
Creating small containers requires a lot of voodoo magic and it can be pretty painful. You shouldn’t have to throw away your tools and your workflow to have skinny containers. Using Docker should be easy.
docker-slim is a magic diet pill for your containers 🙂 It will use static and dynamic analysis to create a skinny container for your app.
Docker Multi Tenancy – spiddy
need help with: Golang, Docker Internals, Docker API, Docker Swarm
Following the principle of micro-services, the objective of this hackathon is to leverage multi-tenancy to a docker host transparently using a proxy.
Given a single host and multiple users, we want to create boundaries between those users in order that each user can see only his own containers.
Combining this with Swam can create a mulit-tenant sandbox cluster environment for developers to play with.
make docker – dmstr
need help with: Makefiles
Managing docker-compose configurations from development over CI/CD to deployment can be cumbersome.
Although there are existing features in docker-compose to use multiple YAML files and ENV variables, this might not be sufficient for several use cases.
We are using a combination of a YAML converter and Makefiles to create stacks configurations for local development, local testing, CI/CD, staging and production environments.
Emerald CI – flower-pot
need help with: UI/UX, Golang, Ruby
The idea is to have compose driven software development. Locally docker-compose is used to develop an application. In production orchestration platforms with compose support such as rancher can be used. The only thing missing is a CI platform, which is the goal of this project.
ToolBox Menubar Hack – alfonsodev
need help with: Someone who knows how we could integrate an electron app into the existing ToolBox installer, anybody with experience in electron or anybody who want to see this happening.
Integrate a menubar into the toolbox installer, features:
– Notify the status of the Docker daemon
– Stop / Start Docker daemon
– Configure daemon parameters, to start it with different flags.
– Links to other tools like, kitematic.
– Info, about the docker version, api version ..etc.
We could start by adapting https://github.com/maxogden/menubar it’s made in electron so it compiles to Windows and Mac.
Global Discovery Token – Christophe Lecointe
need help with: Golang, Networking
In Docker Swarm, we would like to add a new discovery backend to allow a node to join a remote swarm, from anywhere, with a .magnet-like system.
With this, it would be possible to add new nodes, no matter where they are as long as they can communicate, to a swarm, as easily as it would be on a LAN with just tokens.
Docker/Jenkins plugin – Megatron
need help with: Jenkins docker plugin
Would like spin off docker containers using Jenkins and test my existing puppet modules off those containers.
docker-list-patches – jordi_m_p
need help with: golang
Add a docker subcommand to list available updates on your images. The subcommand can have the option for searching for some CVE (Common Vulnerability and Exposures).
docker list-patches –cve=CVE-2015-XXX myimage
will tell you if there is a pending patch for your image with CVE-2015-XXX. If so, you need to run “”docker pull myimage”” to update.
Standardizing Docker Images – Kentoseth
need help with: Python, InfoGraphic-Design, Docker-API, pip, Pelican(static-homepage),
Finding the right image on DockerHub can be a PITA sometimes. Images are also monoliths as it stands and it would be nicer to make them more modular (and easier to install).
This project hopes to standardize Docker Images for daily use. The main focus will initially be on getting modular developer environments setup, that are easy to install.
Python will be the first target language to standardize on, but project can be standardized on just about any modern language.
Morphing IDE – deathslocus
need help with: Node.js, Docker, UI/UX, Owning a mac, Sourcemod
A Cloud IDE for Mobile, Web and Game servers with dependency resolution, nominated solutions and target emulation that allows for a user to manipulate their development environment easily and quickly.
Orchestra – code_monk
need help with: Node.js, bash
We will build a suite of tools that make web-app orchestration fast. We want to take Git’s philosphy of “branching is easy and cheap, so do it often without guilt” and bring it into the world of orchestration.
In so doing, we introduce concepts of “App”, “Project”, “Target”, “Instance”, and “Registry”, which we will fully define.
The solution will include a CLI, and a REST server. It will use git, node.js, and docker-machine under the hood. It will adhere to docker-compose conventions for defining apps composed of sets of containers.
Container Swiss Knife – l-d-j
need help with: Golang
Every time something is wrong with any container and if you need too look inside it lacks use-full tools like, ping, ip, traceroute, strace, ltrace, ldd – almost anything.
Now you can do it easily and in a reproducible/scrip friendly/network transparent way.
secureD – cato1971
need help with: Golang, Notary, Vault, Consul
Take the stress out of ensuring trusted images are used by providing a secureD wrapper around Docker. Set up of trust and storage of keys in a vault should be simple and ensure pull, push and build interactions with registries uses trusted capabilities.
need help with: Docker, libcompose, etcd
Spacer is a tool to help you manage your service dependency.
We already have great tools to help us dealing with library dependencies, such as Bundler, NPM, and Cargo. However, in the world of microservices, we still have to create our own microservice infrastructure. Creating a scalable microservice infrastructure is a hard task and need a lot of experiences.
With Spacer, you simply write down the service you need, the version you want.
For example, we need a production-ready open-source spam-filter service. we can write “poga/spam-fighter” in a file named Spacerfile.
Spacer will pull the correct service from github and deploy them to development environment or production-ready IaaS.
And, now we can scale this spam-filter service together. and everyone can benefit from it.
HICA – Pavel Odvody
need help with: Python, Finding integration points
HICA (Host Integrated Container Applications) enables people to run containerized applications as if they were running directly on host.
runC-scale – talwai
need help with: Python, Go, Shell scripting, SQLite, Makefiles
A self-governing, single-node automation agent for the scale up/down of runC containers. Use Facebook’s OSQuery (SQLLite for your system resources) to specify scaling triggers based on the state of running containers or of the host system. To complement the agent, we will augment the
runc cli with some elegant scaling commands. A more detailed spec in the Project URL.
On demand YARN clusters that have network, compute and storage isolation from each other – Swapnil Daingade
need help with: Docker networking
Allow administrators managing a bunch of x86 servers to create YARN (hadoop2) clusters on demand. Each tenant YARN cluster should have complete network, compute and storage isolation from others. Tenants should have the ability to grow and shrink their YARN clusters dynamically. We plan to use Docker containers for compute, overlay networks for networking and DFS permissions for storage isolation.
Project Topanga – the-destro
need help with: Python
Hack While libcompose and Docker Compose exist and are great tools there still is a need for a programatic API to control groups of containers that is not bound to a yml file.
Utility to display traffic counter per container – Anthony Chow
need help with: Golang, UI/UX, Networking
This project is to provide a utility to display the transmit and receive counter for each container by tapping into libnetwork. This will be a good debug tool to provide visibility on the traffic pattern of each container and to see if there is anything abnormal.
jenkins containers-slaves – ndeloof
need help with: UI/UX, beta testing
Jenkins already has few Docker related plugins, but still does not embrace the containers revolution.
This fresh new implementation do rely on a set of docker containers (aka ‘pod’) to setup a build executor, letting development team customize the build environment for their need without any constraint or prerequisite, and relying on docker containers to host test resources.
DockerLiveSync – Frank Maounis
need help with: NodeJS, Docker, testing
So you made a simple Dockerfile that adds your project’s files to a container’s FS, installs for example Node and runs your app by exposing some ports? Great!
If your project needed to copy some files from the container to the host, it was an easy task by using “”docker cp””. But what happens if you want to have a real two way live sync between app files and a host folder? You could rebuild the container image and re-run it. It could be done but takes some time. Of course you can also use “”managed volumes”” or even a “”host directory volume”” to solve this.
Until now we could use “”docker cp”” to only copy files from a container out to the host, but with Docker 1.8 it now works the other way around as well:
docker cp foo.txt mycontainer/foo.txt
Let’s see what we can hack with this new feature.
SlackDocker – Dimitris Anthoulakis
need help with: PHP, NodeJS, Docker, testing
Slack has changed the way team members communicate. Slack gives developers the ability to easily create custom integrations with 3rd-party APIs to get data out of or into Slack. How about creating a Slack integration service to manage cloud servers with docker machine? Using simple slack commands, the user will be able to create, reboot and delete a dockerized server.
What we should do:
– Authenticate with the Slack App
– Configure a Slack slash Command
– Build a service to receive messages and use Docker machine
– Process messages and respond with the outcome to the slack user
Docker+Slack – Zak
need help with: Docker, Ruby, Rails
This will make it possible to receive all kind of Docker notifications right from within the comfort of Slack.
Docker Monitor UI – lordzero0000
need help with: NodeJS, JS, Electron, Golang, Docker API, UI/UX, ansible
This is an UI application to monitor Docker from any given host.
We’ll build this application in order to have a way to monitor any action from variuos hosts and also control them from a clean UI.
This way non-technical people can get intimate with docker.
Local Editions of Docker Global Hack Day #3
More cities will be announced soon but you can already register for Docker Global Hack Day #3 meetups in:
Can’t make the local meetup? Don’t worry: you can join us online for the livestream of the San Francisco edition through our Docker Online Meetup group.
The San Francisco edition will kickoff with talks by Marianna Tessel, SVP of Engineering at Docker along with other members of the core team, who will share some updates about new features included in the latest release of Docker and how they facilitate the creation and management of distributed applications. The talks and demo will be livestreamed and recorded, so that every Docker meetup group and Docker hacker participating will be able to learn about those new features and announcements.
The prizes are pretty sweet! There is only one winning team for each local edition but with the global winners, we will award prizes to the top three teams in each category.
Prizes for Winners:
1) Local Docker Meetup winners
A jury composed of Docker Engine core maintainers will vote for the local edition winners from each Meetup group that organized a local edition of the Docker Global Hack Day.
Each member of the winning local edition team will win a special edition Docker baseball shirt. We’ll share the design in the next update, but trust us, this is super cool Docker swag that only local edition winners will receive.
2) Global Docker Hack Day Winners
We will build a page with all projects and videos for the community to vote for the global winner in each category. Note that Local Docker Meetup winners will be featured on this page.
Voting will be done through social networks – stay tuned for an update on how this voting will work.
Each member of the three Global Docker Hack Day winning teams (one for each category) will receive a complimentary pass to attend DockerCon Europe, accommodations during the conference and a lightning talk at the conference to present their winning hack!
Each member of the three second place Global Docker Hack Day teams (one for each category) will receive a limited edition Docker hoodie.
Each member of the three third place Global Docker Hack Day teams (one for each category) will receive a Docker-customized Tile.
As a team of 1-3 hackers, you will hack on a project using Docker or its infrastructure plumbing (runC, Notary) as a central piece. You will have exactly from 4pm PDT on Wednesday, September 16th to 9am PDT on Monday, September 21st to complete this project. This window includes the time to create all materials needed for your submission.
Although it is not allowed to start your project before 4pm PDT on Wednesday, September 16th, we strongly encourage everyone to think about project ideas in advance. We will build a page with all the project ideas for everyone to see what ideas have already been submitted and help participants form teams.
Everyone will submit projects in one of three categories listed below:
Connect with the Docker hackers from around the world!
Learn More about Docker
- New to Docker? Try our 10 min online tutorial
- Share images, automate builds, and more with a free Docker Hub account
- Read the Docker 1.8 Release Notes
- Subscribe to Docker Weekly
- Register for upcoming Docker Online Meetups
- Attend upcoming Docker Meetups
- Register for DockerCon Europe 2015
- Start contributing to Docker