Quantcast
Channel: Discourse Meta - Latest topics
Viewing all 60309 articles
Browse latest View live

Make groups invisible to the public

0
0

@axim wrote:

hello discourse community.

here is axim from freiLand cultural center in Potsdam. We use discourse for our internal organisation and we are over 150 people using ist. It works fine.

I have a question:

We do not want that the groups or users can be seen from the public. In the administration settings you can make the users invisible to the public - "hide user profiles from public". I find no way to adjust this in the same way also for the groups. There is a setting to make also the groups "invisible" but then this applies both to the public as well as the logged-in mode. That makes no sense if registered users can't see the groups anymore. Did I miss something?

all da best - axim

Posts: 2

Participants: 2

Read full topic


Plugin QUnit tests are not running as part of rake qunit:test

0
0

@David_Taylor wrote:

It is my understanding that running rake qunit:test should run all of the qunit tests in Discourse, including those for any installed plugins. However, when I run the task in the docker development environment it only runs the core discourse tests (1980 of them).

When I run exactly the same command using my native mac development environment, it picks up the tests for the plugins (e.g. the 'poll' plugin), which results in more than 1980 tests, and I have no idea what's causing this difference.

This exact same problem seems to occur in the Discourse Travis build - looking at this recent log, it shows

Time: 151618ms, Total: 1980, Passed: 1980, Failed: 0

So it's not running the qunit tests for all the core plugins, even though it's running their rspec tests.

I've tried investigating further but don't really know where to look. I'm guessing there must be some kind of regex/filter which locates all the qunit test files?

Posts: 3

Participants: 2

Read full topic

Slow loading times for a topic's title

0
0

@watchmanmonitor wrote:

Continuing the discussion from Can I add a loading image like slack has while the app is loading?:

I've seen this behavior a number of times recently, it's kind of ironic that the topic I clicked on which ended up prompting me to stop & start a topic is one about slow load times.

The issue at hand is that when I'm on a Topic A and client on a link at the bottom to Topic B, both the URL in my browser (chrome on mac) and the window's title change quickly, but the topic title doesn't change until after more of the page loads.

I've seen this here on meta more than anywhere else. Outside of making pages load faster, I wonder if the updating of the title itself should get prioritized?

Posts: 2

Participants: 2

Read full topic

G Suite/google cloud

0
0

@travisdeeth wrote:

I am attempting to configure Discourse which is running through google cloud to use SMTP through G Suite. I am editing the "discourse.conf" found in "/opt/bitnami/apps/discourse/htdocs/config" to contain the following information;

smtp_address = "smtp.gmail.com"
smtp_port = 587
smtp_domain = *****.org
smtp_user_name = '******@*****.org'
smtp_password = '********************'
smtp_enable_start_tls = true

When I use the above information the test email successfully goes through! But when I go to register, Discourse says it's sending a confirmation email, but it never does.

I have also tried ports 465 and 2525 w/ the above information. I have also tried smtp_address = "smtp-relay.gmail.com"

The sections that contain asterisks are obviously to protect my private information.

https://support.google.com/a/answer/176600?hl=en
contains some information regarding this issue.

https://support.google.com/a/answer/2956491?hl=en
also contains information regarding this issue.

Any help with this would be most appreciated.

Posts: 7

Participants: 3

Read full topic

Attempting to install Discourse on private Apache Server

0
0

@naupe wrote:

Hello Discourse community,

I am a part of a game development team, and we've been looking for a better, more modern forum platform to our current phpBB forums. And I believe Discourse is it!

Unfortunately, our Webhost does not allow for root access, meaning we can't install Discourse to it (at least, that's what I've read and our lead site admin tells me). Fortunately, I do have an Ubuntu box that I want to turn into an Apache Server (the first time I've ever tried to set one up), and I would like to host Discourse on it. We're a small enough team, that I don't think there will be a traffic issue.

