Difference between revisions of "SAC:Discourse"
(Document theme tweaks) |
|||
| (13 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
OSGeo hosts a [https://discourse.org/ Discourse] server accessible at https://discourse.osgeo.org | OSGeo hosts a [https://discourse.org/ Discourse] server accessible at https://discourse.osgeo.org | ||
| − | The | + | The service runs in a set of Docker containers inside an LXD VM hosted on [[SAC Service Status#osgeo9|osgeo9]] machine and administered by the [[SAC|OSGeo System Administration Committee]]. |
| − | + | Gory details are in private https://gitea.osgeo.org/sac/discourse/wiki/discourse | |
| − | |||
| − | == Administration | + | = Usage = |
| + | |||
| + | == Sign up == | ||
| + | |||
| + | It current allows OSGeo LDAP, OSGeo Gitea, GitHub, and local sign up methods | ||
| + | |||
| + | = Deploy = | ||
| + | |||
| + | The deploy was done following upstream instructions here: | ||
| + | https://github.com/discourse/discourse/blob/main/docs/INSTALL-cloud.md#6-install-discourse | ||
| + | |||
| + | Those instruction imply an interactive session, but at the end of the process we are left with a couple of docker containers: | ||
| + | |||
| + | - import | ||
| + | - mail-receiver | ||
| + | |||
| + | |||
| + | = Administration = | ||
All administrative tasks are done via the web interface. | All administrative tasks are done via the web interface. | ||
| + | |||
| + | Some seem to require intervention on host files ( ie: receiver.yml ?). | ||
| + | |||
| + | We should put more configuration into ansible, see https://trac.osgeo.org/osgeo/ticket/3424 | ||
| + | |||
| + | == Mail gateway == | ||
| + | |||
| + | Discourse sends mail using lists.osgeo.org as the SMTP server (see '''DISCOURSE_SMTP_ADDRESS''' in ''/var/discourse/containers/app.yml'') and `discourse.osgeo.org` as the domain name. | ||
| + | |||
| + | Receives mail on its own, via an MX record for discourse.osgeo.org (but see https://trac.osgeo.org/osgeo/ticket/3068 for an issue about that). | ||
| + | |||
| + | The incoming mail is received via a network forward on the LXD host of port 25 for the public IP address 140.211.15.5 to the '''discourse''' VM container which in turn proxies it to the `mail-receiver' docker container. This setup has an unwanted side-effect of making the mails sent from other containers on the same LXD host as Discourse appear as coming from a private IP address, which in turn may trigger a rejection due to SPF not allowing that. See https://trac.osgeo.org/osgeo/ticket/3395#comment:31 | ||
| + | |||
| + | == Issues == | ||
| + | |||
| + | Known issues about the Discourse service can be found here: | ||
| + | https://trac.osgeo.org/osgeo/query?component=SysAdmin%2FDiscourse&status=!closed | ||
== Mailing list migration == | == Mailing list migration == | ||
| Line 19: | Line 52: | ||
== Theming == | == Theming == | ||
| − | We tweak the login form CSS a little in order to fix the LDAP button background, the labels, and to tweak the display order of the options: | + | We tweak the login form CSS a little in order to fix the LDAP button background, the labels, and to tweak the display order of the options. |
| + | |||
| + | This is done from https://discourse.osgeo.org/admin/customize/themes/1/common/scss/edit | ||
<pre> | <pre> | ||
| Line 41: | Line 76: | ||
.btn.oidc { | .btn.oidc { | ||
| − | order: | + | order: 2; |
} | } | ||
| Line 53: | Line 88: | ||
} | } | ||
| − | .btn. | + | .btn.passkey-login-button { |
| − | order: | + | order: 3; |
} | } | ||
| − | .btn. | + | .btn.github { |
order: 4; | order: 4; | ||
} | } | ||
Latest revision as of 01:40, 20 September 2025
OSGeo hosts a Discourse server accessible at https://discourse.osgeo.org
The service runs in a set of Docker containers inside an LXD VM hosted on osgeo9 machine and administered by the OSGeo System Administration Committee.
Gory details are in private https://gitea.osgeo.org/sac/discourse/wiki/discourse
Usage
Sign up
It current allows OSGeo LDAP, OSGeo Gitea, GitHub, and local sign up methods
Deploy
The deploy was done following upstream instructions here: https://github.com/discourse/discourse/blob/main/docs/INSTALL-cloud.md#6-install-discourse
Those instruction imply an interactive session, but at the end of the process we are left with a couple of docker containers:
- import - mail-receiver
Administration
All administrative tasks are done via the web interface.
Some seem to require intervention on host files ( ie: receiver.yml ?).
We should put more configuration into ansible, see https://trac.osgeo.org/osgeo/ticket/3424
Mail gateway
Discourse sends mail using lists.osgeo.org as the SMTP server (see DISCOURSE_SMTP_ADDRESS in /var/discourse/containers/app.yml) and `discourse.osgeo.org` as the domain name.
Receives mail on its own, via an MX record for discourse.osgeo.org (but see https://trac.osgeo.org/osgeo/ticket/3068 for an issue about that).
The incoming mail is received via a network forward on the LXD host of port 25 for the public IP address 140.211.15.5 to the discourse VM container which in turn proxies it to the `mail-receiver' docker container. This setup has an unwanted side-effect of making the mails sent from other containers on the same LXD host as Discourse appear as coming from a private IP address, which in turn may trigger a rejection due to SPF not allowing that. See https://trac.osgeo.org/osgeo/ticket/3395#comment:31
Issues
Known issues about the Discourse service can be found here: https://trac.osgeo.org/osgeo/query?component=SysAdmin%2FDiscourse&status=!closed
Mailing list migration
Some of mailman mailing lists have been migrated to Discourse.
Details on how to ask for migration of your list are here https://discourse.osgeo.org/docs?topic=6765
Theming
We tweak the login form CSS a little in order to fix the LDAP button background, the labels, and to tweak the display order of the options.
This is done from https://discourse.osgeo.org/admin/customize/themes/1/common/scss/edit
.btn.ldap {
background-color: #fff;
order: 1;
}
.btn.ldap:hover {
background-color: var( --primary-medium );
}
.btn.ldap span.btn-social-title {
visibility: hidden;
}
.btn.ldap span.btn-social-title:before {
visibility: visible;
content: 'Log in with OSGeo UserID (LDAP)';
}
.btn.oidc {
order: 2;
}
.btn.oidc span.btn-social-title {
visibility: hidden;
}
.btn.oidc span.btn-social-title:before {
visibility: visible;
content: 'Log in with OSGeo Gitea';
}
.btn.passkey-login-button {
order: 3;
}
.btn.github {
order: 4;
}