Install Discourse on Ubuntu or Debian for Development

@merefield Should I be concerned about these?

1 Like

Yes, you should be.

What does redis-cli ping output?

I’ll get back to you on this tomorrow (a little busy today)

It outputs PONG.
@merefield I assume this means it’s alright? Any ideas on why it would timeout then?

1 Like

Are you suggesting that I downgrade Docker to the one mentioned?

Hmm… okay. There’s just 1 problem: I’m not using Docker. Guess I’ll just have to follow this guide then…

Yes of course you aren’t! :facepalm: That was erroneous advice, deleted.

From your response looks like Redis is responding and running.

Is it running on the classic port number that Discourse is expecting?

try lsof -wni | grep redis

Should be on port 6379, I believe.

2 Likes

When I run it, nothing happens.

natedhaliwal@raspberrypi:~ $ lsof -wni | grep redis                                                                     
natedhaliwal@raspberrypi:~ $ cd discourse-f                                                                             
natedhaliwal@raspberrypi:~/discourse-f $ lsof -wni | grep redis                                                         
natedhaliwal@raspberrypi:~/discourse-f $ 

It’s directory independent.

Try:

sudo lsof -wni | grep redis

That should bring back the redis service. If not then your service is for some reason not running and you will need to investigate why.

1 Like

After running this, I still get the timeout error. Very odd. Could it be my ISP blocking it?

It’s not a solution, it’s a diagnostic. What was the result of that command?

Should look something like this:

robert@raspberrypi:~/discourse $ sudo lsof -wni | grep redis
redis-ser  890    redis    6u  IPv4   4052      0t0  TCP 127.0.0.1:redis (LISTEN)

also try this:

robert@raspberrypi:~/discourse $ ps -A | grep redis
    890 ?        00:00:05 redis-server
2 Likes

@merefield I got this:

natedhaliwal@raspberrypi:~/discourse-f $ sudo lsof -wni | grep redis                          
redis-ser  750        redis    8u  IPv4  16886      0t0  TCP 127.0.0.1:redis (LISTEN)         
natedhaliwal@raspberrypi:~/discourse-f $ ps -A | grep redis                                       
750 ?        00:00:01 redis-server                                                           
9449 ?       00:00:00 redis-server

That doesn’t look right - you have two redis processes running?

I would kill the second process.

1 Like

I assume I use the shutdown command in the redis-cli, then create and migrate the db again?
Or client kill?

no, just kill the second process

kill -9 <process-id>

In this case, process id is 9449 I believe.

Hmm…

-bash: kill: (9449) - Operation not permitted 

Use sudo …

1 Like

WOuld this be an error?

