Forem is open source software for building communities. It is the platform that powers dev.to, and allows members to share posts, create classified listings, send direct messages, listen to podcasts, and much more.
You can start building your community and deploy Forem to Render with the following components:
- A Rails web service that runs the main app.
- A Sidekiq worker that handles background jobs.
- An Elasticsearch instance for in-app searching.
- A Redis instance to cache data.
- A Render PostgreSQL managed database as the primary database.
Forem requires SendGrid for sending transactional emails to setup the admin account through the browser. See the SendGrid docs for help creating an SMTP Relay API key.
Use the button below to deploy Forem on Render.
Configure the environment
If you’re using a custom domain, you’ll need to configure your DNS. Otherwise, wait for the Forem web service to be created and copy its
Configure SendGrid for account email confirmation.
SENDGRID_API_KEYto your SendGrid SMTP Relay API key in the
railsenvironment group. Add the email you configured with SendGrid under
Creating the admin user
You will need to configure your admin account after the initial Forem deploy.
Visit your newly created Forem and fill out the form to create the admin account.
Render generates the “New Forem Secret” and sets it as the
FOREM_OWNER_SECRET environment variable.
You can find its value in the
rails environment group.
Once you complete the form, confirm your email and sign in. Forem will ask you to complete setup on the configuration page. See the Basic Site Configuration Guide for more instructions on configuring Forem.
If you encounter problems confirming your email see Troubleshooting for tips.
Forem integrates with many other services to provide more features. Visit the Forem docs to see the some of the services and the environment variables they require to function.
We recommend integrating Cloudinary
to serve uploaded images with a CDN. Viewing uploaded images such as profile pictures,
cover photos, and article photos requires Cloudinary or Imgproxy. See the
to set up your account and get API credentials. Update the
CLOUDINARY_CLOUD_NAME environment variables in the
rails environment group.
Forem can store uploaded images in AWS S3 or on a Render Disk.
We use Render Disks in this example as an easy to setup and inexpensive solution.
You can find more details on Render Disks in the docs.
You can switch to using AWS S3 by configuring the
AWS_UPLOAD_REGION environment variables.
Invite Your Users
Once you’re done with setup, you can invite users and start building your community!
If you have questions or need help, feel free to get in touch at community.render.com or firstname.lastname@example.org.
Confirming your account
If you’re unable to confirm your account through the SendGrid email, you can manually edit your account through the Rails console.
Enter the web shell for your Rails web server in the Render Dashboard.
Open the Rails console:
source scripts/services.env bin/rails c
Find your user and set the
User.ids # You will usually be the user with id 1 user = User.find(1) user.confirmed_at = Time.current user.save