Cycle Quick Start Guide

Use this quick start guide to go from new account to live container in as few steps as possible.

Five Essential Steps

Creating an Account

Your Cycle account is your gateway to the platform. With it, you can create or join hubs, deploy infrastructure, and manage your containers.

Using the Portal

Use the Cycle Account Wizard to begin the signup process.

  1. Enter your name, email address, and password.
  2. You will receive an email with a verification code. Enter the code into the box and select "Next".
  3. Using your two-factor auth app, register the QR code and enter the 6-digit number shown on the app into the box.
  4. Save your security codes in the event you are locked out of your account and cannot access your phone. These codes will allow you to recover access to the account. DO NOT SHARE THEM WITH ANYONE.

Two-Factor Auth

Cycle takes security very seriously, and every part of our platform is secure by default. We decided early on to require two-factor authentication as part of the sign on process. Two-factor auth provides an additional layer of security in the event that a nefarious person (or robot) were to gain access to your password. After entering your email and password, Cycle will ask you for a code from a two-factor auth app on your phone. That way, even if someone were to steal your password, they would also need physical access to your phone as well.

For the sake of convenience, you can register a computer you trust to bypass your two-factor auth input once you have successfully logged in. This will only disable the requirement for that particular computer, so if you plan on logging in via another device be sure to have your phone with you, and under no circumstances should you register a public computer.

If you do not currently have a two-factor auth application, we recommend Authy:

Creating a Hub

If this is your first time creating a hub, simply log in to the portal and click Create Hub in the navigation menu. If you would like to add another hub, click the hub toggle in the nav menu on the left side and select Add Hub.

Jump to a section of the wizard to learn more or check out this video:

  1. Name your hub. This will usually be the name of your organization or an organization you manage.
  2. Select your hub tier and support plan.
  3. Choose your provider and enter the associated API Key.
  4. Enter billing information.
  5. Add collaborators and finalize.

Step 1: Name Your Hub

Give your hub a name that will remind you what you plan to use the space for.

Step 2: Select your hub tier and support plan

Hub Tiers

Hub tiers are how you define how much storage and RAM your hub will need. Each tier is tailored towards a hub size. If you choose a tier with too many resources Cycle will automatically scale your billing to a lower tier at the end of the month. Click here to find out more about tiers.

Support

Cycle offers a standard support plan that is included at no additional cost. This includes communication with our team via our portal live chat and access to the Cycle Slack channel. Response is guaranteed within 24 hours. For a guaranteed response of 4 hours or less select the VIP support. This package also includes phone support during business hours. Click here to find out more about support.

Step 3: Choose your provider

Enable the providers of your choice and enter your API keys in the box.

