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.

MIT License

Stars
3.1K
Committers
10

Bot releases are hidden (Show)

Yacht - Yacht Alpha v0.0.7 Hotfix 1 Released! Latest Release

Published by SelfhostedPro over 3 years ago

Hotfix 1 for v0.0.7
Changelog:

  • Fix for dashboard not loading all apps
  • Fix for projects not appearing when various errors occur
  • Better errors if an app fails to launch
  • Better errors for submitting invalid YAML to a project
Yacht - Yacht Alpha v0.0.7 Released!

Published by SelfhostedPro over 3 years ago

Yacht Alpha v0.0.7 Released!

Notable Changes:

  • Shipwright a new template builder is released (pre-alpha)
  • Yacht is now a PWA and if published with SSL you'll be able to install it on most devices for easy access.
  • API Key framework so now applications can interact with Yacht directly (found in user settings when auth is enabled).
  • Changed logs and stats to Server Sent Events so websocket support is no longer needed
    *this may change in the future as I believe it will be needed for container CLI access
  • Redesigned the look of all the main pages
  • Support for command, memory limits, and cpu in templates and deployments.

Bugfixes:

  • Better error handling for Projects.
  • Issue where ports were defined more than once
  • Data in dashboards being off
  • Various UI glitches
  • Other various fixes (view merge request for a full list)
Yacht - Alpha 6 hotfix 1 (v0.0.6-alpha-hf1) Released

Published by SelfhostedPro over 3 years ago

Alpha 6 Hotifx 1

Changelog

  • Added support bundle button to download your docker-compose.yml and all associated logs for you project.
  • Changed the dashboard to significantly improve performance (up to 70% less resource intensive).
  • Optimized the way websockets close (they now close when you navigate away from a page. Previously they would continue to try to send indefinitely).
  • Better application name detection in projects.
  • Fixed deploy from template page in the deploy page.
Yacht - Alpha 6 (v0.0.6-alpha) Released

Published by SelfhostedPro over 3 years ago

v0.0.6-alpha is here!

UI Changes

This update helps reduce some clutter in the sidebar by bringing in creation of resources into the list view. No more sub-menus for anything other than resources (images, networks, and volumes).
image

Compose/Projects

There's now an in-browser compose editor to make creating new projects as easy as possible and this will allow me to add a lot of QoL features such as error checking and snippets in the future.
image

Editing

You can now edit running containers!
image

Please be careful with this. It will remove the running container and launch a new one with the same settings. If you're doing something advanced that I don't have a field in the deploy form for the new version won't have it. Make sure everything in the deploy form looks correct.

Tags

Now there are tags with the release date available for both the master and develop branches so if I break something it's easy to fix!

Changelog:

  • Authentication Framwork change (to fastapi-jwt-auth)
  • In-browser docker-compose editor
  • Misc. bugfixes
  • Projects, templates, and apps now follow a similar flow to resources (1-click to go to the list and the plus button to create a new one)
  • Env variable to set default template variables (BASE_TEMPLATE_VARIABLES=[{"variable": "!config", "replacement": "/yacht/AppData/Config"}, ...])
  • Editing containers is now available
    Warning, this can lead to data loss if you don't have a volume or bind setup for storage on the container you're editing. There's a warning in the UI about this.
Yacht - Alpha 5 (v0.0.5-alpha) Released

Published by SelfhostedPro almost 4 years ago

Changelog

Compose:

Docker compose support is now available under the Projects section (default location is /config/compose/ for your docker-compose projects).

This requires you to set /config to a bind mount. If you've already got /config mounted on a volume you can set /compose/ to a bind mount and set the COMPOSE_DIR environment variable equal to /compose/. Then put all of your folders that container docker-compose.yml files into that folder.

image
image

DigitalOcean:

There's now a DigitalOcean marketplace app for Yacht. I would love feedback on it if you get the chance to try it out.

Fixes:

  • Fixed !PGID default variable
  • Unset variables trying to be deployed will now throw an error.
  • closes #194
  • closes #193
Yacht - Alpha 4 Hotfix 1 (v0.0.4-hf1)

Published by SelfhostedPro almost 4 years ago

Changelog:

Theming

  • Added theming in server settings
  • Saves the theme to your browser storage
  • Custom themes are able to be created various platforms and built with a buildarg

Fixes:

  • Added error handling to templates and removed the requirement for a type setting
  • Fixed port disappearing when bridge is selected. Should only disappear when host isi.
  • Added none as option for restart_policy
  • Various formatting fixes
Yacht - Alpha 4 (v0.0.4-alpha) Released

Published by SelfhostedPro about 4 years ago

Changelog:

Core features added:

  • Image managment
  • Volume managment
  • Network management
  • Disable Auth (use -e DISABLE_AUTH=True in your run command to disable authentication)

Apps List:

  • Added filter for columns.

App Deploy Form:

  • Added network_mode and network fields

