Your Cycle account is your gateway to the platform. With it, you can create or join hubs, deploy infrastructure, and manage your containers.
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 one of the following:
Use the Cycle Account Wizard to begin the signup process.
- Enter your name, email address, and password.
- You will receive an email with a verification code. Enter the code into the box and select "Next".
- Using your two-factor auth app, register the QR code and enter the 6-digit number shown on the app into the box.
- 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.
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:
Give your hub a name that will remind you what you plan to use the space for.
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.
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.
Enable the providers of your choice and enter your api keys in the box.
*When enabling Packet please enter the project ID associated with the api key
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.
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.
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.
Now that the Hub has been created, the next step is to deploy infrastructure.
- Navigate to the infrastructure section, and click the button Add Servers.
- Choose your desired provider(s), the locations and type of servers you want to deploy.
- Add servers to the queue.
- If you wish to add servers from another provider go to step 2, otherwise go to step 5.
- Verify everything is correct and hold down the Deploy This Infrastructure button.
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:
- Click the Environments tab on the navigation menu to the left.
- In the top right corner, find the Create Environment button and click it.
- In the form, enter a name for this environment (usually the name of your application you are building) and an optional description.
- Click Create Environment. You will be taken to the environment dashboard.
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:
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.
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
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.
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.
- 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.
- 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.Cycle does not store your credentials for your private registry or repository. You will need to provide them every time you import that image.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.
images.website.com/myimage:latest, you would enter
images.example.cominto 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.
- Wait for the image to import. When complete, a button will become clickable that says "Select Image".
- Select your image from the list. If you just imported it, it will be selected for you automatically.
Some container images may specify volumes (persistent data storage). Cycle will automatically detect these and ask you to configure them.
- 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.
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.
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.
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.
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.
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".
To view your running instance do the following:
- At the top of the dashboard page click the Containers tab.
- 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.
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!