natedhaliwal@raspberrypi:~/discourse-f $ RAILS_ENV=test bin/rails db:create db:migrate                                                                                                                     
Database 'discourse_test' already exists                                                                                                                                                                   
Database 'discourse_test_multisite' already exists                                                                                                                                                         
/home/natedhaliwal/discourse-f/app/models/post_action_type.rb:16:in `expire_cache'                                                                                                                         
/home/natedhaliwal/discourse-f/app/models/post_action_type.rb:42:in `reload_types'                                                                                                                         
/home/natedhaliwal/discourse-f/app/models/flag.rb:37:in `reset_flag_settings!'                                                                                                                             
(eval):78:in `block (2 levels) in run_file'                                                                                                                                                                
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/discourse-seed-fu-2.3.12/lib/seed-fu/runner.rb:46:in `eval'                                                                              
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/discourse-seed-fu-2.3.12/lib/seed-fu/runner.rb:46:in `block (2 levels) in run_file'                                                      
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/discourse-seed-fu-2.3.12/lib/seed-fu/runner.rb:58:in `block in open'                                                                     
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/discourse-seed-fu-2.3.12/lib/seed-fu/runner.rb:57:in `open'                                                                              
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/discourse-seed-fu-2.3.12/lib/seed-fu/runner.rb:57:in `open'                                                                              
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/discourse-seed-fu-2.3.12/lib/seed-fu/runner.rb:36:in `block in run_file'                                                                 
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/activerecord-7.1.4.1/lib/active_record/connection_adapters/abstract/transaction.rb:535:in `block in within_new_transaction'              
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/activesupport-7.1.4.1/lib/active_support/concurrency/null_lock.rb:9:in `synchronize'                                                     
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/activerecord-7.1.4.1/lib/active_record/connection_adapters/abstract/transaction.rb:532:in `within_new_transaction'                       
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/activerecord-7.1.4.1/lib/active_record/connection_adapters/abstract/database_statements.rb:344:in `transaction'                          
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/activerecord-7.1.4.1/lib/active_record/transactions.rb:212:in `transaction'                                                              
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/discourse-seed-fu-2.3.12/lib/seed-fu/runner.rb:35:in `run_file'                                                                          
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/discourse-seed-fu-2.3.12/lib/seed-fu/runner.rb:26:in `block in run'                                                                      
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/discourse-seed-fu-2.3.12/lib/seed-fu/runner.rb:25:in `each'                                                                              
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/discourse-seed-fu-2.3.12/lib/seed-fu/runner.rb:25:in `run'                                                                               
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/discourse-seed-fu-2.3.12/lib/discourse-seed-fu.rb:29:in `seed'                                                                           
/home/natedhaliwal/discourse-f/lib/tasks/db.rake:264:in `block (2 levels) in <main>'                                                                                                                       
/home/natedhaliwal/discourse-f/lib/distributed_mutex.rb:53:in `block in synchronize'                                                                                                                       
/home/natedhaliwal/discourse-f/lib/distributed_mutex.rb:49:in `synchronize'                                                                                                                                
/home/natedhaliwal/discourse-f/lib/distributed_mutex.rb:49:in `synchronize'                                                                                                                                
/home/natedhaliwal/discourse-f/lib/distributed_mutex.rb:34:in `synchronize'                                                                                                                                
/home/natedhaliwal/discourse-f/lib/tasks/db.rake:234:in `block in <main>'                                                                                                                                  
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/task.rb:281:in `block in execute'                                                                                   
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/task.rb:281:in `each'                                                                                               
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/task.rb:281:in `execute'                                                                                            
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/task.rb:219:in `block in invoke_with_call_chain'                                                                    
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/task.rb:199:in `synchronize'                                                                                        
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/task.rb:199:in `invoke_with_call_chain'                                                                             
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/task.rb:188:in `invoke'                                                                                             
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/application.rb:188:in `invoke_task'                                                                                 
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/application.rb:138:in `block (2 levels) in top_level'                                                               
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/application.rb:138:in `each'                                                                                        
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/application.rb:138:in `block in top_level'                                                                          
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/application.rb:147:in `run_with_threads'                                                                            
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/application.rb:132:in `top_level'                                                                                   
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/railties-7.1.4.1/lib/rails/commands/rake/rake_command.rb:27:in `block (2 levels) in perform'                                             
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/application.rb:214:in `standard_exception_handling'                                                                 
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/railties-7.1.4.1/lib/rails/commands/rake/rake_command.rb:27:in `block in perform'                                                        
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/railties-7.1.4.1/lib/rails/commands/rake/rake_command.rb:44:in `block in with_rake'                                                      
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/rake-13.2.1/lib/rake/rake_module.rb:59:in `with_application'                                                                             
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/railties-7.1.4.1/lib/rails/commands/rake/rake_command.rb:41:in `with_rake'                                                               
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/railties-7.1.4.1/lib/rails/commands/rake/rake_command.rb:20:in `perform'                                                                 
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/railties-7.1.4.1/lib/rails/command.rb:156:in `invoke_rake'                                                                               
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/railties-7.1.4.1/lib/rails/command.rb:73:in `block in invoke'                                                                            
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/railties-7.1.4.1/lib/rails/command.rb:149:in `with_argv'                                                                                 
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/railties-7.1.4.1/lib/rails/command.rb:69:in `invoke'                                                                                     
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/railties-7.1.4.1/lib/rails/commands.rb:18:in `<main>'                                                                                    
<internal:/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:37:in `require'                                                                           
<internal:/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/site_ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:37:in `require'                                                                           
/home/natedhaliwal/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0/gems/bootsnap-1.18.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'                                                  
bin/rails:18:in `<main>' 

Why is your discourse directory called discourse-f?

Because there is a folder called discourse already, and it contains a postgres folder that said it could not be cloned into since it was already full. Hence, I cloned it into a new folder.
I just managed to sudo rm -rf that folder (I tried rm -rf but it said permission denied, so I applied the same tactic here and used sudo)
Does it affect the installation?