Back in May of 2020, Ben shared an article on dev.to: one of the fastest growing communities of software developers on the internet. This wasn’t unusual for Ben – as a software developer himself and the creator of DEV it’s safe to call him a frequent poster there.
But this post was a little different because it served as the official announcement of Forem: the open-source community software that DEV is built on. It was our company’s first public commitment to provide you with the same flexible and transparent tools that we used to spark our first Forem success story.
Since that day in May, a lot has happened. We’ve helped launch a number of new Forem communities including CodeNewbie Community, Community Club, and a handful of others. We’ve also grown our core team, had many fantastic discussions right here, and lots more.
Whether you filled out the Forem early interest form or you’ve been following along on Forem.dev, the fact remains that you have been patiently waiting for the next big moment in our community’s trajectory...
Now, we’re sharing a new milestone in the evolution of our community-empowering tools: Forem Self-Host.
We’re excited to finally deliver on the promise we made last May to truly open up our community software for the world to use. Forem Self-Host allows you to spin up your own Forem community using our open guidelines available here for an experience that’s entirely yours.
You’ll see the entire breakdown of the process in the repository, but here’s a preview:
- Forem Self-Host uses Fedora CoreOS as the host operating system and containers powered by Podman with systemd.
- We support three cloud providers: DigitalOcean, AWS, and Google Cloud (for now) A- side from the cost to use your chosen cloud provider, Forem Self-Host is free
Forem Self-Host
This is a repo for setting up a free, self-managed install of Forem on a Fedora CoreOS VM running on one of a few popular cloud providers (current support for DigitalOcean, AWS, and Google Cloud). Local development is also supported using a VM on Linux via QEMU.
Please note that Forem is a complex piece of software, and hosting and managing it in a cloud environment is non-trivial. While the recipes and scripts here are expected to work for the limited scenarios we tested against, use and modification of the recipes, or altering the deployed environment, may require familiarity with the following layers of the tech stack we built with, and ongoing maintenance of the deployed system may require interacting with any of these technologies:
- Ansible
- Your chosen cloud provider - both CLI and UI use
- Python 3 and pip3
- systemd
- Podman
- General Linux…
Forem Self-Host Tutorials
It’s an understatement to say that our team has been eager to announce Forem Self-Host with all of you. To that end, @coffeecraftcode (Developer Advocate at Forem), has prepared a number of helpful tutorials to supplement our quickstart guide.
Self Host: Quick Start in Depth
Christina Gorton for Forem Core Team ・ Jul 20 '21 ・ 5 min read
Installing Forem Requirements for MacOS
Christina Gorton for Forem Core Team ・ Jul 20 '21 ・ 3 min read
Forem AWS Setup on MacOS
Christina Gorton for Forem Core Team ・ Jul 20 '21 ・ 5 min read
Forem DigitalOcean Setup on MacOS
Christina Gorton for Forem Core Team ・ Jul 20 '21 ・ 4 min read
Forem Google Cloud Setup on MacOS
Christina Gorton for Forem Core Team ・ Jul 20 '21 ・ 5 min read
Questions? Feedback?
Forem Self-Host is still in beta with some expected and, likely, unexpected issues to resolve, but we look forward to tackling them in partnership with you. We expect you to have questions, feedback, and pain-points as you get started with Forem Self-Host. We view these as healthy and integral to the process of building an open-source approach that works for all communities. Our goal is for everyone to learn from one another as you build a diverse new group of self-hosted Forems.
Please post any questions or feedback you’d like out in the open, right here on Forem.dev. You can use this template or simply tag your post with #selfhost
+ #help
for questions or #selfhost
+ #feedback
for feedback. We urge you all to share your questions and feedback publicly, so that Forem creators are able to learn from one another.
We’d love to hear about your Forem. If you’d like to share your story with us, you can email us anytime at hello@forem.com.
Here’s to your thriving self-hosted Forem to be 🌱
>> Read Ben's thoughts on Forem Self-Host.
Forem for Enterprise Teams
If you belong to an organization that is interested in building a dedicated community around your services, self-hosting your own Forem might not make sense. For these groups, we offer Forem Cloud: a version of Forem that is hosted entirely by our team with priority support and professional resources for managing and scaling your community. Interested? Get in touch with us here.
Top comments (16)
Awww yeah!! So siked for this launch.
I love how meta this all is, haha! Create your own Forem, hop onto forem.dev (which is also a Forem!) and convene with other Forem creators plus ask questions/leave feedback for the Forem team.
Anybody got any questions? I'm here for'em. 😉
Let's gooo
The new Forum revolution => Forem
This is big! This is REALLY BIG!
I am playing already, love the setup. A fully distributed open source community built on the world’s most advanced, innovative and progressive community platform, all running in your favourite Cloud, fully extensible.
🦄😻❤️
I wanted to ask what the difference is between the selfhost repo and the normal forem repo.
I was actually thinking of moving your ansible installation to a terraform based one instead. I found the need for (fedora) butane rather difficult. I got around that by using a docker command alias after a while of tinkering with the installation on my Ubuntu based OS.
Great question.
For a high level answer of the differences... forem/forem is our application, forem/selfhost deploys the forem/forem application to a cloud provider for your personal use.
Great! How about contribution opportunuties? I need to add some functionalities and personalization changes on my Forem instance, but I couldn't find the way to do that. How can I edit the forem/forem application path (Github address actually) on forem/selfhost configs?
Hey @ce7in
I don’t want to assume your technical level so I am going to let you know what you can do and also give you a few reasons why you may not want to.
We have a helper script Forem Image called
foremimg
. It is used to control your Forem’s version and apply updates.So you can technically add other functionalities to your Forem.
To do this you would first need to create your own new image, host it on GitHub, and then point to it with:
You can see an example of this in the foremimg section of the selfhost docs.
While this is possible keep in mind you will need to keep up with Forem updates on your own as this will deviate your Forem Selfhost from the main Forem repo.
One suggestion, if the functionalities you are wanting to add could be useful to the whole community you could create a features post here on forem.dev and we can communicate with the Product team to see if it is a feature we can add to Forem for everyone to use.
You're amazing Christina 😊 Thanks a lot.
Happy to help. Thanks for all the great questions.
Beyond excited for where this will lead...
Splendid! Congratulations for the milestone
This is super cool! I am loving contributing to Forem and plan to setup a Forem instance of my own!
Reach out if you need help setting it up @squarebat 💜 And thanks for all your contributions.
When I click the Heart button right after login, it doesn't work (looks like it's cached?). Then if I refresh the page, it works. The same happens for the comment box.
I'm using Brave browser (with Brave shield disabled).