Difference between revisions of "User:Jtraulle/DiscourseMigration"
Jump to navigation
Jump to search
Tag: 2017 source edit |
Tag: 2017 source edit |
||
Line 1: | Line 1: | ||
This page gathers info about Discourse migration. | This page gathers info about Discourse migration. | ||
+ | |||
+ | == Tentative design == | ||
+ | [[File:Discourse-tentative-design-1.png|none|thumb|600x600px]] | ||
+ | <br /> | ||
+ | |||
+ | === Custom CSS to add === | ||
+ | |||
+ | Go to Admin → Customize → Themes → Light → Edit CSS/HTML → Common → CSS and paste : | ||
+ | |||
+ | <syntaxhighlight lang="CSS" > | ||
+ | #header { | ||
+ | background-color: rgb(61,95,147); | ||
+ | background-image: url(https://www.dolibarr.fr/templates/dolibarr/images/shadows/light/header-overlay.png),url(https://www.dolibarr.fr/templates/dolibarr/images/overlays/headers/header-6_dolibarr.png); | ||
+ | background-repeat:repeat-x, no-repeat; | ||
+ | background-position-x: 600px; | ||
+ | } | ||
+ | |||
+ | #inner-header { | ||
+ | max-width: 1110px; | ||
+ | height: 105px; | ||
+ | margin: auto; | ||
+ | } | ||
+ | |||
+ | #headermodule { | ||
+ | float: right; | ||
+ | margin: 10px 0; | ||
+ | } | ||
+ | |||
+ | .banneritem { | ||
+ | margin-right: 8px; | ||
+ | } | ||
+ | |||
+ | #main { | ||
+ | background: url(https://www.dolibarr.fr/templates/dolibarr/images/header-overlay.png) 50% -90px repeat-x !important; | ||
+ | background-color: rgba(0, 0, 0, 0); | ||
+ | background-color: #FFFFFF !important; | ||
+ | } | ||
+ | |||
+ | .d-header { | ||
+ | background-color: inherit; | ||
+ | box-shadow: inherit; | ||
+ | } | ||
+ | |||
+ | .d-header .wrap .contents, #main-outlet { | ||
+ | background-color: #FFFFFF; | ||
+ | } | ||
+ | |||
+ | #logo { | ||
+ | float: left; | ||
+ | margin: 5px 0; | ||
+ | display: block; | ||
+ | max-width: 100%; | ||
+ | margin-left: 4px; | ||
+ | margin-top: 32px; | ||
+ | } | ||
+ | |||
+ | /* menu */ | ||
+ | |||
+ | #nav { | ||
+ | background-color: rgb(56,90,127) !important; | ||
+ | background: linear-gradient(rgba(56,90,127,.5), rgba(56,90,127,1)),url(https://www.dolibarr.fr/templates/dolibarr/images/shadows/light/nav-overlay2.png) 50% 0 repeat-x !important; | ||
+ | } | ||
+ | |||
+ | #nav ul { | ||
+ | padding:0; | ||
+ | margin:0; | ||
+ | } | ||
+ | |||
+ | #nav ul li { | ||
+ | display: inline-block; | ||
+ | margin: 0 0 0 0; | ||
+ | padding: 8px 4px 4px 12px; | ||
+ | } | ||
+ | |||
+ | #nav #decalmenu { | ||
+ | max-width: 1126px; | ||
+ | margin: auto; | ||
+ | padding: 0; | ||
+ | } | ||
+ | |||
+ | #nav ul li a { | ||
+ | display: inline-block; | ||
+ | color: #FFF; | ||
+ | font-weight: bold; | ||
+ | text-decoration: none; | ||
+ | font-size: 13px; | ||
+ | padding: 6px 5px 4px 5px; | ||
+ | height: 26px; | ||
+ | } | ||
+ | |||
+ | .backshadow {background: url(https://www.dolibarr.fr/templates/dolibarr/images/shadows/light/nav-overlay3.png) 0% 0 repeat-x;} | ||
+ | |||
+ | #nav arrowafterul { background: url(https://www.dolibarr.fr/templates/dolibarr/images/shadows/light/menus/menutab-r.png) 0 0 no-repeat; } | ||
+ | |||
+ | #nav ul li { background: url(https://www.dolibarr.fr/templates/dolibarr/images/shadows/light/menus/menutab-r.png) 0 0 no-repeat; min-height: 36px; } | ||
+ | |||
+ | #nav ul li.active, #nav ul li.active { opacity: 0.8; } | ||
+ | |||
+ | #nav ul li:hover, #nav ul li:hover .item, #nav ul li.active:hover { | ||
+ | background-image: -webkit-gradient( linear, left top, left bottom, color-stop(0, rgba(255,255,255,.3)), color-stop(1, rgba(0,0,0,.3)) ); | ||
+ | } | ||
+ | |||
+ | #mainmenu { | ||
+ | display: inline-block; | ||
+ | } | ||
+ | |||
+ | #rokajaxsearch, form#mod-finder-searchform { | ||
+ | display: inline-block; | ||
+ | margin-right: 10px; | ||
+ | margin-left: 68px; | ||
+ | margin-bottom: 10px; | ||
+ | } | ||
+ | |||
+ | .roksearch_search_str { | ||
+ | width: 150px; | ||
+ | } | ||
+ | |||
+ | input.search-query { | ||
+ | padding-right: 14px; | ||
+ | padding-right: 4px \9; | ||
+ | padding-left: 14px; | ||
+ | padding-left: 4px \9; | ||
+ | margin-bottom: 0; | ||
+ | -webkit-border-radius: 15px; | ||
+ | -moz-border-radius: 15px; | ||
+ | border-radius: 15px; | ||
+ | } | ||
+ | |||
+ | .finder .search-query { | ||
+ | width: 132px; | ||
+ | } | ||
+ | |||
+ | .form-search .input-append .search-query, | ||
+ | .form-search .input-prepend .search-query { | ||
+ | -webkit-border-radius: 0; | ||
+ | -moz-border-radius: 0; | ||
+ | border-radius: 0; | ||
+ | } | ||
+ | |||
+ | .form-search .input-append .search-query { | ||
+ | |||
+ | -webkit-border-radius: 14px 0 0 14px; | ||
+ | |||
+ | -moz-border-radius: 14px 0 0 14px; | ||
+ | |||
+ | border-radius: 14px 0 0 14px; | ||
+ | |||
+ | } | ||
+ | |||
+ | .form-search .input-append .btn { | ||
+ | |||
+ | -webkit-border-radius: 0 14px 14px 0; | ||
+ | |||
+ | -moz-border-radius: 0 14px 14px 0; | ||
+ | |||
+ | border-radius: 0 14px 14px 0; | ||
+ | |||
+ | } | ||
+ | |||
+ | .form-search .input-prepend .search-query { | ||
+ | |||
+ | -webkit-border-radius: 0 14px 14px 0; | ||
+ | |||
+ | -moz-border-radius: 0 14px 14px 0; | ||
+ | |||
+ | border-radius: 0 14px 14px 0; | ||
+ | |||
+ | } | ||
+ | |||
+ | .form-search .input-prepend .btn { | ||
+ | |||
+ | -webkit-border-radius: 14px 0 0 14px; | ||
+ | |||
+ | -moz-border-radius: 14px 0 0 14px; | ||
+ | |||
+ | border-radius: 14px 0 0 14px; | ||
+ | |||
+ | } | ||
+ | |||
+ | .form-search input, | ||
+ | .form-search textarea, | ||
+ | .form-search select, | ||
+ | .form-search .help-inline, | ||
+ | .form-search .uneditable-input, | ||
+ | .form-search .input-prepend, | ||
+ | .form-search .input-append, | ||
+ | .form-inline input, | ||
+ | .form-inline textarea, | ||
+ | .form-inline select, | ||
+ | .form-inline .help-inline, | ||
+ | .form-inline .uneditable-input, | ||
+ | .form-inline .input-prepend, | ||
+ | .form-inline .input-append, | ||
+ | .form-horizontal input, | ||
+ | .form-horizontal textarea, | ||
+ | .form-horizontal select, | ||
+ | .form-horizontal .help-inline, | ||
+ | .form-horizontal .uneditable-input, | ||
+ | .form-horizontal .input-prepend, | ||
+ | .form-horizontal .input-append { | ||
+ | display: inline-block; | ||
+ | *display: inline; | ||
+ | *zoom: 1; | ||
+ | margin-bottom: 0; | ||
+ | vertical-align: middle; | ||
+ | } | ||
+ | |||
+ | .form-search .hide, | ||
+ | .form-inline .hide, | ||
+ | .form-horizontal .hide { | ||
+ | display: none; | ||
+ | } | ||
+ | |||
+ | .form-search label, | ||
+ | .form-inline label, | ||
+ | .form-search .btn-group, | ||
+ | .form-inline .btn-group { | ||
+ | display: inline-block; | ||
+ | } | ||
+ | |||
+ | .form-search .input-append, | ||
+ | |||
+ | .form-inline .input-append, | ||
+ | .form-search .input-prepend, | ||
+ | .form-inline .input-prepend { | ||
+ | margin-bottom: 0; | ||
+ | } | ||
+ | |||
+ | .form-search .radio, | ||
+ | .form-search .checkbox, | ||
+ | .form-inline .radio, | ||
+ | .form-inline .checkbox { | ||
+ | padding-left: 0; | ||
+ | margin-bottom: 0; | ||
+ | vertical-align: middle; | ||
+ | } | ||
+ | |||
+ | .form-search .radio input[type="radio"], | ||
+ | .form-search .checkbox input[type="checkbox"], | ||
+ | .form-inline .radio input[type="radio"], | ||
+ | .form-inline .checkbox input[type="checkbox"] { | ||
+ | float: left; | ||
+ | margin-right: 3px; | ||
+ | margin-left: 0; | ||
+ | } | ||
+ | |||
+ | #footer { | ||
+ | margin: auto; | ||
+ | background: #e3e3e3; | ||
+ | border-top: 1px solid #ccc; | ||
+ | padding: 5px; | ||
+ | color: #888; | ||
+ | text-align: center; | ||
+ | } | ||
+ | </syntaxhighlight> | ||
==Allow PostgreSQL to be accessed from an external application== | ==Allow PostgreSQL to be accessed from an external application== |
Revision as of 11:47, 1 August 2019
This page gathers info about Discourse migration.
Tentative design
File:Discourse-tentative-design-1.png
600x600px
Custom CSS to add
Go to Admin → Customize → Themes → Light → Edit CSS/HTML → Common → CSS and paste :
#header {
background-color: rgb(61,95,147);
background-image: url(https://www.dolibarr.fr/templates/dolibarr/images/shadows/light/header-overlay.png),url(https://www.dolibarr.fr/templates/dolibarr/images/overlays/headers/header-6_dolibarr.png);
background-repeat:repeat-x, no-repeat;
background-position-x: 600px;
}
#inner-header {
max-width: 1110px;
height: 105px;
margin: auto;
}
#headermodule {
float: right;
margin: 10px 0;
}
.banneritem {
margin-right: 8px;
}
#main {
background: url(https://www.dolibarr.fr/templates/dolibarr/images/header-overlay.png) 50% -90px repeat-x !important;
background-color: rgba(0, 0, 0, 0);
background-color: #FFFFFF !important;
}
.d-header {
background-color: inherit;
box-shadow: inherit;
}
.d-header .wrap .contents, #main-outlet {
background-color: #FFFFFF;
}
#logo {
float: left;
margin: 5px 0;
display: block;
max-width: 100%;
margin-left: 4px;
margin-top: 32px;
}
/* menu */
#nav {
background-color: rgb(56,90,127) !important;
background: linear-gradient(rgba(56,90,127,.5), rgba(56,90,127,1)),url(https://www.dolibarr.fr/templates/dolibarr/images/shadows/light/nav-overlay2.png) 50% 0 repeat-x !important;
}
#nav ul {
padding:0;
margin:0;
}
#nav ul li {
display: inline-block;
margin: 0 0 0 0;
padding: 8px 4px 4px 12px;
}
#nav #decalmenu {
max-width: 1126px;
margin: auto;
padding: 0;
}
#nav ul li a {
display: inline-block;
color: #FFF;
font-weight: bold;
text-decoration: none;
font-size: 13px;
padding: 6px 5px 4px 5px;
height: 26px;
}
.backshadow {background: url(https://www.dolibarr.fr/templates/dolibarr/images/shadows/light/nav-overlay3.png) 0% 0 repeat-x;}
#nav arrowafterul { background: url(https://www.dolibarr.fr/templates/dolibarr/images/shadows/light/menus/menutab-r.png) 0 0 no-repeat; }
#nav ul li { background: url(https://www.dolibarr.fr/templates/dolibarr/images/shadows/light/menus/menutab-r.png) 0 0 no-repeat; min-height: 36px; }
#nav ul li.active, #nav ul li.active { opacity: 0.8; }
#nav ul li:hover, #nav ul li:hover .item, #nav ul li.active:hover {
background-image: -webkit-gradient( linear, left top, left bottom, color-stop(0, rgba(255,255,255,.3)), color-stop(1, rgba(0,0,0,.3)) );
}
#mainmenu {
display: inline-block;
}
#rokajaxsearch, form#mod-finder-searchform {
display: inline-block;
margin-right: 10px;
margin-left: 68px;
margin-bottom: 10px;
}
.roksearch_search_str {
width: 150px;
}
input.search-query {
padding-right: 14px;
padding-right: 4px \9;
padding-left: 14px;
padding-left: 4px \9;
margin-bottom: 0;
-webkit-border-radius: 15px;
-moz-border-radius: 15px;
border-radius: 15px;
}
.finder .search-query {
width: 132px;
}
.form-search .input-append .search-query,
.form-search .input-prepend .search-query {
-webkit-border-radius: 0;
-moz-border-radius: 0;
border-radius: 0;
}
.form-search .input-append .search-query {
-webkit-border-radius: 14px 0 0 14px;
-moz-border-radius: 14px 0 0 14px;
border-radius: 14px 0 0 14px;
}
.form-search .input-append .btn {
-webkit-border-radius: 0 14px 14px 0;
-moz-border-radius: 0 14px 14px 0;
border-radius: 0 14px 14px 0;
}
.form-search .input-prepend .search-query {
-webkit-border-radius: 0 14px 14px 0;
-moz-border-radius: 0 14px 14px 0;
border-radius: 0 14px 14px 0;
}
.form-search .input-prepend .btn {
-webkit-border-radius: 14px 0 0 14px;
-moz-border-radius: 14px 0 0 14px;
border-radius: 14px 0 0 14px;
}
.form-search input,
.form-search textarea,
.form-search select,
.form-search .help-inline,
.form-search .uneditable-input,
.form-search .input-prepend,
.form-search .input-append,
.form-inline input,
.form-inline textarea,
.form-inline select,
.form-inline .help-inline,
.form-inline .uneditable-input,
.form-inline .input-prepend,
.form-inline .input-append,
.form-horizontal input,
.form-horizontal textarea,
.form-horizontal select,
.form-horizontal .help-inline,
.form-horizontal .uneditable-input,
.form-horizontal .input-prepend,
.form-horizontal .input-append {
display: inline-block;
*display: inline;
*zoom: 1;
margin-bottom: 0;
vertical-align: middle;
}
.form-search .hide,
.form-inline .hide,
.form-horizontal .hide {
display: none;
}
.form-search label,
.form-inline label,
.form-search .btn-group,
.form-inline .btn-group {
display: inline-block;
}
.form-search .input-append,
.form-inline .input-append,
.form-search .input-prepend,
.form-inline .input-prepend {
margin-bottom: 0;
}
.form-search .radio,
.form-search .checkbox,
.form-inline .radio,
.form-inline .checkbox {
padding-left: 0;
margin-bottom: 0;
vertical-align: middle;
}
.form-search .radio input[type="radio"],
.form-search .checkbox input[type="checkbox"],
.form-inline .radio input[type="radio"],
.form-inline .checkbox input[type="checkbox"] {
float: left;
margin-right: 3px;
margin-left: 0;
}
#footer {
margin: auto;
background: #e3e3e3;
border-top: 1px solid #ccc;
padding: 5px;
color: #888;
text-align: center;
}
Allow PostgreSQL to be accessed from an external application
Useful to be able to access the database from a graphical client (like pgAdmin 4, TablePlus or Postico for example).
1. Expose the 5432 TCP port from the container to the host by adding this line to the expose:
section of containers/app.yml
:
- "5432:5432"
2. Rebuild the container to take into account modifications to app.yml
:
./launcher rebuild app
3. Enter into the container, login as the default postgresql user, add a new user and grant it all perms to the database
./launcher enter app sudo -u postgres psql discourse CREATE USER my_username WITH PASSWORD 'my_password'; GRANT ALL PRIVILEGES ON DATABASE "discourse" to my_username; GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO my_username; \q