Discourse has been proving very difficult to set up (as per the above, I'm new to installing an Apache Server in general). All the instructions I can find are in regard to installing Discourse on DigitalOcean. I've been trying to follow all the steps in this particular article, but have run into several problems:
1. I can't get SMTP to send an email. Of course, this is a problem related to setting up SMTP (and again, something I'm completely new to).
2. As mentioned above, I'd like to host Discourse on my personal server, as opposed to Cloud hosting like DigitalOcean. So I haven't been able to set up Droplet.

I imagine #2 is my main issue as to why I haven't been able to get Discourse to show on my server (I got the successful Apache page to show, as well as PHP). Is it even possible to host Discourse on a personal server? The only instructions seem to be in regard to hosting on DigitalOcean.

Can anyone here help a newbie out? Keep in mind I do have a basic understanding of Linux (particularly Ubuntu distros).

Posts: 4

Participants: 4

Read full topic

Imap - Settings

0
0

@thomas_b_punkt wrote:

Hi! We are new in discourse and have hosted it on a cloud-server from 1&1 in Germany.

Everything works fine, except the eMail-settings. When I go to "administration" and then to "E-Mails" I see the following settings:

Versandmethode
address localhost
port 25
domain localhost.localdomain
user_name
authentication
enable_starttls_auto true

I think, it´s impossible, to send any email with these settings :slight_smile: And indeed, a testmail does not arrive! Is it right, that I have to fill out the fields above with the data of my eMail-provider? And if yes: How can I do this? There ist no button!

Best regards
Thomas

Posts: 5

Participants: 3

Read full topic

How to add new webhooks and customize webhook payload

0
0

@fantasticfears wrote:

Ever wonder how to add new webhook types? Or how to reduce the payload? Here is the tutorial for the plugin authors. It demos how to add the session and user notification event types as well as customization to the payload. You can also check the plugin on GitHub while reading.

If you'd like to have a new webhook type supported by the team, bring up a feature request instead.

Before started, make sure you already understand webhook guide.

New webhook event type

A new webhook event type is defined in the database so that Ember client and webhook can find relevant information.

1.Seeding

Seeding data by putting this in a migration db/migrate/20170321095307_add_web_hook_event_type.rb:

def up
  WebHookEventType.seed do |b|
    b.id = 100 # start with a relative large number so it doesn't conflict with the core type
    b.name = "notification"
  end

  WebHookEventType.seed do |b|
    b.id = 101
    b.name = "session"
  end
end

def down
  WebHookEventType.where('id >= 100').delete_all
end

Admin dashboard needs the text to display the new event type. Adding them in config/locales/client.<language-code>.yml:

en:
  admin_js:
    admin:
      web_hooks:
        notification_event:
          name: "Notification Event"
          details: "When there is a new notification."
        session_event:
          name: "Session Event"
          details: "When there is a login or logout."

2. Connect with the internal DiscourseEvent or hook on your own

add_model_callback(:notification, :after_commit, on: :create) do
  # you can enqueue web hooks anywhere outside the AR transaction
  # provided that web hook event type exists
  WebHook.enqueue_hooks(:notification, # event type name
                        notification_id: self.id, # pass the relevant record id
                        # event name appears in the header of webhook payload
                        event_name: "notification_#{Notification.types[self.notification_type]}_created")
end

%i(user_logged_in user_logged_out).each do |event|
  DiscourseEvent.on(event) do |user|
    WebHook.enqueue_hooks(:session, user_id: user.id, event_name: event.to_s)
  end
end

3. Final step: Sidekiq Jobs

Adding a new method to the Jobs::EmitWebHookEvent:

Jobs::EmitWebHookEvent.class_eval do
  # the method name should always be setup_<event type name>(args)
  def setup_notification(args)
    notification = Notification.find_by(id: args[:notification_id])
    return if notification.blank? # or raise an exception if you like

    # here you can define the serializer, you can also create a new serializer to prune the payload
    # See also: `WebHookPostSerializer`, `WebHookTopicViewSerializer`
    args[:payload] = NotificationSerializer.new(notification, scope: guardian, root: false).as_json
  end

  def setup_session(args)
    user = User.find_by(id: args[:user_id])
    return if user.blank?
    args[:payload] = UserSerializer.new(user, scope: guardian, root: false).as_json
  end