Image Managment:

  • Added image list
  • Added image details
  • Added basic image pull support

Volume Managment:

  • Added volume list
  • Added volume details
  • Added basic volume creation

Network Managment:

  • Added network list
  • Added network details
  • Added ability to create and delete networks (including macvlan and ipvlan)

Templates:

  • Added network_mode support

Misc:

  • Changed proxy_read_timeout to 300 seconds. If you run into timeout issues when checking for updates let me know.
Yacht - Alpha 3 Hotfix 1 (v0.0.3-alpha-hf1)

Published by SelfhostedPro about 4 years ago

Fixes update checking for if the image is built locally or missing an image/tag.

Yacht - Alpha 3 (v0.0.3-alpha) Released

Published by SelfhostedPro about 4 years ago

Change log:

Bug fixes/Minor Changes:

  • Websockets now work with reverse proxies (websocket support required)
  • Reduced data points on dashboard charts from 5 to 3 to increase performance.
  • Misc. other fixes/modifications that I don't remember.

Apps:

  • Check for app updates (green dot indicates there's an update available)
  • One click container upgrades (spins up a watchtower instance with the --run-once flag targeting the selected container)
  • App actions are available from within the app details view
  • Deploy from template page shows a tabbed view of all templates

Templates:

  • Template variables now work with environment variables

Server Settings:

  • Separate purge buttons for each type of resource
  • Updates page to update Yacht from within itself (uses same watchtower method as above)
Yacht - Alpha 2 (v.0.0.2-alpha) Released

Published by SelfhostedPro about 4 years ago

This update brings in some great community requested features.
Templates/deploy form additions:

  • Port labels: give descriptions to ports so you know what they're for.
  • Container labels: useful for storing information in docker containers and used for things like traefik.
  • Devices: pass through devices into containers (useful for hardware transcoding)

Frontend changes:

  • Deploy forms:
    • Descriptive errors for the deploy form so you know what went wrong.
    • When a deploy fails due to a duplicated port (or similar issue that creates a container but doesn't run it) the failed container will be removed so you don't run into a duplicate name issue.
    • Moved deploy form buttons to the right so they're under other buttons you may interact with.
  • App pages:
    • Port labels are displayed on the apps list if they are set. (You can hover to get the port number)
    • Container labels and devices added to the app information page
    • Stats graph for CPU will still show even if memory isn't available (mainly affects Pi devices)
    • Added a back button to app pages
  • Dashboard:
    • Stats graph for CPU will still show even if memory isn't available (mainly affects Pi devices)

Backend changes:

  • Added labels, devices, and port labels to template compatibility.
  • Added labels and devices to db.
  • Added alembic to automatically add tables for users who are upgrading to the latest version (runs every time the app starts to make sure all tables that are needed are added)
  • Added check into stats endpoint for memory issue noted above (arm)

If you run into any issues please open one on GitHub and if you have any feature requests please let me know. If you know python or VueJS I'd be happy to help you get your dev environment setup and get some help making this even better.

Yacht - First Alpha Released

Published by SelfhostedPro about 4 years ago

Yacht has come a long way in the past few months and I think it's ready for an alpha especially to get some more feedback from people with different skill levels and possibly attract some dev help. I think the current features represent the minimum state that someone could use to manage containers but I also think there's a long way to go until this is feature complete. Thanks to all of you who've tried it out so far and I look forward to making it better as time goes on.

Yacht - v0.0.1 Pre-Alpha Released

Published by SelfhostedPro about 4 years ago

Tempaltes
This is the initial Pre-Alpha release for Yacht. Everything has been re-written as a Flask API backend with a Vuejs frontend to provide a reactive experience. Not everything that was in the Flask version is available yet (User Roles is the main thing that's lacking) but there are some new features that weren't in the flask version such as:

  • Viewing Logs
  • Easy access to container actions
  • JWT Authentication
  • Full API (Available at /api (not yet documented))
  • Loading indicators (so you know things are actually happening)

The main goals to finish Pre-Alpha and get to an actual Alpha are as follows:

  • Live log updates (so you don't have to refresh your page to get the latest logs).
  • Deploy logs (so you can see where exactly deployment is at).
  • Live updates of processes.
  • Building more stability into the JWT auth and interceptors to make sure you aren't logged out at weird times.
  • Show the user errors so they know what broke.
  • Variables in templates for common locations so they can be set in the "Server Settings" page and everything can truly be 1 click deployed.

All relevant documentation (including installation info)) is available here: https://github.com/SelfhostedPro/Yacht/tree/vue

Once we hit Alpha I will be archiving the current flask version and replacing it with the new vue version.

Yacht - Version 0.1 Alpha 1

Published by SelfhostedPro over 4 years ago

This is our first release! We're currently in alpha as we're still sorting out the kinks. We appreciate any support we can get from the community on this one. This is Yacht at it's most basic form and currently it's pretty limited but we'll be working hard to get a production release going soon.