Giter Club home page Giter Club logo

space-personal's Introduction

Space - Personal

Space is a simple virtualization control panel written in Python with Flask. Space utilizes the libvirt API to interact directly with the hypervisor, and thus (will eventually) support all virtualization technology that libvirt supports.

This project is still in a relatively early stage of development, it is feature complete but there is still a fair amount of work to be done. With that being said, use at your own risk!

The projects official website is: https://spacepanel.io


Current Version - 0.1.2

Read updates for this version here

Please Note:

There were some endpoints that were not checking for login previously (before b2e1366d4b3f2b5b057d8d6bb20118538dea658e). If you have a version from before that commit installed, please update!


Requirements

  • Processor / virtual processor that supports hardware virtualization
  • Centos 6 (more support coming)
  • Python2
  • MongoDB
  • KVM (currently only support virtualization technology)
  • RabbitMQ (used by Celery)
  • Variety of python packages shown here

Supported Providers

In the most recent release support for offsite virtual machines was added. Space currently supports the following Cloud/VPS providers:

This section will be updated as support for more providers is added. If you have a specific provider you would like to see, please let me know.


Installation

  1. Install git client yum install git for CentOS 'apt-get install git' for Debian/Ubuntu.
  2. mkdir /srv/space && cd /srv/space && git clone https://github.com/SpacePanel/space-personal.git .
  3. Configure virbr0 as a bridge interface, this may be useful in accomplishing this.
  4. ./srv/space-personal/scripts/setup.sh - This will install all dependencies, start necessary services and start Space.
  5. Navigate to your.ip.address.here:10051/setup to complete the setup process.
  6. Make the directories for your disks, images and configs, by default these are /var/disks, /var/images, /var/configs. Make them with mkdir /var/disks /var/images /var/configs if you are using the defaults.
  7. Add an image to the /var/images directory, you can use wget to do that.
  8. Login via your.ip.address.here:10051/login
  9. Go to Networking and add an IP range.
  10. Go to your.ip.address.here:10051/utils/import_images to import your new image.
  11. (Optional) If you are looking to use Linode/DigitalOcean, go to /settings and input your API key for each/either service.
  12. Make your first virtual machine and enjoy!

Troubleshooting

Celery didn't start
This is a known issue, you may need to run `export C_FORCE_ROOT="true"` as root before Celery will start. You can manually start Celery if it fails using `./srv/space/celery`.
I see command gunicorn was not found
This means pip failed to install stuff, first make sure the `pip` command works. If it doesn't, install python-pip using yum `yum install python-pip` or easy_install `easy_install pip`. After pip is installed, install the requirements `pip -r /srv/space/requirements.txt`.
Experiencing general weirdness, things not installing, etc.
Other strangeness is usually attributed to not running Space as `root`, make sure you are using the root user when installing Space, starting/stopping space, etc.
DHCPD failed to start
This is expected (sort of). You should see DHCPD start normally after you add an IP range. If that doesn't happen, `dnsmasq` is likely running on that port. Kill it with `pkill dnsmasq` and then try `service dhcpd start`.
I'm seeing errors when I try to make a Linode/Droplet, or nothing is happening at all
You probably forgot to input your API key, do that on `/settings`.
Other stuff
Space is new and I don't have a ton of people to test it, so there are certainly problems I'm not aware of. If you encounter one, please open an issue and I'll take a look

Notes & Misc.

  • The password for the console will not be shown when you type (or paste), this is expected, it will still work.
  • If you are brave and try this and things break, please let me know so I can fix them :)

space-personal's People

Contributors

jdppettit avatar silverp1 avatar levlaz avatar

Watchers

James Cloos avatar wibowo joko nuryanto avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.