Documentation Index
Fetch the complete documentation index at: https://mintlify.com/antiwork/gumroad/llms.txt
Use this file to discover all available pages before exploring further.
Overview
This guide covers everything you need to install before running Gumroad locally. Follow the instructions for your operating system carefully.System Requirements
Supported Platforms
- macOS 10.11 or later
- Linux Ubuntu/Debian distributions
- Windows via WSL (Windows Subsystem for Linux)
Minimum Specifications
- 8GB RAM (16GB recommended)
- 10GB free disk space
- Modern multi-core processor
Core Dependencies
Ruby
Gumroad uses Ruby 3.4.3 as specified in the.ruby-version file.
- macOS
- Linux
Using rbenv (recommended):Or using rvm:
See the official Ruby installation guide for alternative installation methods.
Node.js
Gumroad requires Node.js 20.17.0 as specified in the.node-version file.
- macOS
- Linux
Using nvm (recommended):Or using Homebrew:
Docker
Docker is used to run MySQL, Redis, Elasticsearch, and MongoDB services.- macOS
- Linux
Download and install Docker Desktop:
- Visit Docker Desktop for Mac
- Download the installer for your chip (Intel or Apple Silicon)
- Open the
.dmgfile and drag Docker to Applications - Launch Docker Desktop and complete setup
Database Dependencies
MySQL 8.0
A local MySQL installation is required for themysql2 Ruby gem, but you won’t run it as a service.
- macOS
- Linux
Percona Toolkit
Required for database maintenance operations.- macOS
- Linux
OpenSSL Configuration (macOS)
Configure Bundler to use Homebrew’s OpenSSL for the mysql2 gem:Media Processing Libraries
ImageMagick
Used for image preview editing and manipulation.- macOS
- Linux
libvips
Used with ActiveStorage for modern image format processing.- macOS
- Linux
FFmpeg
Required for video file metadata extraction.- macOS
- Linux
PDF Processing Tools
PDFtk
Used to stamp PDF files with the Gumroad logo and buyer emails.- macOS
- Linux
- Download from PDFtk Server
- Open the
.pkgfile to install
wkhtmltopdf
Required for generating PDF invoices from HTML.- macOS
- Linux
- Download version 0.12.6 from wkhtmltopdf downloads
- Open the
.pkgfile and follow the installer
Additional Linux Dependencies
Linux users may need these additional packages:Ruby Gems Setup
Install Bundler
Install Project Dependencies
Once you’ve cloned the Gumroad repository:Key Ruby Gems
Key Ruby Gems
- rails (7.1.6) - Web framework
- sidekiq (7.2) - Background job processing
- stripe (12.0) - Payment processing
- devise (4.8) - Authentication
- elasticsearch (7.11.2) - Search functionality
- puma (6.4.2) - Application server
- mysql2 - MySQL database adapter
- redis (5.0) - Cache and job queue
- rspec-rails (6.0) - Testing framework
Install dotenv
Required for some console commands:Node.js Packages Setup
Enable Corepack
Ensure the correct npm version (10.8.2) is used:Install Project Dependencies
Key Node.js Packages
Key Node.js Packages
- react (18.1.0) & react-dom - UI library
- typescript (5.5.0) - Type safety
- @inertiajs/react (2.3.13) - Modern monolith architecture
- tailwindcss (4.1.14) - CSS framework
- @stripe/react-stripe-js - Stripe integration
- webpack (5.75.0) - Module bundler
- eslint (9.6.0) - JavaScript linting
- @tiptap/react - Rich text editor
- recharts (2.15.2) - Charts and graphs
Verify Your Installation
Run this checklist to ensure everything is installed correctly:Environment Configuration
Optional: Set Up Custom Credentials
The app can boot without custom credentials, but you may want to configure:.env to add credentials for:
AWS S3
File storage and CDN
- AWS_ACCESS_KEY_ID
- AWS_SECRET_ACCESS_KEY
- AWS_REGION
Stripe
Payment processing
- STRIPE_PUBLISHABLE_KEY
- STRIPE_SECRET_KEY
Resend
Email delivery
- RESEND_API_KEY
Other Services
- BUGSNAG_API_KEY
- GOOGLE_CLIENT_ID
- FACEBOOK_APP_ID
These credentials are optional for local development. The app will work with mock services.
Development Tools (Optional)
Git Hooks
Enable pre-commit hooks for linting:Editor Setup
For the best development experience:- VS Code: Install Ruby, ESLint, and Tailwind CSS extensions
- RubyMine: Built-in support for Rails and Ruby
- Any editor: Configure to use local ESLint and Rubocop
Next Steps
With all dependencies installed, you’re ready to:Quickstart Guide
Follow the step-by-step guide to get the app running
Development Guide
Learn about development workflows and best practices