A web interface for managing docker containers with an emphasis on templating to provide one-click deployments of dockerized applications. Think of it like a decentralized app store for servers that anyone can make packages for.
Additional support and community assistance can be found in our Discord group, https://discord.gg/JfsebxqKDW
Features- Container templating compatibility (Portainer compatible) ​
- Basic container management
- Easy template updating
- Template Variables to allow for a one-click experience
- Guided container deployment
- Dashboard for monitoring all of your docker containers in one place
- Docker-compose compatibility and editor
- One click editing of containers
Features (Coming Soon!) ​
- User Management
- Container CLI attachment If you want something that's not planned please open a feature request issue and we'll see about getting it added.
Templates ​
Currently, Yacht is compatible with portainer templates. You'll add a template url in the "Add Template" settings. The template will be read, separated into apps, and imported into the database. The apps associated with the templates are linked via a db relationship so when the template is removed, so are the apps associated with it. We store the template url as well so we can enable updating templates with a button press.
We recommend starting with:
In templates you are able to define variables (starting with ! ) to have them automatically replaced by whatever variable the user has set in their server settings (ie. !config will be replaced by /yacht/AppData/Config by default).
Control Local Docker Containers From a Web Browser with Yacht
What is yacht.
Yacht is a web interface for managing docker containers with an emphasis on templating to provide one-click deployments of dockerized applications. Think of it like a decentralized app store for servers that anyone can make packages for. - https://yacht.sh/docs/
Installing Docker
- Log into the Linux based device
- Run the following commands in the terminal # install prerequisites sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg-agent -y # add docker gpg key curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - # add docker software repository sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" # install docker sudo apt install docker-ce docker-compose containerd.io -y # enable and start docker service sudo systemctl enable docker && sudo systemctl start docker # add the current user to the docker group sudo usermod -aG docker $USER # reauthenticate for the new group membership to take effect su - $USER
Running Yacht
- Now that Docker is installed, run the following commands to setup the Yacht Docker container and run it # create working directories mkdir ~/docker/yacht -p # run the yacht docker container docker run -d -p 8000:8000 -v /var/run/docker.sock:/var/run/docker.sock -v ~/docker/yacht:/config --restart unless-stopped selfhostedpro/yacht
- Once the Yacht container is downloaded and running, open a web browser and navigate to http://DNSorIP:8000
- Login with the username [email protected] and password pass
- Click Admin > User in the top right corner
- Select Change Password from the top navigation menu
- Enter and confirm a new password
- Optionally, change the username
- Click the Change User Info button to apply the changes
- Welcome to Yacht, Docker container management from a web browser
Documentation: https://github.com/SelfhostedPro/Yacht
Search code, repositories, users, issues, pull requests...
Provide feedback.
We read every piece of feedback, and take your input very seriously.
Saved searches
Use saved searches to filter your results more quickly.
To see all available qualifiers, see our documentation .
- Notifications
ZeroQuest lazy RPG. Moscow Facebook Hackday.
klen/fquest
Folders and files, repository files navigation.
Lazy facebook RPG. Moscow Facebook Hackday.
Some used Opengraph Tools
Base graph api.
- Authorization;
- Get information about user feed;
- Custom actions and objects (new levels);
Realtime updates
- Update user events;
Social plugins
- Like button ;)
- Python 100.0%
InfoQ Software Architects' Newsletter
A monthly overview of things you need to know as an architect or aspiring architects.
View an example
We protect your privacy.
Facilitating the Spread of Knowledge and Innovation in Professional Software Development
- English edition
- Chinese edition
- Japanese edition
- French edition
Back to login
Login with:
Don't have an infoq account, helpful links.
- About InfoQ
- InfoQ Editors
Write for InfoQ
- About C4Media
Choose your language
Discover new ideas and insights from senior practitioners driving change in software. Attend in-person.
Discover transformative insights to level up your software development decisions. Register now with early bird tickets.
Get practical advice from senior developers to navigate your current dev challenges. Register now with early bird tickets.
Level up your software skills by uncovering the emerging trends you should focus on. Register now.
InfoQ Homepage News Hubber Codespace Improves Inner-Loop Testing at GitHub
Hubber Codespace Improves Inner-Loop Testing at GitHub
Mar 18, 2024 2 min read
Matt Saunders
GitHub 's Developer Experience (DX) team has recently unveiled a new tool aimed at streamlining the inner-loop development process within its distributed service ecosystem. Named "Hubber Codespace" (HCS), the solution addresses some challenges posed by integration testing in a modular team structure where different services are developed and operated independently.
Integration testing in a distributed or microservice system such as GitHub quickly becomes complex. As GitHub evolved from a smaller organization to a larger one with hundreds of teams, the traditional approach of iterating within a mono-repo became impractical, with a proliferation of microservices being created. Managing dependencies across all these different services, each with differing requirements and versions, presented a challenge in performing representative testing. To tackle this issue, the DX team embarked on a mission to provide teams with a fast and reliable development cycle that worked around the constraints of a mono-repo setup.
The genesis of this new tool stemmed from a fundamental shift in perspective: rather than bringing developers to the ecosystem, why not bring the ecosystem to the developers? This approach led to the development of HCS, a Docker Compose project designed to locally stand up the entire GitHub ecosystem. By enabling developers to test their code within an integrated environment, HCS facilitates a deeper understanding of how a developer's changes interact with the broader system, increasing the developer's confidence in their deployments.
The DX team evaluated several options as an appropriate orchestrator for HCS, including Minikube and an internal SSH tunneling tool (Codespace-Compose). Ultimately, Docker Compose emerged as the preferred choice due to its simplicity, robustness, and minimal maintenance overhead. To further enhance the user experience, a user-friendly CLI was developed in Golang, offering seamless integration with HCS and abstracting away the complexities of Docker-Compose commands.
One key challenge HCS addresses is ensuring developers have access to an up-to-date version of the GitHub ecosystem. To achieve this, HCS collects the latest mono-repo release and SHAs for other microservices as part of an automated release process. This ensures that HCS is aligned with the latest GitHub codebase changes, so developers are not working with out-of-date code.
The adoption of HCS has garnered positive feedback from partner teams, with many lauding its impact on their development process. By simplifying integration testing and providing a consistent development environment, HCS has empowered teams to confidently validate their changes, eliminating the need for manual steps and reducing deployment friction.
In conclusion, introducing Hubber Codespace is a significant milestone in GitHub's ongoing efforts to enhance the developer experience. GitHub empowers developers to build, test, and deploy code with increased efficiency and reliability by using containerization and innovative tooling. This gives them the confidence that their changes have been tested appropriately in GitHub's complex collection of mono-repo and microservices.
About the Author
Rate this article, this content is in the devops topic, related topics:.
- Source Control
- Source Code
- Integration Testing
- Cloud Computing
Related Editorial
Related sponsored content, popular across infoq, aws makes cloud formation stack creation up to 40% faster, freenginx: core nginx developer announces fork of popular web server, aws lambda under the hood, mcdonald's streamlines ci with github actions and reusable workflows, lessons from leading the serverless first journey at capitalone, a convoluted path from individual contributor to leadership, related content, the infoq newsletter.
A round-up of last week’s content on InfoQ sent out every Tuesday. Join a community of over 250,000 senior developers. View an example
Hello stranger!
You need to Register an InfoQ account or Login or login to post comments. But there's so much more behind being registered.
Get the most out of the InfoQ experience.
Tell us what you think
Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p
Community comments
GitHub Meetup Moscow, Tonight, Sep 15
I'm in Moscow for the @mail.ru Tech Forum and I'll be holding a casual GitHub Drinkup at Sally O'Brien's starting at 21:00. So, come by and meet me (Tom Preston-Werner).…
I’m in Moscow for the @mail.ru Tech Forum and I’ll be holding a casual GitHub Drinkup at Sally O’Brien’s starting at 21:00.
So, come by and meet me (Tom Preston-Werner). I’ll be wearing a gray GitHub shirt that says “fork you” on the front. First round’s on us!
Related posts
Empowering all developers to build without barriers
GitHub has been awarded the 2024 Axe Accessibility at Scale Award from Deque Systems. Read more about how we’ve implemented accessibility at scale.
How GitHub’s Developer Experience team improved innerloop development
Our latest solution to the ubiquitous engineering problem of integration testing in a distributed service ecosystem here at GitHub.
GitHub’s top blog posts of 2023
As the year winds down, we're highlighting some of the incredible work from GitHub’s engineers, product teams, and security researchers.
Explore more from GitHub
The readme project, github copilot, work at github, subscribe to our newsletter.
Code with confidence. Discover tips, technical guides, and best practices in our biweekly newsletter just for devs.
IMAGES
VIDEO
COMMENTS
Yacht is a web interface for managing docker containers with an emphasis on templating to provide 1 click deployments. Think of it like a decentralized app store for servers that anyone can make packages for. You can find the latest releases, the template builder Shipwright, and the API key framework on GitHub. Yacht also supports PWA and SSL for easy and secure access.
A web interface for managing docker containers with an emphasis on templating to provide 1 click deployments. Think of it like a decentralized app store for servers that anyone can make packages fo...
GitHub. 🌜. 🌞. Yacht ... Blog; GitHub; Yacht. A container management UI with a focus on templates and 1-click deployments. Get Started. Easy to Use. Yacht was designed from the ground up to be easily installed and used to get your website up and running quickly. ... on what apps you want to run instead of worrying about how to deploy them ...
A web interface for managing docker containers with an emphasis on templating to provide 1 click deployments. Think of it like a decentralized app store for servers that anyone can make packages for. - Releases · SelfhostedPro/Yacht
A web interface for managing docker containers with an emphasis on templating to provide 1 click deployments. Think of it like a decentralized app store for servers that anyone can make packages for. - Beginners Guide · SelfhostedPro/Yacht Wiki
Once OMV-Extras is installed you'll need to do the following steps: In OMV go to OMV-Extras -> Docker. Click on "Docker" and then "Install". (Optional) Click on advanced under "Yacht (Alpha)" and select the port you want to use. Once docker is installed click on "Yacht" and then "Install". Once it's installed you can use the button to open Yacht.
Yacht is a web interface that simplifies the management of Docker containers and applications. With Yacht, you can easily deploy, update, and monitor your projects using templates and 1-click actions. Learn more about Yacht and how to use it on the official website.
After that you can access Yacht on port 8000 on your server in a web browser. If you're using Yacht alongside portainer, you'll want to change the 8000 on the left of the : to 8001, then it will be available on that port on your host.; If SELinux is enabled on the host, you'll need to pass the --privileged flag to docker when deploying Yacht.; Once you're at the login page you can login with ...
Docker-compose compatibility and editor; One click editing of containers; Features (Coming Soon!) User Management; Container CLI attachment If you want something that's not planned please open a feature request issue and we'll see about getting it added. Templates Currently, Yacht is compatible with portainer templates.
Projects. Docker-compose projects are a container orchestration tool to help manage containers that need to talk to each other. Yacht provides an in browser docker-compose editor as well as a way to manage them easily via the projects tab in the yacht UI. The easiest way to get started is to find a project that you want to launch, then click on ...
Add this topic to your repo. To associate your repository with the yacht topic, visit your repo's landing page and select "manage topics." Learn more. GitHub is where people build software. More than 100 million people use GitHub to discover, fork, and contribute to over 420 million projects.
More advanced projects often require that you clone an entire git repository and pass through a veriety of files. As an example of such project you can look at docker-elk. For a larger project like this, it is best to directly access Yacht's configuration folder and clone the repository inside. For easy editing and persistance you will need to ...
5. Execute the docker run command below to download the Yacht Docker GUI image from Docker Hub and create a container called yacht (arbitrary) based on the image.. Once completed, you will have a Yacht Docker GUI container running, which is accessible through port 8000 with the following command breakdown:. d - This flag runs the container in the background (detached mode) without attaching ...
A web interface for managing docker containers with an emphasis on templating to provide 1 click deployments. Think of it like a decentralized app store for servers that anyone can make packages for. - hathalud/Yacht-templates-by-Hathakhm
yacht. Docker container that updates hosts file with new container entries upon docker event changes. Usage. Install the yacht service file via sudo systemctl enable service/yacht.service and then start it via sudo systemctl start yacht.service or sudo service start yacht.. You can check the service status via journalctl -f -u yacht or sudo service yacht status or sudo systemctl status yacht ...
Hi, it's possible to auto update docker base images if the hash changes? For example, new latest version trigger yatch to update the container
Login with the username [email protected] and password pass. Click Admin > User in the top right corner. Select Change Password from the top navigation menu. Enter and confirm a new password. Optionally, change the username. Click the Change User Info button to apply the changes. Welcome to Yacht, Docker container management from a web browser.
Install Yacht on Docker Option 1: Install as a Docker Volume. Create the Yacht volume. ... To use the default template, copy the listed Yacht Github URL, and click Submit to create the template. Then, click on your template, select an app to deploy, navigate through the application details, ...
Yacht is similar to Portainer but where it differs is that Yacht is solely focused on being a GUI for the already great command line docker tools such as docker-compose.. Some key features of ...
Deploy the container and you will have it listed among the available containers on your system. To manage the container, click on the drop-down button. Here, you can edit/modify, start, stop, pause, kill, remove and update the container. View the Docker volumes, images, and networks under the resources tab.
Using FastAPI, React, SQLModel, PostgreSQL, Docker, GitHub Actions, automatic HTTPS and more. Topics. react python letsencrypt docker json jwt typescript frontend backend json-schema postgresql swagger openapi traefik fastapi chakra-ui sqlmodel tanstack-query tanstack-router Resources. Readme License. MIT license Security policy.
Moscow air quality monitoring. Contribute to ati/air-quality development by creating an account on GitHub.
Is this urgent? None Host OS Ubuntu 22.04.4 LTS CPU arch x86_64 VPN service provider AirVPN What are you using to run the container docker-compose What is the version of Gluetun Running version latest built on 2024-03-18T17:49:37.003Z (c...
ZeroQuest lazy RPG. Moscow Facebook Hackday. Contribute to klen/fquest development by creating an account on GitHub.
GitHub's Developer Experience (DX) team has recently unveiled a new tool aimed at streamlining the inner-loop development process within its distributed service ecosystem. Named "Hubber Codespace ...
Thanks for contributing an answer to Stack Overflow! Please be sure to answer the question.Provide details and share your research! But avoid …. Asking for help, clarification, or responding to other answers.
Residents of a Moscow region town impacted by power outages have taken to the streets, demanding that local authorities restore heat to their homes as subzero temperatures grip the region, Russian ...
Addressing GitHub's recent availability issues. GitHub recently experienced several availability incidents, both long running and shorter duration. We have since mitigated these incidents and all systems are now operating normally. Read on for more details about what caused these incidents and what we're doing to mitigate in the future.