# Hop ## Docs - [Working in CI](https://docs.hop.io/cli/ci.md): Since the CLI has a *nix download script it can be easily used in headless / continuous integration environments - [Hop CLI Completions](https://docs.hop.io/cli/completions.md): Hop CLI supports tab completion for bash, zsh and fish - [Overview](https://docs.hop.io/cli/overview.md): The Hop CLI allows you to manage and control every aspect of your Hop projects. It acts as a command-line replacement for the Hop Console with some extra features to support Hop deployments - [Introduction](https://docs.hop.io/getting-started/introduction.md): Cloud built for the modern developer - [Elixir Cluster](https://docs.hop.io/getting-started/quickstarts/elixir-cluster.md): How to deploy & cluster Elixir on Hop - [Node.js Express App](https://docs.hop.io/getting-started/quickstarts/express.md): How to deploy a Node.js app server on Hop in less than 2 minutes - [Redis](https://docs.hop.io/getting-started/quickstarts/redis.md): Learn how to deploy Redis with persistence enabled to Hop in seconds - [Builds](https://docs.hop.io/ignite/builds.md): When deploying with GitHub, Hop will automatically infer your build environment and initiate a build for each push to git - [Deploying to Hop](https://docs.hop.io/ignite/deploying.md): Any application of any size, language or framework can be deployed to Hop. Deployments are Ignite's primary abstraction - containers run inside them - [Gateways](https://docs.hop.io/ignite/gateways.md): Gateways allow you to expose your Hop deployments to your project or the internet - [Health Checks](https://docs.hop.io/ignite/health-checks.md): Enable zero-downtime, fault tolerant deployments with health checks - [Images](https://docs.hop.io/ignite/images.md): When creating a deployment, you can specify an image from a remote registry (such as Dockerhub or GCR), or you can use the Hop Image Registry - [Elixir](https://docs.hop.io/ignite/languages/elixir.md): Deploy Elixir applications with Hop - [Go](https://docs.hop.io/ignite/languages/go.md): Deploy Golang applications with Hop - [Node](https://docs.hop.io/ignite/languages/node.md): Deploy Node.js applications with Hop - [Python](https://docs.hop.io/ignite/languages/python.md): Deploy Python applications with Hop - [Rust](https://docs.hop.io/ignite/languages/rust.md): Deploy Rust applications with Hop - [Ignite](https://docs.hop.io/ignite/overview.md): Ignite is the pragmatic app deployment platform: deploy and scale any application worldwide. - [Port Forwarding](https://docs.hop.io/ignite/port-forwarding.md): Using the CLI, you can port-forward deployments to access them securely without having to expose them to the public internet - [Private Networking](https://docs.hop.io/ignite/private-networking.md): Learn about how private networking works in Hop - [Project Secrets](https://docs.hop.io/ignite/project-secrets.md): Project secrets act as a global secure secret store for each project on Hop. Secrets can be referenced in deployments as environment variables and will automatically be populated when a container starts - [Persistent Volumes](https://docs.hop.io/ignite/volumes.md): Volumes allow you to persist data across containers - perserving your deployment's state after restarts - [Channel State](https://docs.hop.io/other-products/channels/channel-state.md): As well as transient messages, channels can be used as a store for realtime, stateful and persisted state. You can think of it like a realtime database attached to every channel. - [Atlas Protocol](https://docs.hop.io/other-products/channels/internals/atlas-protocol.md): The Hop Atlas protocol - [Leap & Leap Edge](https://docs.hop.io/other-products/channels/internals/leap.md): Overview of the Leap Edge socket for Plug - [Payloads](https://docs.hop.io/other-products/channels/internals/payloads.md): Payloads sent to & from Leap Edge - [Overview](https://docs.hop.io/other-products/channels/overview.md): Channels allows you to easily create direct or grouped realtime message channels between users, server-side applications, IoT devices and more. You can use them to publish realtime events & even store realtime state objects which you can handle using our client-side SDKs. - [Channel Stats](https://docs.hop.io/other-products/channels/reference/channel-stats.md): We provide functionality to get statistics about certain channels, such as how many users are currently connected to them. - [Creating Channels](https://docs.hop.io/other-products/channels/reference/creating-channels.md): You can create channels manually (through the Hop Console/CLI) or through our SDKs and API. - [React Channels implementation](https://docs.hop.io/other-products/channels/reference/react.md): How to subscribe to Channel messages and state using the Hop React SDK - [Sending Messages to Hop Channels](https://docs.hop.io/other-products/channels/reference/sending-messages.md): Along with Channel State, the other primary function of Channels is the ability to send messages to Channel subscribers in realtime. - [Updating Channel State](https://docs.hop.io/other-products/channels/reference/updating-channel-state.md): How to update Hop Channel state - [Tokens](https://docs.hop.io/other-products/channels/tokens.md) - [Pipe Client Implementation](https://docs.hop.io/other-products/pipe/client-implementation.md): You can use our client (frontend) SDKs to easily implement Pipe into your product. - [Pipe Getting Started](https://docs.hop.io/other-products/pipe/getting-started.md): Pipe allows you to deliver real-time livestreams to users across the globe withour worrying about scale. As a developer, Pipe is easy to integrate - there's only 3 steps to getting your first broadcast going. - [Low-latency HLS (LLHLS)](https://docs.hop.io/other-products/pipe/llhls.md): LLHLS (Low-Latency HLS) allows you to deliver live, low-latency streams to global audiences over HTTP. - [Pipe Overview](https://docs.hop.io/other-products/pipe/overview.md): Pipe concepts and examples - [Creating a Pipe Room](https://docs.hop.io/other-products/pipe/room.md): Creating a Pipe Room through the Hop API. Rooms are Pipe's abstraction of streams. - [Streaming to Pipe](https://docs.hop.io/other-products/pipe/streaming-to-pipe.md): Pipe supports multiple ingest protocols for sending streams to Pipe: RTMP and RTP (MPEG-TS). You can set the ingest protocol to use when creating a Pipe room. - [Billing Overview](https://docs.hop.io/reference/billing.md): Learn about how Hop handles billing for your projects - [Project Tokens](https://docs.hop.io/reference/project-tokens.md): Project tokens allow you to create permission-based API keys to use with the Hop API or SDKs - [Hop Regions](https://docs.hop.io/reference/regions.md): Physical Hop points of presence & peering policy - [REST API](https://docs.hop.io/reference/rest-api.md): About the Hop REST API - [Webhooks](https://docs.hop.io/reference/webhooks.md): Learn about how you can utilize Hop webhooks in your applications to be notified of events in your project. - [JS Client SDK](https://docs.hop.io/sdks/client/js.md): The Hop JS Client SDK allows you to interact with Hop products from your frontend application. - [React SDK](https://docs.hop.io/sdks/client/react.md): The Hop React library allows you to easily integrate Hop products, such as Channels and Pipe, into your frontend. - [SDKs](https://docs.hop.io/sdks/overview.md) - [Server Side Go API Client](https://docs.hop.io/sdks/server/go-api.md): The Hop server side Go API client allows you to interact with all Hop products on the server side. - [Server Side Go Leap Client](https://docs.hop.io/sdks/server/go-leap.md): The Hop server side Go Leap client allows you to interact with Leap from a server. This can be useful for things such as microservices where you wish to dispatch events to many nodes. - [Server-side JS SDK](https://docs.hop.io/sdks/server/js.md): The Hop server-side JS SDK allows you to interact with all Hop products on the server side. ## Optional - [GitHub](https://github.com/hopinc) - [Community](https://discord.com/invite/hop)