end

An aside note, the payload is sent as if you are an administrator browsing a Discourse site. Be careful for what you sent.

Payload customization

There are two ways to reduce the payload size.

  1. Define a custom serializer.
  2. Uses plugin filter.

The first one is explicit to do. The second one involves a plugin API where you have the power to modify the payload. This enables the possibility to slice the JSON, i.e. @Lapinot suggested.

Plugin::Filter.register(:after_build_web_hook_body) do |instance, body|
  if body[:session]
    body[:user_session] = body.delete :session
  end

  body # remember to return the object, otherwise the payload would be empty
end

Final aside note, a {{plugin-outlet name="web-hook-fields"}} is now available in the web hook configuration page.

The plugin code is available under https://github.com/fantasticfears/discourse-webhooks-example.

Thanks @erlend_sh to encourage me writing this tutorial and @tgxworld for sorting out the internals.

Posts: 1

Participants: 1

Read full topic

:es: Traducciones de la palabra "Backup"

0
0

@SidV wrote:

Quería saber si estamos de acuerdo en que la palabra "Backup" será traducida a "Backup" o a "Copia de seguridad".

Yo estoy actualizando las modificaciones en Server y en Client.

Me parece más lógico dejar:

  • Backup :arrow_left: cuando sea contexto de admin
  • Copia de seguridad :arrow_left: cuando sea contexto de usuario

¿Qué opinan ustedes?

Posts: 3

Participants: 3

Read full topic


Setting up plugin continuous integration tests on Travis CI

0
0

@David_Taylor wrote:

Following on from Beginner’s Guide to Creating Discourse Plugins Part 6: Acceptance Tests and some brief mention here and here

I've got a travis setup working which pulls the latest version of Discourse, 'installs' the plugin, and runs all the tests. It does this using the discourse_dev docker image, so the environment should match up almost exactly with production systems. Any changes to dependencies, including things like ruby/postgres versions should happen seamlessly as the team rebuild the docker image.

This is a work in progress, with a couple of outstanding issues:

  • Plugin QUnit tests are not run (thread here)
  • Getting the database migrated requires a bit of a hack (thread here)

Setting it up

  • Download this gist, and commit it as .travis.yml in the root directory of your plugin's repository.
  • Head over to http://travis-ci.org, and sign up with your GitHub account
  • Once you’re signed in, go to your profile page and enable builds for your plugin
  • And that's it! Every time you make a commit or a PR, tests will be run against the stable, beta, and tests-passed versions of Discourse in 3 parallel builds

To make sure that new discourse releases don't break your plugin, you can try setting up Travis's CRON beta to run the tests every day, regardless of whether you've changed the plugin. My setup looks like this:

