Vanilla is a powerfully simple discussion forum you can easily customize to make as unique as your community.
PHP JavaScript HTML CSS Smarty Shell
Latest commit d10a908 Oct 24, 2016 @linc linc committed on GitHub Merge pull request #4721 from vanilla/fix/message-undefined-allowdismiss
Don't assume presence of AllowDismiss in message module view
Failed to load latest commit information.
applications Merge pull request #4721 from vanilla/fix/message-undefined-allowdismiss Oct 24, 2016
build Exclude source files and styleguide from phing. Oct 3, 2016
cache Revert "Removed composer and cache from git." Sep 12, 2016
conf Default Garden.RewriteUrls to true Oct 10, 2016
js Avoid auto-scrolling to top when in comment embed Oct 16, 2016
library Merge pull request #4616 from vanilla/fix/addoninfo-casening Oct 24, 2016
locales Remove execute permissions on all files (chmod -x) Jun 4, 2015
plugins Fix tagging indentation. Oct 21, 2016
resources Revert changes to resources files. Jun 7, 2016
tests Decode IP field data in Gdn_Controller::renderData (#4592) Oct 5, 2016
themes Remove the old dashboard theme stub Aug 11, 2016
uploads Remove execute permissions on all files (chmod -x) Jun 4, 2015
.editorconfig Tweak to scss-lint. Dec 18, 2015
.gitattributes Revert 6d0a70e Nov 6, 2015
.gitignore Improve phpunit docs (#3990) May 17, 2016
.htaccess Add is-not-directory check to .htaccess Jan 14, 2016
.travis.yml Allow CI build to succeed when HHVM job fails Sep 27, 2016 Remove execute permissions on all files (chmod -x) Jun 4, 2015 Recommend MySQL 5.6 Oct 12, 2016
bootstrap.php Move the request initialization up to allow overriding May 31, 2016
composer.json Replace our PHPMailer with the latest version using composer Oct 5, 2016
composer.lock Replace our PHPMailer with the latest version using composer Oct 5, 2016
container.html Use h2 in CropImage module view for semantic and aesthetics Sep 7, 2015
index.php Bump version past release Oct 18, 2016
login.php Fix root file casing Nov 6, 2015
phpunit.xml.dist Implement PSR-4 logging (#3691) Apr 28, 2016
register.php Fix root file casing Nov 6, 2015
showpost.php Convert root files to 4 space indents May 29, 2015
showthread.php Scrutinizer Auto-Fixes Apr 9, 2016
viewtopic.php Convert root files to 4 space indents May 29, 2015

Vanilla uses Composer! You cannot clone this repo right into a web directory - it requires a build step. Learn more or just download the latest stable build instead.


Build Status PR Stats Issue Stats

Howdy, Stranger!

Vanilla was born out of the desire to create flexible, customizable, and downright entertaining community solutions. Vanilla has been used to power tens of thousands of community forums around the world and we couldn't be happier if you've decided to use Vanilla to grow yours.

Every community is unique. Vanilla is a finely-crafted platform on which designers and developers can build a custom-tailored environment that meets your community's particular needs.

5 reasons Vanilla is the sweetest forum

  1. We've reimagined traditional forums for mass-appeal.
  2. Our theming flexibility is second-to-none.
  3. Impossibly good integration options with single sign-ons and embedding.
  4. The best tools available for community management.
  5. Curated features with great plugin options, not the kitchen sink.

Open Source

Vanilla is free, open source software distributed under the GNU GPL2. We accept and encourage contributions from our community and sometimes give hugs in return. You can join us on the Vanilla Community Forums to be part of that discussion.

The latest stable release is always listed here. Currently, it is the release/2.3 branch.

New plugins and themes can be listed in the Official Addon Directory. We encourage addon developers to release their code under the GPL as well, but do not require it.

Cloud Solution

Vanilla Forums provides an official cloud hosting solution at with a 1-click install, automatic upgrades, amazing professional support, incredible scalability, integration assistance, theming and migration services, and exclusive features. For the very best Vanilla forum experience, you can skip the rest of this technical stuff and go there directly.

If you professionally run a large community or enterprise forum, our cloud solution will make the best technical and economic sense by far.

Self-Hosting Requirements

We strongly recommend:

  • PHP 5.6 or 7.0.
  • MySQL 5.6 or higher (or Percona/MariaDB equivalent).

If your server is not running PHP 5.6 or higher, you must address this immediately. All lower versions of PHP are no longer updated and are potentially unsafe. We will remove support for them soon.

Our minimum requirements are now:

  • PHP 5.4 or newer with --enable-mbstring and the pdo_mysql module enabled.
  • If you intend to Migrate to Vanilla you will also need PHP with --with-mysqli.
  • MySQL 5.0 or newer (or Percona/MariaDB equivalent).

To use our social plugins, PHP's OpenSSL support must be enabled.

Vanilla ships with a .htaccess file required for Apache support. Using nginx or IIS may require additional configuration.

On the client side, Vanilla should run & look good in just about any modern browser. Still using IE? How exotic. You'll want IE8 or greater. IE7 might work if you squint hard and click gently, but we make no promises.

We've been natively mobile since before it was cool. Vanilla ships with a mobile-optimized theme enabled by default for all smartphones & tablets. Heck, it even works on the PlayStation Vita.


Vanilla is built to be simple, and its installation is no exception.

  • Upload Vanilla's pre-built version to your server.
  • Confirm the cache, conf, and uploads folders are writable by PHP.
  • Navigate to that folder in your web browser.
  • Follow the instructions on screen.


Follow these steps to upgrade Vanilla when a new stable release is announced.

  • Backup your database, .htaccess and conf/config.php file somewhere safe.
  • Upload the new release's files so they overwrite the old ones.
  • Go to to force any updates needed.
  • If it fails, try it a second times by refreshing the page.

To upgrade from 2.1 or earlier:

  • Update any locales you have installed (their name format changed in 2.2). Verify they are working after upgrade.
  • Apache users must update their .htaccess file.
  • Delete these files from your server if they exist: /themes/mobile/views/discussions/helper_functions.php and /applications/dashboard/views/default.master.php

To upgrade from Vanilla 1.0 requires a full migration (see next section). Themes and plugins are not compatible. Backup your Vanilla 1 data and files completely, then delete them from your server before attempting to install Vanilla 2.

Migrating to Vanilla

  • Get Vanilla Porter and verify it supports your platform.
  • Read the Advanced Uses notes on that page.
  • Upload it to your current server.
  • Navigate to the file in your web browser & run it.
  • Take the file it produces and import it to Vanilla.

Getting Help


  • Troubleshoot issues you run into on the community forum so everyone can help & reference it later.
  • Got an idea or suggestion? Use the forum to discuss it.
  • File detailed issues on GitHub (version number, what you did, and actual vs expected outcomes).
  • Sign the Contributors' Agreement to send us code.
  • Use pull requests against the master branch.
  • Keep our to-do list fresh by reviewing our open issues for resolved or duplicated items.

Building with Phing

Vanilla includes a buildfile for Phing, a build system for PHP, in the build directory. Running the phing command from the build directory will create a deploy-ready copy of Vanilla. This process automatically fetches dependencies with Composer, filters out any unnecessary developer files (Git files/directories, .editorconfig, unit tests, etc.) and compresses the result into an archive.

Version Control Strategy

We've adopted the git flow branching model in our projects. The creators of git flow released a short intro video to explain the model.

The master branch is production-ready for our cloud product but is not yet vetted for open source release (alternate platforms & configurations). Reviewed, stable changes land against master via pull-request.

Our open source release branches are named by version number, e.g. release/2.3. We begin release branches with a beta (b1) designation and progress them thru release candidate to stable. All open source releases (included pre-releases) are tagged.

Reporting Security Issues

Please disclose security issues responsibly by emailing with a full description. We'll work on releasing an updated version as quickly as possible. Please do not email non-security issues; use the issue tracker instead.

Legal Stuff

Copyright © 2008-2016 Vanilla Forums Inc.

Vanilla Forums is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. Vanilla Forums is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Vanilla Forums. If not, see Contact Vanilla Forums Inc. at support [at] vanillaforums [dot] com


Just kidding, everything's awesome. dance