Unable to install plugins


(François Eric King) #1

Continuing the discussion from Install a Plugin:

I follow all step in this post
I rebuild
All good

But when i go to plugin in admin section…no plug in appears…

Any clue?


Install Plugins in Discourse
Install Plugins in Discourse
(Jay Pfaffman) #2

That’s not information to be able to provide any clues. Things that might help: What plugin did you install? What other plugins are installed?


(François Eric King) #3

No plugin installed

i try install many plugin togheter…but one by one too.

i always rebuild after modify and save my app.yml

here is a list of plug in i try :
`- git clone GitHub - discourse/discourse-voting: Adds the ability for voting on a topic within a specified category in Discourse.

No plugin appears in admin/setting/plugin

i try to upgrade way but i cant find upgrade option nowhere too

thanks if you have a clue


(Mittineague) #4

Not what you want to hear, but in the past I’ve had even only one broken plugin - and “broken” can be as little as simply not having all the “comments” in the plugin.rb file - result in a broken Admin -> Plugin page.

I suggest you try installing them one at a time, check to see if everything is OK, then install another.


(François Eric King) #5

i have allready try to install one by one like mentioned in my first post.

maybe someone can point me a 100% working plugin for a real try.

maybe an update of working 100% sure and noworking/workinprogress plus in can help me too


(internet) #6

I’m having the same problem as @Francois_Eric_King… Everything seems to be going well, and then after I look at my site, there’s nothing new in the plugin panel. I’ve done it a few times, and now I think I might just want to get a fresh app.yml file, then copy/paste my values in to make 100% sure the format works.

I used exactly the instructions outlined above. I wonder if I’m missing something…?


(Arpit Jalan) #7

I just installed Discourse Spoiler Alert plugin on my instance and can verify that plugin is getting installed as expected.

Delete all the plugins you are trying to install and start with Discourse Spoiler Alert plugin. Make sure your app.yml looks like:

hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - mkdir -p plugins
          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/discourse/discourse-spoiler-alert.git

Then perform a rebuild and look for “Spoiler Alert!” on /admin/plugins page. It should be there.


(Mittineague) #8

Oops, sorry, I missed that.

So you’re saying that even when you tried installing each of them by themselves, every one still resulted in a broken Admin -> Plugins page?


(internet) #9

I did this, and everything seemed like it was going fine, but then “spoiler alert” didn’t short up in the /admin/plugins page. Think there could be something else going wrong?


(cpradio) #10

What other plugins do you have installed? What version of Discourse are you running?


(Jay Pfaffman) #11

At the risk of sounding offensive, maybe it’s time to take a step back to the most common problem in diagnosing things: “Is it plugged in?”

When inexplicable things like this happen to me, I put some glaring error in the config file to make sure that I’m editing the right one. Like delete the t from templates or misspell one of those filenames. You should get an error right away.

The file you’re editing is /var/discourse/containers/app.yml and you’ve typed something like

sudo su -
cd /var/discourse/
./launcher rebuild app

(internet) #12

The version of Discourse is the latest version, 1.6.0.beta2.

Here’s what I see on my plugins page:

    Installed Plugins

    Name	Version	Enabled?	
    discourse-details	0.4	Y	 Settings
    docker_manager	0.1	Y	
    lazyYT	1.0.1	Y	
    poll	0.9	Y	 Settings

(François Eric King) #13

Iam exactly at thesame point then @internet.

i try to install spoiler alert but nothing show up in admin/plugin.

no other plugin be installed then alert spoiler.

My version of discourse is 1.6.0.beta2 too

i modify very well and like suppose the /var/discourse/containers/app.yml and i typed

sudo su -
cd /var/discourse/
git pull
./launcher rebuild app

nothing in admin/plugin too :frowning:

maybe downgrade from 1 level version the discourse installation…any way to downgrade to 1 level discourse without lost anything?


(cpradio) #14

I need the list from your app.yml file showcasing the plugins you are trying to install.

@Francois_Eric_King, does that mean you updated your app.yml to look similar to the example @techAPJ posted?

Definitely don’t do that, or you may have a really bad time.


(François Eric King) #15

yep like @techAPJ

hooks:
  after_code:
    - exec:
      cd: $home/plugins
      cmd:
        - mkdir -p plugins
        - git clone https://github.com/discourse/docker_manager.git
        - git clone https://github.com/discourse/discourse-spoiler-alert

and after i save app.yml

sudo su -
cd /var/discourse/
git pull
./launcher rebuild app

(cpradio) #16

Did you try adding .git to the end of the line for discourse-spoiler-alert? And no errors are happening in the rebuild call? This is bizarre.


(internet) #17

I did the same thing. One oddity: Sometimes it seems to rebuild with no problems. Sometimes I get this weird error after trying to rebuild:

(<unknown>): did not find expected key while parsing a block mapping at line 8 column 6 -e LANG=en_US.UTF-8 -e HOME=/root -e RAILS_ENV=production -e UNICORN_WORKERS=2 -e UNICORN_SIDEKIQS=1 -e RUBY_GC_MALLOC_LIMIT=40000000 -e RUBY_HEAP_MIN_SLOTS=800000 -e DISCOURSE_DB_SOCKET=/var/run/postgresql -e DISCOURSE_DB_HOST= -e DISCOURSE_DB_PORT= -e DISCOURSE_DEVELOPER_EMAILS=(email) -e DISCOURSE_HOSTNAME=(hostname) -e DISCOURSE_SMTP_ADDRESS=(mail provider) -e DISCOURSE_SMTP_PORT=587 -e DISCOURSE_SMTP_USER_NAME=postmaster@(mail provider) -e DISCOURSE_SMTP_PASSWORD=(password)

After reading everywhere, I learned this error often means that there’s a YML formatting issue. When I rebuild app.yml, plug in my values, and start again, sometimes it looks like it’s working, and then the plug in is still not there.


(François Eric King) #18

Yes i add .git at the end.
No error.
All rebuild look great.
But no plugin in admin section.
Sounds really weird yep


(cpradio) #19

Can you both paste your app.yml files here but remove your SMTP details?

I’m not sure where else to look. I plan to setup an instance following your app.yml as closely as possible to try and find a repo.


(François Eric King) #22
##
## After making changes to this file, you MUST rebuild for any changes
## to take effect in your live Discourse instance:
##
## /var/discourse/launcher rebuild app
##
## Make sure to obey YAML syntax! You can use this site to help check:
## http://www.yamllint.com/

## this is the all-in-one, standalone Discourse Docker container template

# You may add rate limiting by uncommenting the web.ratelimited template.
# Out of the box it allows 12 reqs a second per ip, and 100 per minute per ip
# This is configurable by amending the params in this file

templates:
  - "templates/postgres.template.yml"
  - "templates/redis.template.yml"
- "templates/web.template.yml"

## which TCP/IP ports should this container expose?
expose:
  - "80:80"   # fwd host port 80   to container port 80 (http)

# any extra arguments for Docker?
# docker_args:

params:  
db_default_text_search_config: "pg_catalog.english"

  ## Set db_shared_buffers to a max of 25% of the total memory.
  ##
  ## On 1GB installs set to 128MB (to leave room for other processes)
  ## on a 4GB instance you may raise to 1GB
  #db_shared_buffers: "256MB"
  #
  ## Set higher on large instances it defaults to 10MB, for a 3GB install 40MB $
  ## this improves sorting performance, but adds memory usage per-connection
  #db_work_mem: "40MB"
  #
  ## Which Git revision should this container use? (default: tests-passed)
  #version: tests-passed

env:
  LANG: en_US.UTF-8
  # DISCOURSE_DEFAULT_LOCALE: en

  ## TODO: How many concurrent web requests are supported?
## With 2GB we recommend 3-4 workers, with 1GB only 2
  ## If you have lots of memory, use one or two workers per logical CPU core
  #UNICORN_WORKERS: 3

  ## TODO: List of comma delimited emails that will be made admin and developer
  ## on initial signup example 'user1@example.com,user2@example.com'
  DISCOURSE_DEVELOPER_EMAILS: '@gmail.com'

  ## TODO: The domain name this Discourse instance will respond to
  DISCOURSE_HOSTNAME: ''

  ## TODO: The mailserver this Discourse instance will use
  DISCOURSE_SMTP_ADDRESS: smtp.sendgrid.net         # (mandatory)
 DISCOURSE_SMTP_PORT: 587                        # (optional)
  DISCOURSE_SMTP_USER_NAME:       # (optional)
  DISCOURSE_SMTP_PASSWORD:                # (optional, WARNING the char '#' in pw can cause problems!)
  #DISCOURSE_SMTP_ENABLE_START_TLS: true           # (optional, default true)

  ## The CDN address for this Discourse instance (configured to pull)
  #DISCOURSE_CDN_URL: //discourse-cdn.example.com

## These containers are stateless, all data is stored in /shared
volumes:
  - volume:
      host: /var/discourse/shared/standalone
      guest: /shared
- volume:

host: /var/discourse/shared/standalone/log/var-log
      guest: /var/log

## The docker manager plugin allows you to one-click upgrade Discourse
## http://crm.sensorica.co/admin/docker
hooks:
after_code:
- exec:
cd: $home/plugins
cmd:
- mkdir -p plugins
- git clone https://github.com/discourse/docker_manager.git
- git clone https://github.com/discourse/discourse-spoiler-alert.git


## Remember, this is YAML syntax - you can only have one block with a name
run:
  - exec: echo "Beginning of custom commands"

  ## If you want to set the 'From' email address for your first registration, uncomment and change:
  #- exec: rails r "SiteSetting.notification_email='info@unconfigured.discourse.org'"
  ## After getting the first signup email, re-comment the line. It only needs to run once.

  ## If you want to configure password login for root, uncomment and change:
  ## Use only one of the following lines:
  #- exec: /usr/sbin/usermod -p 'PASSWORD_HASH' root
  #- exec: /usr/sbin/usermod -p "$(mkpasswd -m sha-256 'RAW_PASSWORD')" root

  
- exec: echo "End of custom commands"
  - exec: awk -F\# '{print $1;}' ~/.ssh/authorized_keys | awk 'BEGIN { print "Authorized SSH keys for this container:"; } NF>$