Stackato is made up of client and server components. Depending on your needs, you may need to set up one or both. You have a choice between three basic approaches to using Stackato. From least to most complex, these are:
To run a single node micro cloud with the full set of Stackato roles already configured, follow the steps below.
You can try Stackato without setting up your own Stackato VM by using the Stackato Sandbox, a hosted trial environment.
Host system requirements:
The Stackato VM uses 2GB of memory by default. Ensure that there is sufficient memory remaining on the host system to run the host operating system and any other applications you require.
The steps for importing and starting the Stackato VM will vary depending on which hypervisor or platform you choose. Follow the steps in the relevant guide below, then continue with Initial Configuration:
On first boot, the Stackato VM generates a hostname in the form stackato-xxxx.local which is displayed on the hypervisor tty console. It receives its IP address via DHCP and broadcasts its hostname on the local subnet via multicast DNS.
The default password for the stackato system user is stackato. This password is changed to match the one set for the first administrative user created in the Management Console. Once you've set up the primary Stackato admin account, use that account's password when logging in at the command line.
To run Stackato on a remote hypervisor (e.g. on a different subnet), a cloud hosting provider, or on networks without DHCP, you may need to configure one or more of the following:
The Stackato Management Console is a web interface that allows the administration and management of a Stackato server or cluster.
When the Stackato server finishes the start-up process, the hypervisor's tty console will display the URL of the Management Console:
Enter the URL into your web browser. The Management Console will load, and you will be prompted to create the first administrative user for the system. See the Management Console page for more details on using it.
The SSL certificate for the Stackato Management Console is self-signed. You will need to manually accept this certificate in your browser. See the HTTPS section for information on using your own certificate.
The stackato client is used for pushing applications to Stackato and interacting with the system from the command line.
- moving it to a directory in your $PATH,
- creating a symlink from a directory in your $PATH, or
- creating a shell alias for the executable.
To connect the stackato client to the newly launched VM, use the target command. You will need to specify the API Endpoint for the VM, which is the hostname prepended with "api.":
$ stackato target api.stackato-xxxx.local
Once you have successfully targeted the VM, you must login. Use the credentials you created through the console:
$ stackato login firstname.lastname@example.org
The easiest way to add additional users is in the Users section of the Management Console, but you can also use the stackato client:
$ stackato add-user email@example.com [--passwd password]
The steps for deploying applications will vary slightly depending on the language or framework used, but the basic command is:
$ stackato push [appname]
The client will take application code from the current working directory and push it to the Stackato VM for further staging and configuration, prompting for confirmation and additional configuration information.
Numerous sample applications are available on Github, each with a README.md file showing how to deploy it on Stackato.
$ stackato push -n [appname]
The output of the stackato push command will show the URL of the running application. Paste this URL into a web browser to try the application, or run:
$ stackato open [appname]
Documentation on configuring applications in specific languages and frameworks is available in the Deploying Apps section.
Using the Stackato VM makes no changes to the underlying host operating system.
If you wish to remove it, simply select the VM in your hypervisor and select Remove... or Delete... as appropriate.