Ruby agent compatibility¶ The Ruby agent is compatible with the the most popular web frameworks, operating systems and web servers. Below you can find more details about specific version compatibility. Operating systems¶ The Sqreen Ruby agent is supported on all operating systems, including Linux and Mac OS X. Ruby versions¶ The Ruby agent is fully compatible and tested against all rubies starting from Ruby 1.9.3 up to 2.5.x. Rails and Sinatra¶ The Ruby agent is fully compatible with all version of Ruby on Rails between 3 and 5 included. Sqreen provides the most complete protection to all your Rails applications. The Sqreen Ruby agent is fully compatible with Sinatra 1.4.x. Servers compatibility¶ Sqreen is tested against the following servers: Puma Passenger Thin Unicorn WEBrick Puma may display the following message during your application startup: "Detected 1 Thread(s) started in app boot". Automatic User Context in Ruby¶ Sqreen automatically detects and protects user accounts when your application is based on Devise framework, with DatabaseAuthenticatable strategy. More information in section Ruby SDK for user monitoring. Database compatibility (NoSQL/SQL injection protection)¶ Sqreen protects against SQL and NoSQL injections for the most common production databases: MySQL PostgreSQL SQLite MongoDB Other database? Please, contact us if you are using a different database. We will adjust our roadmap! Templating engine compatibility (cross-site scripting protection)¶ The protection against cross-site scripting attacks (XSS) is available for the ERB, Haml and Slim templating engine. Other templating engine? Please, contact us if you are using a different templating engine. We will adjust our roadmap! Using with Alpine Linux¶ Sqreen relies on libv8 for running plugins. Since Alpine Linux do not rely on libc, the libv8 library need to be compiled specifically for Alpine Linux. Sqreen provides a binary gem for Alpine Linux. The gem can be downloaded from here. In a Dockerfile, the following will install libv8: ADD https://download.sqreen.io/ruby/alpine/libv8-22.214.171.124-x86_64-linux.gem /tmp/ RUN gem install /tmp/libv8-126.96.36.199-x86_64-linux.gem RUN gem install therubyracer In a non Docker environment, the gem can be installed in a similar way: $ curl -LO https://download.sqreen.io/ruby/alpine/libv8-188.8.131.52-x86_64-linux.gem The repository hosting our scripts to build this gem is located here. This Dockerfile is a fully integrated example of TheRubyRacer running in Alpine: FROM ruby:2.4-alpine RUN apk add --update gcc g++ musl-dev make git ADD https://download.sqreen.io/ruby/alpine/libv8-184.108.40.206-x86_64-linux.gem /tmp/ RUN gem install /tmp/libv8-220.127.116.11-x86_64-linux.gem RUN gem install therubyracer RUN ruby -e'require "therubyracer"; ctx = V8::Context.new; puts ctx.eval("7 * 6")'