https://github.com/jayfk/machinery
A UI for docker-machine
https://github.com/jayfk/machinery
Last synced: 10 months ago
JSON representation
A UI for docker-machine
- Host: GitHub
- URL: https://github.com/jayfk/machinery
- Owner: jayfk
- License: other
- Created: 2015-05-15T14:08:39.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2017-01-27T16:49:21.000Z (over 9 years ago)
- Last Synced: 2025-04-12T06:52:21.709Z (about 1 year ago)
- Language: CSS
- Homepage: https://www.getmachinery.io/
- Size: 5.06 MB
- Stars: 13
- Watchers: 4
- Forks: 6
- Open Issues: 1
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
README
==========
Warning
==========
This project was a little experiment to port a django application to the desktop. It is no longer maintained.
.. image:: https://www.getmachinery.io/static/img/logo.png
==========
Quickstart
==========
You can run machinery as a docker container or as a standalone desktop application. Visit `getmachinery.io `_ to get started.
===============
About
===============
machinery is written in Python using the Django framework. Communication with docker-machine is done through the command line interface.
The standalone desktop application consists of two elements:
- A lightweight CherryPy webserver that runs the django applicaton
- Githubs Electron starts the webserver on localhost and opens a Window that renders the HTML/JS.
===============
Development
===============
If you are familiar with Python and Django, you can jump right in by installing all dependencies with
``pip install -r requirements/base.txt``
Create a cache table and run all initial migrations with
``python app/manage.py createcachetable``
``python app/manage.py migrate``
To start the debug server, run
``python app/manage.py runserver localhost:8090``
===============
Build
===============
**On OSX**
Clone the electron skeleton into the machinery folder
``git clone git@github.com:jayfk/machinery-skeleton.git``
Install appdmg as a global node package
``npm install -g appdmg``
Install all requirements
``pip install -r requirements/dev.txt``
and run
``python build.py osx``
There will be a ``machinery.app`` in ``skeleton/tmp`` containing your build and a ``machinery_latest.dmg`` in ``release/osx`` for distribution.
You can run electron from the command line with
``skeleton/tmp/machinery.app/Contents/MacOS/Electron``
If you want to run the webserver without electron, run
``skeleton/tmp/machinery.app/Contents/Resources/app/machinery/machinery``
**On Windows**
Clone the electron skeleton into the machinery folder
``git clone git@github.com:jayfk/machinery-skeleton.git``
Install 7zip and make sure that the installation folder is in your path so that you can run ``7z`` directly from your terminal.
Install all requirements
``pip install -r requirements\dev.txt``
and run
``python build.py osx``
There will be a ``machinery`` folder inside ``skeleton\tmp`` containing your build and a ``machinery_latest.zip`` in ``release\win`` for distribution.
========
Security
========
machinery runs a webserver on 127.0.0.1:8090 without authentication/authorization, containing all you security
credentials from various cloud providers, certificates etc. If you plan to run machinery on a remote host (e.g. with docker), make sure to set a nginx proxy with HTTP Basic Auth in front of it.
=====
Stack
=====
- `Django `_
- `SQLite `_
- `Materialize `_
- `CherryPy `_
- `Electron `_