I’m only a recent discourse convert, so after a lot of trial and error I’ve combined everything above into a full command by command list (thanks @titusca and @enigmaty).
Hopefully this will help (or at least accelerate) fellow newcomers go from start to finish. Would like to incorporate this into the first post given the updates to mysql->mariadb that I think have thrown a lot of confusion into the process.
Background:
- 1.6 million post transfer.
- Utilized Digital Ocean Droplet (CPU Optimized 4 vCPU/8GB)
#1 - Install Digital Ocean Discourse 1-click droplet
#2 - Finish discourse install through SSH by following prompts
Open SSH console
root
(yourrootpassword)
(enter)
(yourdomain).com
(etc…)
#3 - Login to SFTP to upload database dump
sftp root@XXX.XXX.XX.XX
y
yes
(yourrootpassword)
put db.sql /var/discourse/shared/standalone/db.sql
#4 - Login to new discourse website to setup admin account
#5 - Login to SSH - begin process
ssh root@XXX.XXX.XX.XX
cd /var/discourse
./launcher start app
docker exec -it app bash
sudo apt-get update
sudo apt-get upgrade
y
#6 - Install MariaDB (replacement for mysql)
apt-get update && apt-get install mariadb-server-10.3 libmariadbd-dev
y
#7 - Mysql Database Setup
service mysql start
mysql -u root -p
password
create database vbulletin;
exit;
#8 - Vbulletin → Mysql Database Transfer
mysql -u root -p vbulletin < /shared/db.sql
password
#9 - GEM File
echo “gem ‘mysql2’” >>Gemfile
echo “gem ‘mysql2’, require: false” >> /var/www/discourse/Gemfile
echo “gem ‘php_serialize’, require: false” >> /var/www/discourse/Gemfile
cd /var/www/discourse
su discourse -c ‘bundle install --no-deployment --without test --without development --path vendor/bundle’
(Ignore red text result)
#10 - Configure install script
vi /var/www/discourse/script/import_scripts/vbulletin.rb
#10.a - Make edits to text file as needed
DB_HOST ||= ENV[‘DB_HOST’] || “localhost”
DB_NAME ||= ENV[‘DB_NAME’] || “vbulletin”
DB_PW ||= ENV[‘DB_PW’] || “password”
DB_USER ||= ENV[‘DB_USER’] || “root”
TIMEZONE ||= ENV[‘TIMEZONE’] || “America/Los_Angeles”
TABLE_PREFIX ||= ENV[‘TABLE_PREFIX’] || “”
ATTACHMENT_DIR ||= ENV[‘ATTACHMENT_DIR’] || ‘/shared/attachments/’
#10.c - End edits
:wq
#11 - Bundle Config
bundle config set path ‘vendor/bundle’
bundle config set without ‘development:test’
bundle config unset deployment
su discourse -c ‘bundle install’
#12 - Mysql config (may be possible to do this with previous)
mysql --version sudo mysql -u root -p password ALTER USER 'root'@'localhost' IDENTIFIED BY 'password'; FLUSH PRIVILEGES; exit
#13 - Install Script
su discourse -c ‘bundle exec ruby script/import_scripts/vbulletin.rb’
Good luck!