Guides for Generating API Keys
  • For Vultr: Text | Video
  • For Packet: Text | Video
  • For AWS: Text | Video
  • Step 4: Enter Billing Information

    Enter the credit card information you want to use for this hub. Your card will be charged at the end of your billing cycle, every 28 days.

    If you need to arrange alternate payment methods, please reach out to our support team.

    Step 5: Add Collaborators and Finalize

    Congratulations, your hub has been created! You'll be able to start deploying containers in just a few minutes. The final step is to invite collaborators to your hub, and configure any advanced options.

    Collaborators

    Before you finalize your order you will have a chance to add collaborators to the hub. Cycle makes it easy to add collaborators and describe the type of access you want those users to have in one step. Type in the email address of the person you wish to add and then select their access level from the Role dropdown menu.

    Infrastructure

    Now that the Hub has been created, the next step is to deploy infrastructure.

    1. Navigate to the infrastructure section, and click the button Add Servers.
    2. Choose your desired provider(s), the locations and type of servers you want to deploy.
    3. Add servers to the queue.
    4. If you wish to add servers from another provider go to step 2, otherwise go to step 5.
    5. Verify everything is correct and hold down the Deploy This Infrastructure button.

    Create An Environment

    Containers must be deployed into an environment. An environment is a network group that allows all containers deployed within it to communicate over a private encrypted network, regardless of which provider or location they are deployed to. Creating an environment is easy -- all it needs is a name and an (optional) description. Learn More.

    To create an environment, follow these steps:

    1. Click the Environments tab on the navigation menu to the left.
    2. In the top right corner, find the Create Environment button and click it.
    3. In the form, enter a name for this environment (usually the name of your application you are building) and an optional description.
    4. Click Create Environment. You will be taken to the environment dashboard.

    Deploying a Container to your Environment

    For getting a container online ASAP, Cycle provides a completely UI based form to deploy individual containers. For more advanced deployments, it is highly recommended to take advantage of stacks. To get started with an individual container, click the Deploy Container button in the top right of your environment and then follow these steps:

    1. Give your container a name, and provide initial information about the deployment.
    2. Select or import a new image.
    3. Configure Public Access including hostname.
    4. Verify everything is correct and deploy.

    Step 1: Basic Information

    Container Name

    The name of a container is for your purposes only, and doesn't affect any other aspect of the container. However, on this form, Cycle will automatically prefill the hostname of the container with a formatted version of the name for convenience. You are free to change the hostname without affecting the name.

    Stateful or Stateless

    Choose Stateful or Stateless for your container. A Stateful container is a container that has a persistent volume, or the volume will hold state between restarts. A Stateless container can have a volume, but that volume will be cleared between starts.

    A full description of Stateful and Stateless can be found here.

    Initial Instances

    The instance slider tells Cycle exactly how many copies of the container you want to run when it starts. Based on the deployment tags you set, Cycle will automatically balance the instances across your cloud.

    Set tags

    If you want to be descriptive about which servers this container will be deployed to use tags.

    Any Tags - Instances will deploy to any server with at least one of the tags listed.

    All Tags - Instances will only be deployed to a server that has every tag listed here.

    Step 2: Select an Image

    Possibly the most important part of deploying a container is selecting WHICH container to deploy. Using the image selector, you can choose from a previously imported image, or import a new one on the spot from various sources, including Docker Hub.

    1. Choose how you want to select your image, either an existing image, or import a new one. If you choose existing, skip to step 4.
    2. Cycle does not store your credentials for your private registry or repository. You will need to provide them every time you import that image.
      Using the tabs on the left, select the source you wish to import from. At this time, you can import from either Docker Hub, or a private Docker Registry.

      Docker Hub

      Typing in the "Image Name" box will automatically search hub.docker.com as you type, returning images along with their description and rating. Select your image from the list (or enter a custom one), then set the tag in the tag field. By default Cycle will import the 'latest' tag. You may also provide custom authorization by selecting the "Use Auth" checkbox. Enter your username and password into the respective fields.

      Docker Registry

      If you choose to import from a Docker Registry, the process is the same, except in the URL field you will need to enter the custom url the registry is hosted on. For example, if your image name isimages.website.com/myimage:latest, you would enter images.example.com into the URL field. It's recommended to host your own Docker Registry on Cycle for extra security instead of using the public Docker Hub option.
    3. Wait for the image to import. When complete, a button will become clickable that says "Select Image".
    4. Select your image from the list. If you just imported it, it will be selected for you automatically.

    Configure Volumes

    Some container images may specify volumes (persistent data storage). Cycle will automatically detect these and ask you to configure them.

    Volumes are created for each instance, so if you configure a 1GB volume for your container, but deploy 3 instances of that container to a box, they will use 3GB of storage.
    • Path - The path is automatically determined by the image, and cannot be changed.
    • Type - At this time, "Local" is the only available option, which means the volume will be created on the local server the instance is deployed to. In the near future, we will have more storage options available.
    • Max Size - The maximum size the volume can grow to.

    Step 3: Configure The Network

    Hostname

    The hostname is the string that all other containers within the same environment can refer to the container by. It must be lowercase, and only contain letters, numbers, and hyphens.

    Public Network

    There are three types of network privilege a container can have:

    • Disabled - Public internet access is completely disabled for this container. It may only communicate with other containers within the same environment. This is ideal for sensitive things, such as databases.
    • Egress Only - The container may initiate connections over the internet, but all incoming connections will be blocked. This is ideal for things that require fetching data from the web, but do not need to respond to inbound requests, such as web scrapers.
    • Enabled - The container is able to both start and accept connections over the internet. This is a must for websites, APIs, and other services where clients may not be known ahead of time.

    Advanced Options

    TLS/SSL Certificates

    This option is only required for NON-HTTP/HTTPS based services you wish to secure with TLS, such as a database cluster. You will be responsible for serving the certificates from your container. Cycle utilizes Let's Encrypt to generate and renew TLS certificates. For more information on securing HTTP/HTTPS services with TLS, see here.

    Step 4: Finalize

    Verify everything is correct in the deployment summary box on the right, then click the Create Container button, located on the bottom right side of the form. All of these options will be fully configurable after creation as well, so if you make a mistake you can easily correct it before starting the container.

    Start Your Containers and View Instance

    Now it's time to start the container and your services.

    • Go back to the environment dashboard by clicking the name of the environment from the navigation link at the top of the page.
    • From the Environment dash look to the top right of the screen. Click and hold down the "play" button as shown below.
    • If you scroll to the bottom of the dashboard page you will see your live container with a state of "Running".
    • Click the name of the container you wish to inspect.
    • This takes you to the container dashboard where you can see information about your running container.

    Need Help?

    If you've got questions about the platform or need some help getting started, our team is more than happy to assist. Whether you're new to containers or just new to Cycle, reach out to us via livechat by clicking the blue circle in the bottom right corner. Join our Slack channel, and get help from the dev team or other members of the community, and check out our Roadmap to see what's planned for the future!