# Licensing

Avo has two types of licenses. Community edition which is free and open source for personal and hobby projects and Pro for commercial usage.

# Community vs Pro

The Community version has features that you can use today like Resource management, quite a lot of feature-rich fields, out-of-the box sorting, filtering and actions and all the associations you need.

The Pro version has advanced authorization using Pundit, localization support, Custom tools, Custom fields and much more. More (opens new window) features are coming soon like Dashboards, Settings screens, and Themes.

# One license per site

Each license entitles you to run one site in one production environment.

# More installations/environments per site

You might have the same site running in multiple environments (development, staging, test, QA, etc.) for non-production purposes. You don't need extra licenses for those environments.

We only need to check that the license key and URL matches the purchased license you're using for that one site (in any environment).

# Sites

On your licenses (opens new window) page you can see your licenses keys.

# Add the license key

After you purchase an Avo license add it to your config/initializers/avo.rb file along with changing the license type from community to pro.



 
 


# config/initializers/avo.rb
Avo.configure do |config|
  config.license = 'pro'
  config.license_key = '************************' # or use ENV['AVO_LICENSE_KEY']
end

# Configure display of license request timeout error

If you want to hide the badge displaying the license request timeout error, you can do it by setting display_license_request_timeout_error configuration to false. It defaults to true.



 


# config/initializers/avo.rb
Avo.configure do |config|
  config.display_license_request_timeout_error = false
end

# Purchase a license

You can purchase a license on the purchase (opens new window) page.

# License validation

# "Phone home" mechanism

Avo pings the HQ (opens new window) (the license validation service) with some information about the current Avo installation. You can find the full payload below.

# HQ ping payload
{
  license: Avo.configuration.license,
  license_key: Avo.configuration.license_key,
  avo_version: Avo::VERSION,
  rails_version: Rails::VERSION::STRING,
  ruby_version: RUBY_VERSION,
  environment: Rails.env,
  ip: current_request.ip,
  host: current_request.host,
  port: current_request.port,
  app_name: Rails.application.class.to_s.split("::").first
}

That information helps us to identify your license and return a license valid/invalid response back to Avo. The requests are made at boot time and every hour when you use Avo.

# Upgrade your 1.0 license to 2.0

We are gratefull to our 1.0 customers for believing in us. So we offer a free and easy upgrade path and a year of free updates for version 2.0.

If you have a 1.0 license and want to upgrade to 2.0 you need to log in to avohq.io (opens new window), go to the licenses page (opens new window), and hit the Upgrade button next to your license. You'll be redirected to the new subscription screen where you can start the subscription for 2.0. After you add your billing details you won't get charged right away, but on the next billing cycle next year.

If you choose not to renew the subscription after one year that's fine, you can cancel at any time, no biggie. You won't get charged and you will keep the last version available at the end of that subscription.