You can see this in action with my whos-online plugin here (not that I've actually got around to writing any tests yet :laughing:)

(the stable branch is failing on Discourse's own travis build at the moment, so that's not my fault)

It's not the quickest thing in the world, but with all three builds running simultaneously I think it's acceptable.

If anyone has any suggestions for improvements let me know and I can update the gist.

Posts: 3

Participants: 2

Read full topic

Suggestive Search Issue for Tagging Users

0
0

@RobMeade wrote:

Hi,

Noticed a minor issue with the suggestive search when typing a @ group tag today.

After a little investigation it would seem that;

Group is visible to all users

has to be enabled in order for it to appear in the search results, but we wouldn't want to make this group visible to everyone but feel that it should still appear in the search for those that are allowed to message or mention as per the subsequent setting;

Is this something that could be fixed, or, is this intended behaviour? Or, have I interpreted something incorrectly?

Thanks in advance, as always, for your help :slight_smile:

Posts: 1

Participants: 1

Read full topic

User Preferences | Date of Birth

0
0

@Vladimir_Atanov wrote:

Hi there!

Within this forum we have ability to manage date_of_birth. But in this view app/assets/javascripts/discourse/templates/preferences.hbs we don't have this ability.

Could you explain how to add date_of_birth? (like in this forum)

Posts: 3

Participants: 2

Read full topic

No Topics Under 'Top' Category

0
0

@TimothyDonaghue wrote:

I migrated my previous forum to a Discourse forum yesterday. At the moment, no topics appear under the 'Top' category. Does it require a certain amount of time to calculate the top topics?

Posts: 6

Participants: 3

Read full topic

Possibility to lock a topic to a specific user only + staff members

0
0

@nordize wrote:

It would be great if the following was achievable. I note that I'm new to Discourse.

Here's my use case. We use Discourse for a closed forum among a small team that coordinate a bigger initiative within an institution. We have contributors outside of the coordinating team who would discuss a proposal with all team members, but not with other contributors. We'd like to create a new topic and lock access and visibility of that topic to only a specific user and all team members so that they can discuss it.

Something like the *nix file system where I'd give read/write for a topic to root + specific group, but not world. Or role-based permissions in other web systems.

As far as I've seen, the default Discourse permission system is based on trust levels, not roles, and it doesn't allow me to create roles with specific permissions.

Is there some plugin or way I could make Discourse achieve the above?

p.s. I could probably live with creating a new category per topic if needed, though that would create a lot of different categories that only have one topic.

Posts: 6

Participants: 3

Read full topic

Issue embedding when discourse is hosted in a subfolder

0
0

@Kevin_Glinski wrote:

We've been running with discourse as a subfolder located at /forum and it has been working great. Now we want to embed comments on our blog on the same site located in /blog.

On the blog page, the iframe loads and displays "Loading Discussion..." but then doesn't load it. Looking at the console, i see it requesting https://site/mini-profiler-resources/includes.js?v=12b4b45a3c42e6e15503d7a03810ff33 which returns a 404, when it should be requesting

https://site/**forum/**mini-profiler-resources/includes.js?v=12b4b45a3c42e6e15503d7a03810ff33

So i'm guessing that the logic behind DISCOURSE_RELATIVE_URL_ROOT isn't being applied to the embedded page.

I'm trying to run this all on localhost behind a nginx reverse proxy but can't figure out how to get vagrant to honor the DISCOURSE_RELATIVE_URL_ROOT property like in the docker config. If i can get this running, i can help diagnose and submit a PR

Thanks

Posts: 5

Participants: 3

Read full topic

Download backup - email link only

0
0

@Kevin_McKinney wrote:

In the past when I clicked the Download button on the backups screen, the browser downloaded the file. Now the tooltip reads "Send email with download link" and it emails me with a link to download it. Is that new behavior that I just missed or is there an issue with my install?

Posts: 2

Participants: 2

Read full topic


Notify users participating in a topic

0
0

@designbygio wrote:

Is there a way to notify all users that replay to a specific topic?

Something similar to the Slack's @here or @channel

Posts: 2

Participants: 2

Read full topic

Changes in omni auth strategies/custom auth plugin?

0
0

@carlokok wrote:

We've had a custom OAuth2 based authentication which looks like:

require 'auth/oauth2_authenticator'

require 'omniauth-oauth2'
class OmniAuth::Strategies::RoOauth < OmniAuth::Strategies::OAuth2
  SITE_URL = '******'
  # Give your strategy a name.
  option :name, "ro_oauth"

  # This is where you pass the options you would pass when
  # initializing your consumer from the OAuth gem.
  option :client_options, site: SITE_URL

  # These are called after authentication has succeeded. If
  # possible, you should try to set the UID without making
  # additional calls (if the user id is returned with the token
  # or as a URI parameter). This may not be possible with all
  # providers.
  uid{ raw_info['id'] }

  info do
    {
      :name => raw_info['name'],
      :email => raw_info['email'],
      :groups => raw_info['groups']
    }
  end

  extra do
    {
      'raw_info' => raw_info
    }
  end

  def raw_info
    @raw_info ||= access_token.get('*****').parsed
  end
end

class RoAuthenticator < ::Auth::OAuth2Authenticator

  CLIENT_ID = '****'
  CLIENT_SECRET = '****'

  def register_middleware(omniauth)
    omniauth.provider :ro_oauth,
      CLIENT_ID,
      CLIENT_SECRET
  end
  def after_create_account(user, auth)
    super(user, auth)
    data = auth[:extra_data]
    update_user_groups(user, data[:groups])
  end

  def update_user_groups(user, groups)
    grouplist = groups.select { |item| item.starts_with?("beta-") }.map { |item| item[5, item.length - 5] }
    Rails.logger.info "After create account " + grouplist.join(",")
    Group.joins(:users).where(users: { id: user.id } ).each do |c|
      gname = c.name
      if gname.start_with?("beta_")
        gname = gname[5, gname.length - 5]
        if grouplist.include?(gname)
          grouplist.delete(gname) # remove it from the list
        else
          c.group_users.where(user_id: user.id).destroy_all
          # Rails.logger.info "Would remove group " + c.name
        end
      end
    end
    grouplist.each do |c|
       grp = Group.where(name: "beta_" + c).first
       if not grp.nil?
         grp.group_users.create(user_id: user.id, group_id: grp.id)
         # Rails.logger.info "adding user to " + grp.name
       end
    end
  end

  def after_authenticate(auth_token)
    result = Auth::Result.new

    oauth2_provider = auth_token[:provider]
    oauth2_uid = auth_token[:uid]
    data = auth_token[:info]
    result.email = email = data[:email]
    result.name = name = data[:name]

    oauth2_user_info = Oauth2UserInfo.find_by(uid: oauth2_uid, provider: oauth2_provider)

    if !oauth2_user_info && @opts[:trusted] && user = User.find_by_email(email)
      oauth2_user_info = Oauth2UserInfo.create(uid: oauth2_uid,
                                               provider: oauth2_provider,
                                               name: name,
                                               email: email,
                                               user: user)
    end

    result.user = oauth2_user_info.try(:user)
    result.email_valid = @opts[:trusted]

    result.extra_data = {
      uid: oauth2_uid,
      provider: oauth2_provider,
      groups: data[:groups]
    }

    #result

    # result = super(auth_token)
    if not result.user.nil?
      update_user_groups(result.user, result.extra_data[:groups])
    end
    result
  end
end


auth_provider :title => 'Click here to sign in.',
    :message => 'Log in via the main site (Make sure pop up blockers are not enabled).',
    :frame_width => 920,
    :frame_height => 1000,
    :authenticator => RoAuthenticator.new('ro_oauth', trusted: true)

register_css <<CSS

.btn-login.ro_oauth {
  background: #0E76BD;
color: rgb(255, 255, 255);
text-shadow: 0px 1px 0px rgba(0, 0, 0, 0.2);
box-shadow: 0px 1px 0px rgba(255, 255, 255, 0.1) inset;
}

CSS

But it suddenly started failing with:
NoMethodError (undefined method []' for nil:NilClass)
/var/www/discourse/plugins/roauth/plugin.rb:23:in
block in '

Did anything change for this, and if yes, what can I do to fix this error?

This would have been a recent fix; since i update almost daily and we only just noticed.

Posts: 6

Participants: 2

Read full topic

Let's encrypt not renewing

0
0

@pfaffman wrote:

I've got a site that's gotten a couple of let's encrypt warning emails. I ignored them, but now the expire date is 9 days away. I did a ./launcher rebuild app, but https://dtqr.literatecomputing.com/ still has the cert that will expire March 30. (N.B. Chrome now requires you to use devel mode/security to see certs).

I don't see anything obviously wrong in the logs, if I'm looking in the right place. Oh, @tgxworld, before you see the logs, look at this. Even more curious is that it looks like I got new keys:

root@ubuntu-1gb-nyc2-01:/var/discourse# ls -l shared/standalone/ssl/
total 20
-rw-r--r-- 1 root root  424 Jul 22  2016 dhparams.pem
-rw-r--r-- 1 root root 3822 Mar 21 13:21 dtqr.literatecomputing.com.cer
-rw-r--r-- 1 root root 3822 Mar 21 13:21 dtqr.literatecomputing.com.cer.bak
-rw-r--r-- 1 root root 3243 Mar 21 13:21 dtqr.literatecomputing.com.key
-rw-r--r-- 1 root root 3243 Mar 21 13:21 dtqr.literatecomputing.com.key.bak

limit_req_zone $binary_remote_addr zone=bot:10m rate=$reqs_per_minuter/m;
limit_req_status 429;
server {
 in /etc/nginx/conf.d/discourse.conf
I, [2017-03-21T17:20:05.884713 #13]  INFO -- : Replacing (?-mix:location @discourse {) with location @discourse {
  limit_req zone=flood burst=$burst_per_second nodelay;
  limit_req zone=bot burst=$burst_per_minute nodelay; in /etc/nginx/conf.d/discourse.conf
I, [2017-03-21T17:20:05.886020 #13]  INFO -- : > mkdir -p /shared/ssl/
I, [2017-03-21T17:20:05.889188 #13]  INFO -- :
I, [2017-03-21T17:20:05.890052 #13]  INFO -- : Replacing (?-mix:server.+{) with server {
  listen 80;
  rewrite ^ https://$$ENV_DISCOURSE_HOSTNAME$request_uri? permanent;
}
server {
 in /etc/nginx/conf.d/discourse.conf
I, [2017-03-21T17:20:05.891253 #13]  INFO -- : Replacing (?m-ix:listen 80;\s+gzip on;) with listen 443 ssl http2;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES256-SHA;
ssl_prefer_server_ciphers on;
ssl_ecdh_curve secp384r1;

ssl_certificate /shared/ssl/ssl.crt;
ssl_certificate_key /shared/ssl/ssl.key;

ssl_session_tickets off;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:1m;

gzip on;

add_header Strict-Transport-Security 'max-age=31536000'; # remember the certificate for a year and automatically connect to HTTPS for this domain

if ($http_host != $$ENV_DISCOURSE_HOSTNAME) {
   rewrite (.*) https://$$ENV_DISCOURSE_HOSTNAME$1 permanent;
} in /etc/nginx/conf.d/discourse.conf
I, [2017-03-21T17:20:05.892573 #13]  INFO -- : > if [ -z "$LETSENCRYPT_ACCOUNT_EMAIL" ]; then echo "LETSENCRYPT_ACCOUNT_EMAIL ENV variable is required and has not been set."; exit 1; fi
I, [2017-03-21T17:20:05.895244 #13]  INFO -- :
I, [2017-03-21T17:20:05.895629 #13]  INFO -- : > /bin/bash -c "if [[ ! \"$LETSENCRYPT_ACCOUNT_EMAIL\" =~ ([^@]+)@([^\.]+) ]]; then echo \"LETSENCRYPT_ACCOUNT_EMAIL is not a valid email address\"; exit 1; fi"
I, [2017-03-21T17:20:05.904239 #13]  INFO -- :
I, [2017-03-21T17:20:05.905219 #13]  INFO -- : > cd /root && git clone https://github.com/Neilpang/acme.sh.git && cd /root/acme.sh && git reset --hard c4c5ecd03de497fd4c3079cbac9d3c56edaffc89
Cloning into 'acme.sh'...
I, [2017-03-21T17:20:07.153958 #13]  INFO -- : HEAD is now at c4c5ecd Merge pull request #525 from bittorf/master

I, [2017-03-21T17:20:07.154530 #13]  INFO -- : > touch /var/spool/cron/crontabs/root
I, [2017-03-21T17:20:07.162748 #13]  INFO -- :
I, [2017-03-21T17:20:07.164135 #13]  INFO -- : > install -d -m 0755 -g root -o root $LETSENCRYPT_DIR
I, [2017-03-21T17:20:07.171796 #13]  INFO -- :
I, [2017-03-21T17:20:07.172913 #13]  INFO -- : > cd /root/acme.sh && LE_WORKING_DIR="${LETSENCRYPT_DIR}" ./acme.sh --install
[Tue Mar 21 17:20:07 UTC 2017] It is recommended to install nc first, try to install 'nc' or 'netcat'.
[Tue Mar 21 17:20:07 UTC 2017] We use nc for standalone server if you use standalone mode.
[Tue Mar 21 17:20:07 UTC 2017] If you don't use standalone mode, just ignore this warning.
I, [2017-03-21T17:20:07.480151 #13]  INFO -- : [Tue Mar 21 17:20:07 UTC 2017] Installing to /shared/letsencrypt
[Tue Mar 21 17:20:07 UTC 2017] Installed to /shared/letsencrypt/acme.sh
[Tue Mar 21 17:20:07 UTC 2017] Installing alias to '/root/.profile'
[Tue Mar 21 17:20:07 UTC 2017] OK, Close and reopen your terminal to start using acme.sh
[Tue Mar 21 17:20:07 UTC 2017] Installing cron job
[Tue Mar 21 17:20:07 UTC 2017] Good, bash is found, so change the shebang to use bash as preferred.
[Tue Mar 21 17:20:07 UTC 2017] OK

I, [2017-03-21T17:20:07.488406 #13]  INFO -- : File > /etc/nginx/letsencrypt.conf  chmod:
I, [2017-03-21T17:20:07.499197 #13]  INFO -- : File > /etc/runit/1.d/letsencrypt  chmod: +x
I, [2017-03-21T17:20:07.501722 #13]  INFO -- : Replacing (?-mix:ssl_certificate.+) with ssl_certificate /shared/ssl/$$ENV_DISCOURSE_HOSTNAME.cer;
 in /etc/nginx/conf.d/discourse.conf
I, [2017-03-21T17:20:07.504942 #13]  INFO -- : Replacing (?-mix:#?ACCOUNT_EMAIL=.+) with ACCOUNT_EMAIL=$$ENV_LETSENCRYPT_ACCOUNT_EMAIL
 in /shared/letsencrypt/account.conf
I, [2017-03-21T17:20:07.507121 #13]  INFO -- : Replacing (?-mix:ssl_certificate_key.+) with ssl_certificate_key /shared/ssl/$$ENV_DISCOURSE_HOSTNAME.key;
I, [2017-03-21T17:20:07.508929 #13]  INFO -- : Replacing (?-mix:add_header.+) with add_header Strict-Transport-Security 'max-age=63072000'; in /etc/nginx/conf.d/discourse.conf
I, [2017-03-21T17:20:07.510770 #13]  INFO -- : > echo "Beginning of custom commands"
I, [2017-03-21T17:20:07.515541 #13]  INFO -- : Beginning of custom commands

I, [2017-03-21T17:20:07.517065 #13]  INFO -- : > rails r "SiteSetting.notification_email='noreply@literatecomputing.com'"
I, [2017-03-21T17:20:18.997956 #13]  INFO -- :
I, [2017-03-21T17:20:19.000150 #13]  INFO -- : > echo "End of custom commands"
I, [2017-03-21T17:20:19.002577 #13]  INFO -- : End of custom commands

Posts: 1

Participants: 1

Read full topic

Install v1.7.2 using Docker

0
0

@Kel wrote:

Hi there,

First post so hello :slight_smile:

I am trying to install Discourse on a Digital Ocean Droplet all goes well, except I need to run a script that only works with v1.7.2 (long story just trust me!)

Tried everything I can think of to get Docker to do a clean install of v1.7.2 - does anyone know the correct procedure please?

Any help would be very much appreciated.

Kind regards
Kel

Posts: 7

Participants: 3

Read full topic

DigitalOcean vs AWS Lightsail

0
0

@liberaltech wrote:

I tried both and it looks like Discourse is deployable to both in the exact same way. Just follow the Docker instructions for both.
I ended up deploying Discourse on AWS Lightsail (Ubuntu VPS) for $10/month.

Posts: 2

Participants: 2

Read full topic

Viewing all 60309 articles
Browse latest View live




Latest Images