XenForo Importers 1.5.0 introduces a new importer to the suite of existing importers. Namely, Discourse! If you're thinking of joining XenForo but you're currently running your community on Discourse 2.0 or above, please try out our new beta Discourse importer and let us know how you get on.
You would need the core software and the importer add-on.Is it possible to have a demo version of the importer so I can see if it works correctly?
It’s just a database and a bunch of files. You could connect to the database directly if configured to accept remote connections. You could mount the disk as an NFS share or similar.HI all, before purchasing a license I would like to be sure that I can convert the forum.
This is the first discussion I find with Google and therefore I write here
I don't understand how to use the importer... I only found this screenshot, no other documentation.
View attachment 281133
Discourse runs on a docker container, how can I reach the PostgreSQL server?
Do I need to install Xenforo inside the Discourse container?
Is it possible to have a demo version of the importer so I can see if it works correctly?
Thanks
Apparently it's not that simple...the easiest thing to do could be to dump the database and copy it to the machine you’re importing to and similarly grab a copy of the files.
The directory discourse does not contain the expected contents.
You will need to associate your forum user name with your customer account and post in the relevant forum to receive support.Apparently it's not that simple...
I always get the error:
Probably the importer wants files inside the discourse app, do I have to copy all the files that are here (./launcher enter app)?Code:The directory discourse does not contain the expected contents.
Now I tried with files contained in /var/discourse
Thanks
sudo vi /var/discourse/templates/postgres.template.yml
- exec: su postgres -c 'psql $db_name -c "create user $db_user;"' || true
- exec: su postgres -c 'psql $db_name -c "grant all privileges on database $db_name to $db_user;"' || true
- exec: su postgres -c 'psql $db_name -c "alter schema public owner to $db_user;"'
- exec: su postgres -c 'psql $db_name -c "create user xenforo WITH PASSWORD '"'"'xenforo123'"'"';"' || true
- exec: su postgres -c 'psql $db_name -c "grant all privileges on database $db_name to xenforo;"' || true
- exec: su postgres -c 'psql $db_name -c "GRANT ALL ON ALL TABLES IN SCHEMA public TO xenforo;"' || true
sudo vi /var/discourse/containers/app.yml
- "80:80" # http
- "443:443" # https
- "127.0.0.1:5433:5432"
psql -h localhost -d discourse -U xenforo -p 5433
Here's a couple things that I did to get the import to work. My database is 200+GB, so I wanted to connect directly to my production database.
Then rebuild your app for the Yaml changes to take effect.
- You can get Discourse to create a new database user/password combination for you.
Code:sudo vi /var/discourse/templates/postgres.template.yml
- Once inside there, add the three lines at the bottom of this snippet (the first three lines will already be there).
Code:- exec: su postgres -c 'psql $db_name -c "create user $db_user;"' || true - exec: su postgres -c 'psql $db_name -c "grant all privileges on database $db_name to $db_user;"' || true - exec: su postgres -c 'psql $db_name -c "alter schema public owner to $db_user;"' - exec: su postgres -c 'psql $db_name -c "create user xenforo WITH PASSWORD '"'"'xenforo123'"'"';"' || true - exec: su postgres -c 'psql $db_name -c "grant all privileges on database $db_name to xenforo;"' || true - exec: su postgres -c 'psql $db_name -c "GRANT ALL ON ALL TABLES IN SCHEMA public TO xenforo;"' || true
- You can get Discourse to expose the Postgres database so you can connect to it from outside the container:
Code:sudo vi /var/discourse/containers/app.yml
- Once inside there, add the last line (the first two lines will already be there).
Code:- "80:80" # http - "443:443" # https - "127.0.0.1:5433:5432"
- This will expose your database on port 5433
- You can connect to your database from outside the container using this command
Code:psql -h localhost -d discourse -U xenforo -p 5433
Putting all that together, your migration screen will look like this:
- PostgreSQL Server: localhost
- PostgreSQL Database Name: discourse
- PostgreSQL username: xenforo
- PostgreSQL password: xenforo123
- PostgreSQL port: 5433
- Discourse Files Directory: /var/discourse/shared/standalone
Do I have to install the xenforo in my Discourse vds server?
If you are going to purchase a self hosted XF license, you will also need to purchase hosting and install XF there.
For this kind of process, absolutely only one license is needed. Don't worryI'm assuming you wouldn't need two licenses if you did what I did
I'm assuming you wouldn't need two licenses if you did what I did, which was:
- Install XenForo on your Discourse server (and nowhere else).
- Run the import
- Do your testing
- Export the XenForo database
- Uninstall XenForo from your Discourse server
- Install XenForo on the new server
- Import the XenForo database
FWIW my Discourse database was 200GB and my Xenforo database was less than 20GB, so you might not need as much disk space as you think. YMMV of course.
You will need to associate your forum user name with your customer account and post in the support forum.I'm getting this error while importing:
- ErrorException: [E_WARNING] pg_prepare(): Query failed: ERROR: syntax error at or near "topics" LINE 2: topics.archetype AS topic_archetype, ^
- src/XF/Db/PostgreSql/Statement.php:35
We use essential cookies to make this site work, and optional cookies to enhance your experience.