تثبيت Discourse على Ubuntu أو Debian للتطوير

@merefield Should I be concerned about these?

إعجاب واحد (1)

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)

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)

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)

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)

@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)

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)

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?