source 'https://rubygems.org' # Bundle edge Rails instead: gem "rails", github: "rails/rails", branch: "main" gem 'rails', '~> 8.0.2' # The modern asset pipeline for Rails [https://github.com/rails/propshaft] gem 'propshaft' # Use sqlite3 as the database for Active Record gem 'sqlite3', '>= 2.1' # Use the Puma web server [https://github.com/puma/puma] gem 'puma', '>= 5.0' # Bundle and transpile JavaScript [https://github.com/rails/jsbundling-rails] # gem 'jsbundling-rails' # Hotwire's SPA-like page accelerator [https://turbo.hotwired.dev] gem 'turbo-rails' # Hotwire's modest JavaScript framework [https://stimulus.hotwired.dev] gem 'stimulus-rails' # Bundle and process CSS [https://github.com/rails/cssbundling-rails] # gem 'cssbundling-rails' # Build JSON APIs with ease [https://github.com/rails/jbuilder] gem 'jbuilder' # Use Active Model has_secure_password [https://guides.rubyonrails.org/active_model_basics.html#securepassword] # gem "bcrypt", "~> 3.1.7" # File handling gem 'shrine', '~> 3.0' # Use the database-backed adapters for Rails.cache, Active Job, and Action Cable # gem 'solid_cable' # gem 'solid_cache' # gem 'solid_queue' # To create variants (different sizes) of screenshot images gem 'fastimage' gem 'image_processing' gem 'mini_magick' # Reduces boot times through caching; required in config/boot.rb gem 'bootsnap', require: false # Deploy this application anywhere as a Docker container [https://kamal-deploy.org] gem 'kamal', require: false # Add HTTP asset caching/compression and X-Sendfile acceleration to Puma [https://github.com/basecamp/thruster/] gem 'thruster', require: false # Use Active Storage variants [https://guides.rubyonrails.org/active_storage_overview.html#transforming-images] # gem "image_processing", "~> 1.2" group :development, :test do # See https://guides.rubyonrails.org/debugging_rails_applications.html#debugging-with-the-debug-gem gem 'debug', platforms: %i[mri windows], require: 'debug/prelude' # Static analysis for security vulnerabilities [https://brakemanscanner.org/] gem 'brakeman', require: false # Omakase Ruby styling [https://github.com/rails/rubocop-rails-omakase/] gem 'rubocop-rails-omakase', require: false end group :development do # Use console on exceptions pages [https://github.com/rails/web-console] # Access an IRB console on exception pages or by using <%= console %> anywhere in the code. gem 'listen', '~> 3.5' gem 'web-console' # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring # gem 'better_errors' # gem 'binding_of_caller' # gem 'spring' # gem 'spring-watcher-listen', '~> 2.0.0' gem 'rails-erd' gem 'ruby-lsp' gem 'rufo' end # See https://github.com/sstephenson/execjs#readme for more supported runtimes # gem 'therubyracer', platforms: :ruby group :doc do # bundle exec rake doc:rails generates the API under doc/api. gem 'sdoc' end # PostgreSQL support gem 'pg' group :development, :test do # Helps run tests automatically after changes # TODO: not sure all these packages are required (http://buildingrails.com/a/rails_automated_testing_setup_for_beginners) gem 'guard-minitest' gem 'guard-rails' gem 'minitest-rails' gem 'minitest-reporters' # Call 'byebug' anywhere in the code to stop execution and get a debugger console gem 'byebug', platform: :mri gem 'factory_bot_rails' end group :test do # Use system testing [https://guides.rubyonrails.org/testing.html#system-testing] gem 'capybara' gem 'selenium-webdriver' end # TODO… https://github.com/galetahub/simple-captcha # Captcha for anonymous reports # gem "galetahub-simple_captcha", :require => "simple_captcha" # Pagination gem 'will_paginate' # Style the paginator properly to use Zurb Foundation's style gem 'will_paginate-foundation' # Full-text search in PostgreSQL gem 'pg_search' # Use SLIM as our templating language gem 'slim-rails' # Requires: apt-get install libbz2-dev # gem 'bzip2-ruby', :git => 'https://github.com/chewi/bzip2-ruby.git' # a decade old and does not support Ruby 3 # Authentication gem 'devise' # gem "recaptcha", require: "recaptcha/rails" # gem "activemodel-serializers-xml" # Authentication against Google, Facebook and others gem 'omniauth' # gem 'omniauth-amazon' # gem 'omniauth-google-oauth2' # gem 'omniauth-github' # gem 'omniauth-openid' # Single-sign-on with salsa.debian.net gem 'omniauth_openid_connect' # Mitigate CVE-2015-9284 # https://github.com/cookpad/omniauth-rails_csrf_protection gem 'omniauth-rails_csrf_protection' # Role-based access gem 'cancancan' # Gravatars gem 'gravtastic' gem 'bzip2-ffi' # gem "dartsass-rails", "~> 0.5.1" gem 'rails-healthcheck' # .env files are used for credentials because the deployment system # (Dokku) uses environment variables to specify the database connection string # https://github.com/bkeepers/dotenv gem 'dotenv' gem 'cssbundling-rails', '~> 1.4' gem 'importmap-rails', '~> 2.1' gem "rails_icons", "~> 1.3"