Importing old forum

Discourse has an import script that will take the data from the old SMF 2 forum and move it to a Discourse forum.

How about if we create a new category here called “Old Forum” and move all the old data under that.

Even if it isn’t perfect and some of the formatting is messed up it will still be better than having to go to a totally different site with security warnings. Plus, it will then get indexed by Discourse and will be searchable right from here.

We would just have to be careful that it didn’t pull in all the users & groups and it didn’t start creating sub-categories under / and things like that. But, it should be doable. It just needs someone that can take the time to figure it out.


If they decide to do that, then I suggest they first try that on a test version of Discourse, before performing something like that on the live forum.


Who & what do we need to acomplish this?

  1. Someone who knows Ruby

    • In case the import script needs to be modified
  2. Someone who knows databases

    • Probably MySQL & Postgres, but that is just an educated guess
  3. Someone with access to a server

    • This process will need to tested in a real environment
    • Could be a server at home that can have a stack loaded that is similar to the real servers.
    • LAMP? Docker? … Will need to be researched
  4. Someone who has access to the real data

    • An admin of both the old and new sites that can export/import
  5. Someone that knows forum software

    • SMF2 & Discourse
  6. The actual data

    • A data-dump from the old forum
    • What format - SQL export? SMF backup? …
    • How big is it? Can it be moved multiple times over the Internet?
    • How much do we need? Probably not users & groups, but what can we do without and still have all the categries topics & posts

Just some thoughts to move this along. Please add to & correct my ramblings.

When attempting this, test it first on a secondary discourse forum. Otherwise that might break the current forum.

1 Like

Well, that was easy. It took a long time on my crappy old beater box, but it was easy.

I’ve never used Docker before and I’m impressed. Bare-bones Ubuntu server to a fully functional Discourse forum with just a few commands.

The only things I installed other than base server were SSH & Neovim. Then Docker, then the Discourse container. And it’s all running on a single core Athlon with 2GB RAM.

1 Like

OK, got Docker/Discourse installed & configured & I’m pretty comfortable with it.

Today we fire up another old box and install SMF. Probably going to be more complicated because there’s no Docker image. So back to a LAMP server then SMF on top …

you can find a dockerfile as this :

a dockerfile is just the source code of an docker image (as PKGBUILD)

docker build

Excellent, thanks. I don’t know why I couldn’t find that before.

Also, I’d like to keep the stack as similar to the original as possible & I’m guessing the old forum is LAMP/SMF. Just a guess, but I think the old forum predates Docker.

with a dockerfile, its easy to write your good version . for exemple if you want lamp in archlinux :
et you add lines from post up :

ADD /var/www/

with good version

Well, that was a… challenge. The LAMP install was fine and I added PHPMyAdmin just to make fiddling with databases easier. Again, no issues.

But when it came to SMF, it was a different story. Downloaded and untarred the latest stable version, loaded install.php and got:

!!Critical Error!
The installer was unable to detect any database
support in PHP. Please ask your host to ensure that PHP was compiled
with the desired database, or that the proper extension is being loaded.

Every fix I could find made no difference. phpinfo.php didn’t show any issues, all the required modules were loaded. php.ini was configured as required on the SMF site, still no DB connection.

So I downloaded the latest beta version, 2.1beta2 I think, and BAM! no more PHP errors & it connected to the DB and proceeded to install.

So next is populating the forum with users & posts then see the best way to get the data out that will be compatible with the Discourse import script.


This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.