OpenEscool
Guide

How to self-host a Skool-like community

Self-hosting sounds harder than it is. Here is the whole picture, from choosing a server to taking your first payment.

By Aman Verma · Published 2026-11-14 · 7 min read

What you need

  • A VPS running Ubuntu 24.04.
  • A domain, from any registrar.
  • About 30 minutes and the ability to copy and paste into a terminal.
  • Accounts for Brevo (email) and Stripe and/or Razorpay (payments). You can add payments later.

Choosing a VPS size

A 1 vCPU, 4 GB RAM class plan is enough to start. Pick 2 vCPU and 8 GB if you expect thousands of active members or plan to upload many videos yourself. Hosting lesson videos on YouTube, Vimeo or Loom keeps the server light. We use a Hostinger VPS (KVM 1 to start) in the install guide, but any Ubuntu VPS works.

Installing OpenEscool

The install guide has every command. In short:

  1. Install PHP 8.3, MySQL, Nginx, Node.js and Composer.
  2. Create a database and clone OpenEscool from GitHub.
  3. Fill in .env with your domain and database password, then run the install commands.
  4. Add an Nginx site and turn on free HTTPS with Let's Encrypt.
  5. Add one cron entry for emails, reminders and renewals.
  6. Sign up. The first account becomes the admin.

Setting up payments

Add Stripe keys for international currencies and Razorpay keys for INR (with UPI). Add a webhook for each so access is granted and removed automatically. Test with test keys first. Details in accepting UPI payments.

Email and digests

Paste your Brevo API key in Admin settings and click Send test email. That's all: sign-up emails, weekly digests, event reminders and notifications all go through it.

Brevo email settings in OpenEscool
Email needs only a Brevo API key.

Backups and updates

  • Backups: turn on automatic snapshots at your VPS provider, and take one before every update.
  • Updates: Admin settings shows when a new version is out. Run php artisan app:update, which pulls the code, installs dependencies, migrates and rebuilds.

Security basics

  • The install guide turns on the firewall (SSH and web only) and HTTPS.
  • Keep APP_DEBUG=false in production.
  • Use a strong root password, or better, SSH keys.
  • Payment keys stay in .env on the server; other secrets in Admin settings are encrypted.
  • Built-in spam guard: sign-up honeypot, rate limits, link and phrase filters, and a review queue.

Costs per month

Roughly $5 to $15 for the VPS and about $1 for the domain, whatever the number of communities. Stripe or Razorpay take their normal fee on sales. See pricing for a calculator, or why open source.

Questions

How much does it cost to self-host a community?

About the price of a small VPS plus a domain, roughly $5 to $15 a month in total for most people.

Do I need to code?

No. The install is copy and paste, and everything else is in the browser.

How do updates work?

Back up, then run php artisan app:update on the server. Admin settings tells you when one is available.

Is self-hosting secure?

Yes, with the basics: firewall, HTTPS, debug off, strong passwords and regular updates. The install guide sets up the first three.

Run it on your own server

Free, open source, and live in about 30 minutes.