{"id":5471,"date":"2023-02-09T09:40:40","date_gmt":"2023-02-09T09:40:40","guid":{"rendered":"https:\/\/tst-amo.net.ua\/blog\/?p=5471"},"modified":"2023-02-28T09:48:22","modified_gmt":"2023-02-28T09:48:22","slug":"dataverse-docker-v5-11-1-mailrelay-https-lang_ua-branding","status":"publish","type":"post","link":"https:\/\/tst-amo.net.ua\/blog\/?p=5471","title":{"rendered":"Dataverse Docker v5.11.1 &#8211; mailrelay, https, lang_ua, branding, users\u00a0"},"content":{"rendered":"<h3>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430<\/h3>\n<p>\u0421\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u043c \u0432\u0441\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0435:<\/p>\n<pre># cd \/home\/user &amp;&amp;  git clone https:\/\/github.com\/IQSS\/dataverse-docker <span style=\"color: #ff0000;\">dataverse-docker-5.11.1\r\n<\/span><\/pre>\n<p>\u0421\u043a\u043e\u043f\u0438\u0440\u0443\u0435\u043c <em>docker-compose-ssl.yml<\/em> \u0438\u0437 distros, \u0442\u0430\u043a \u043a\u0430\u043a \u043f\u0440\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 \u043f\u043e README \u043f\u043e\u043b\u0443\u0447\u0430\u043b \u043e\u0448\u0438\u0431\u043a\u0443 solr<\/p>\n<pre># cp .\/distros\/docker-compose-ssl.yml .\/<\/pre>\n<p>\u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0443\u0435\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435:<\/p>\n<pre># cp .env_sample .env &amp;&amp; vi .env\r\n#COMPOSE_FILE=.\/distros\/docker-compose-ssl.yml\r\nCOMPOSE_FILE=.\/docker-compose-ssl.yml\r\n#MAINLANG=ua\r\n# Domain configuration and init folder\r\nhostname=www.dataverse.tst-amo.net.ua\r\ntraefikhost=www.dataverse.tst-amo.net.ua\r\nINIT_SCRIPTS_FOLDER=\/opt\/payara\/init.d\r\n\r\n# traefik email settings\r\nuseremail=dataverseimp@imp.kiev.ua\r\n\r\n# DOI parameters\r\n# https:\/\/guides.dataverse.org\/en\/latest\/installation\/config.html#doi-baseurlstring\r\ndoi_authority=10.82100\r\ndoi_provider=DataCite\r\ndoi_shoulder=DVUA\r\ndoi_username=XXXXX\r\ndoi_password=XXXXXXXXXX\r\ndataciterestapiurlstring=https\\\\:\\\/\\\/api.test.datacite.org\r\nbaseurlstring=https\\:\\\/\\\/mds.test.datacite.org\r\n\r\n# Mail relay\r\n# https:\/\/guides.dataverse.org\/en\/latest\/developers\/troubleshooting.html\r\nsystem_email=dataverseimp@imp.kiev.ua\r\nmailhost=mail.imp.kiev.ua\r\nmailuser=dataverseimp\r\nno_reply_email=dataverseimp@imp.kiev.ua\r\nsmtp_password=XXXXXXXXXX\r\nsmtp_port=587\r\nsocket_port=587\r\nstarttls=true<\/pre>\n<p>\u041e\u0442\u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c 010-mailrelay-set.sh<\/p>\n<pre># vi dataverse-5.11.1\/dataverse-docker\/init.d\/010-mailrelay-set.sh<\/pre>\n<pre>#!\/bin\/bash\r\n\r\n# Setup mail relay\r\n# https:\/\/guides.dataverse.org\/en\/latest\/developers\/troubleshooting.html\r\nif [ \"${system_email}\" ]; then\r\n   curl -X PUT -d ${system_email} http:\/\/localhost:8080\/api\/admin\/settings\/:SystemEmail\r\n   asadmin --user=${ADMIN_USER} --passwordfile=${PASSWORD_FILE} delete-javamail-resource mail\/notifyMailSession\r\n   asadmin --user=${ADMIN_USER} --passwordfile=${PASSWORD_FILE} create-javamail-resource --mailhost ${mailhost} --mailuser ${mailuser} --fromaddress ${no_reply_email} --property <span style=\"color: #ff0000;\">mail.smtp.auth=true<\/span>:mail.smtp.password=${smtp_password}:mail.smtp.port=${smtp_port}:mail.smtp.socketFactory.port=${socket_port}:mail.smtp.socketFactory.fallback=false:<span style=\"color: #ff0000;\">mail.smtp.starttls.enable=true<\/span> mail\/notifyMailSession\r\nfi<\/pre>\n<p>\u041e\u0442\u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c 01-persistent-id.sh<\/p>\n<pre># vi dataverse-5.11.1\/dataverse-docker\/init.d\/01-persistent-id.sh<\/pre>\n<pre>#!\/bin\/bash\r\necho \"Setting up the settings\" &gt;&gt; \/tmp\/status.log\r\necho \"- Allow internal signup\" &gt;&gt; \/tmp\/status.log\r\nSERVER=http:\/\/${DATAVERSE_URL}\/api\r\necho $SERVER\r\ncurl -X PUT -d yes \"$SERVER\/admin\/settings\/:AllowSignUp\"\r\ncurl -X PUT -d \/dataverseuser.xhtml?editMode=CREATE \"$SERVER\/admin\/settings\/:SignUpUrl\"\r\ncurl -X PUT -d CV \"$SERVER\/admin\/settings\/:CV\"\r\ncurl -X PUT -d burrito $SERVER\/admin\/settings\/BuiltinUsers.KEY\r\ncurl -X PUT -d localhost-only $SERVER\/admin\/settings\/:BlockedApiPolicy\r\ncurl -X PUT -d 'native\/http' $SERVER\/admin\/settings\/:UploadMethods\r\ncurl -X PUT -d solr:8983 \"$SERVER\/admin\/settings\/:SolrHostColonPort\"\r\ncurl -X PUT -d <span style=\"color: #ff0000;\">10.82100<\/span> \"$SERVER\/admin\/settings\/:Authority\"\r\ncurl -X PUT -d <span style=\"color: #ff0000;\">doi<\/span> \"$SERVER\/admin\/settings\/:Protocol\"\r\ncurl -X PUT -d \"&lt;\/p&gt;&lt;p&gt;<span style=\"color: #ff0000;\">Supported by the National Academy of Sciences of Ukraine<\/span>&lt;\/p&gt;\" http:\/\/localhost:8080\/api\/admin\/settings\/:FooterCopyright\r\necho\r\n# Demo server with FAKE DOIs if doi_authority is empty\r\n#if [ -z \"${doi_authority}\" ]; then\r\n# curl -X PUT -d doi \"$SERVER\/admin\/settings\/:Protocol\"\r\n# curl -X PUT -d 10.5072 \"$SERVER\/admin\/settings\/:Authority\"\r\n# curl -X PUT -d \"FK2\/\" \"$SERVER\/admin\/settings\/:Shoulder\"\r\n# curl -X PUT -d FAKE \"$SERVER\/admin\/settings\/:DoiProvider\"\r\n#fi<\/pre>\n<p>\u041e\u0442\u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c 03-doi-set.sh<\/p>\n<pre># vi dataverse-5.11.1\/dataverse-docker\/init.d\/03-doi-set.sh<\/pre>\n<pre>#!\/bin\/bash\r\n\r\n# Setup DOI parameters\r\n# https:\/\/guides.dataverse.org\/en\/latest\/installation\/config.html#doi-baseurlstring\r\nif [ \"${doi_authority}\" ]; then\r\n   curl -X PUT -d ${doi_authority} http:\/\/localhost:8080\/api\/admin\/settings\/:Authority\r\n   curl -X PUT -d ${doi_provider} http:\/\/localhost:8080\/api\/admin\/settings\/:DoiProvider\r\n   curl -X PUT -d \"<span style=\"color: #ff0000;\">DVUA<\/span>\/\" http:\/\/localhost:8080\/api\/admin\/settings\/:Shoulder\r\n\r\n   asadmin --user=${ADMIN_USER} --passwordfile=${PASSWORD_FILE} create-jvm-options \"-Ddoi.username\\=${doi_username}\"\r\n   asadmin --user=${ADMIN_USER} --passwordfile=${PASSWORD_FILE} create-jvm-options \"-Ddoi.password\\=${doi_password}\"\r\n   asadmin --user=${ADMIN_USER} --passwordfile=${PASSWORD_FILE} create-jvm-options \"-Ddoi.dataciterestapiurlstring\\=${dataciterestapiurlstring}\"\r\n   asadmin --user=${ADMIN_USER} --passwordfile=${PASSWORD_FILE} create-jvm-options \"-Ddoi.baseurlstring\\=${baseurlstring}\"\r\n   #if [ \"${doi_shoulder}\" ]; then\r\n   #   curl -X PUT -d \"${doi_shoulder}\/\" \"$SERVER\/admin\/settings\/:Shoulder\"\r\n   #fi\r\nfi<\/pre>\n<p>\u0422\u0430\u043a\u0436\u0435 \u043f\u0430\u0440\u043e\u043b\u044c \u043e\u0442 DataCite \u043d\u0443\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432:<\/p>\n<pre>dataverse-docker\/secrets\/doi\/<span style=\"color: #ff0000;\">password<\/span>\r\ndataverse-docker\/secrets\/<span style=\"color: #ff0000;\">doi_asadmin<\/span><\/pre>\n<p>\u0414\u043b\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u044f <a href=\"https:\/\/github.com\/IQSS\/dataverse-docker\/issues\/77\">\u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u043b\u043e\u0433\u043e\u0442\u0438\u043f\u043e\u0432<\/a>, \u043f\u0438\u0448\u0435\u043c \u0441\u043a\u0440\u0438\u043f\u0442\u044b, \u0438 \u0440\u0430\u0437\u043c\u0435\u0449\u0430\u0435\u043c \u0438\u0445 \u0432 \/init.d\/<\/p>\n<pre># cat \/home\/user\/dataverse-docker-5.11.1\/init.d\/1003-logos.sh\r\n#!\/bin\/bash\r\nYES | cp -rf \/opt\/payara\/docroot \/opt\/<\/pre>\n<pre># cat \/home\/user\/dataverse-docker-5.11.1\/init.d\/1005-apt_inst_cron.sh\r\n#!\/bin\/bash\r\napt install cron\r\nservice cron start\r\n\/bin\/chmod +x \/opt\/payara\/init.d\/1003-logos.sh\r\n\/bin\/chmod +x \/opt\/payara\/init.d\/1006-crontab.sh\r\n<\/pre>\n<pre># cat \/home\/user\/dataverse-docker-5.11.1\/init.d\/1006-crontab.sh\r\n#!\/bin\/bash\r\ncrontab -l ; echo \"*\/1 * * * * \/opt\/payara\/init.d\/1003-logos.sh\"| crontab -\r\n<\/pre>\n<p>\u041f\u0438\u0448\u0435\u043c \u0441\u043a\u0440\u0438\u043f\u0442 \u0438\u043b\u0438 \u0432\u0432\u043e\u0434\u0438\u043c \u043f\u043e\u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e \u043a\u043e\u043c\u0430\u043d\u0434\u044b:<\/p>\n<pre># export traefikhost=www.tst-amo.net.ua\r\n# docker network create traefik\r\n# export useremail=dataverseteam@imp.kiev.ua\r\n# docker-compose up<\/pre>\n<p>\u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e user\/password: dataverseAdmin\/admin.<\/p>\n<h3>\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0423\u043a\u0440\u0430\u0438\u043d\u0441\u043a\u0443\u044e \u043b\u043e\u043a\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e<\/h3>\n<p>\u0422\u0435\u0441\u0442\u043e\u0432\u044b\u0439 \u0440\u0435\u0436\u0438\u043c.<\/p>\n<pre># vi \/home\/user\/dataverse-docker-5.11.1\/docroot\/01-lang_ua.sh\r\n#!\/bin\/bash\r\n\r\napt-get update\r\napt-get install zip\r\nwget https:\/\/github.com\/GlobalDataverseCommunityConsortium\/dataverse-language-packs\/archive\/refs\/heads\/develop.zip -O \/tmp\/languages.zip\r\n\r\ncd \/tmp\r\n   unzip -d dataverse-language-packs languages.zip\r\n   mkdir \/tmp\/languages\r\n   for locale in dataverse-language-packs\/*; do\r\n       for distrib in $locale;\r\n        do\r\n          for lang in $distrib\/*; do\r\n             cp \"$lang\"\/Bu*.properties \/tmp\/languages\r\n          done\r\n       done\r\n    done\r\n\r\ncd \/tmp\/languages\r\n   #rm .\/Bundle_ua.properties\r\n   rm .\/Bundle_hu.properties\r\n   cp .\/Bundle_ua.properties \/tmp\/\r\n   #cp .\/Bundle_hu.properties \/tmp\/\r\n   \/opt\/payara\/triggers\/lang-properties-convert.py \/tmp\/Bundle_ua.properties &gt; .\/Bundle_ua.properties\r\n   #\/opt\/payara\/triggers\/lang-properties-convert.py \/tmp\/Bundle_hu.properties &gt; .\/Bundle_hu.properties\r\n   zip languages.zip *.properties\r\n   mkdir \/opt\/payara\/langproperties\r\n\r\ncurl http:\/\/localhost:8080\/api\/admin\/datasetfield\/loadpropertyfiles -X POST --upload-file \/tmp\/languages\/languages.zip -H \"Content-Type: application\/zip\"\r\nsleep 1\r\n# Enable language and cache settings\r\ncurl http:\/\/localhost:8080\/api\/admin\/settings\/:Languages -X PUT -d '[{\"locale\":\"en\",\"title\":\"English\"},{\"locale\":\"ua\",\"title\":\"\u0423\u043a\u0440\u0430\u0457\u043d\u0441\u044c\u043a\u0430\"}]'\r\nasadmin --user=${ADMIN_USER} --passwordfile=${PASSWORD_FILE} create-jvm-options '-Ddataverse.lang.directory=\/opt\/payara\/langproperties'\r\n\r\n<\/pre>\n<h3>\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438<\/h3>\n<p>\u0421\u043f\u0438\u0441\u043e\u043a \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0447\u0435\u0440\u0435\u0437 Dashboard (\u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f \u0432 \u0432\u0435\u0440\u0441\u0438\u0438 5.11), \u0430 \u0442\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0432\u0435\u0441\u0442\u0438 \u0447\u0435\u0440\u0435\u0437 API<\/p>\n<pre><span class=\"n\">curl<\/span> <span class=\"o\">-<\/span><span class=\"n\">H<\/span> <span class=\"s2\">\"X-Dataverse-key: $API_TOKEN\"<\/span> <span class=\"n\">http<\/span><span class=\"p\">:<\/span><span class=\"o\">\/\/<\/span><span class=\"n\">localhost<\/span><span class=\"p\">:<\/span><span class=\"mi\">8080<\/span><span class=\"o\">\/<\/span><span class=\"n\">api<\/span><span class=\"o\">\/<\/span><span class=\"n\">admin<\/span><span class=\"o\">\/<\/span><span class=\"n\">authenticatedUsers<\/span><\/pre>\n<p>\u0438\u043b\u0438, \u0435\u0441\u043b\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u043c\u043d\u043e\u0433\u043e<\/p>\n<pre><span class=\"n\">curl<\/span> <span class=\"o\">-<\/span><span class=\"n\">H<\/span> <span class=\"s2\">\"X-Dataverse-key: $API_TOKEN\"<\/span> <span class=\"n\">http<\/span><span class=\"p\">:<\/span><span class=\"o\">\/\/<\/span><span class=\"n\">localhost<\/span><span class=\"p\">:<\/span><span class=\"mi\">8080<\/span><span class=\"o\">\/<\/span><span class=\"n\">api<\/span><span class=\"o\">\/<\/span><span class=\"n\">admin<\/span><span class=\"o\">\/<\/span><span class=\"nb\">list<\/span><span class=\"o\">-<\/span><span class=\"n\">users<\/span><\/pre>\n<p>\u0433\u0434\u0435 <span class=\"s2\">$API_TOKEN &#8211; \u0442\u043e\u043a\u0435\u043d \u0410\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430.<\/span><\/p>\n<div class=\"pdfprnt-buttons pdfprnt-buttons-post pdfprnt-bottom-right\"><a href=\"https:\/\/tst-amo.net.ua\/blog\/index.php?rest_route=wpv2posts5471&print=pdf\" class=\"pdfprnt-button pdfprnt-button-pdf\" target=\"_blank\"><img decoding=\"async\" src=\"https:\/\/tst-amo.net.ua\/blog\/wp-content\/plugins\/pdf-print\/images\/pdf.png\" alt=\"image_pdf\" title=\"View PDF\" \/><\/a><a href=\"https:\/\/tst-amo.net.ua\/blog\/index.php?rest_route=wpv2posts5471&print=print\" class=\"pdfprnt-button pdfprnt-button-print\" target=\"_blank\"><img decoding=\"async\" src=\"https:\/\/tst-amo.net.ua\/blog\/wp-content\/plugins\/pdf-print\/images\/print.png\" alt=\"image_print\" title=\"Print Content\" \/><\/a><\/div>","protected":false},"excerpt":{"rendered":"<p>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0421\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u043c \u0432\u0441\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0435: # cd \/home\/user &amp;&amp; git clone https:\/\/github.com\/IQSS\/dataverse-docker dataverse-docker-5.11.1 \u0421\u043a\u043e\u043f\u0438\u0440\u0443\u0435\u043c docker-compose-ssl.yml \u0438\u0437 distros, \u0442\u0430\u043a \u043a\u0430\u043a \u043f\u0440\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 \u043f\u043e README \u043f\u043e\u043b\u0443\u0447\u0430\u043b \u043e\u0448\u0438\u0431\u043a\u0443 solr # cp .\/distros\/docker-compose-ssl.yml .\/ \u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0443\u0435\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435: # cp .env_sample .env &amp;&amp; vi .env #COMPOSE_FILE=.\/distros\/docker-compose-ssl.yml COMPOSE_FILE=.\/docker-compose-ssl.yml #MAINLANG=ua # Domain configuration and init folder hostname=www.dataverse.tst-amo.net.ua traefikhost=www.dataverse.tst-amo.net.ua INIT_SCRIPTS_FOLDER=\/opt\/payara\/init.d # traefik email settings useremail=dataverseimp@imp.kiev.ua &#8230;<\/p>\n<p><a href=\"https:\/\/tst-amo.net.ua\/blog\/?p=5471\" class=\"more-link\">Continue reading &lsquo;Dataverse Docker v5.11.1 &#8211; mailrelay, https, lang_ua, branding, users\u00a0&rsquo; &raquo;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[48,345,343,47,1],"tags":[],"class_list":["post-5471","post","type-post","status-publish","format-standard","hentry","category-centos","category-dataverse","category-docker","category-linux","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/tst-amo.net.ua\/blog\/index.php?rest_route=\/wp\/v2\/posts\/5471"}],"collection":[{"href":"https:\/\/tst-amo.net.ua\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tst-amo.net.ua\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tst-amo.net.ua\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tst-amo.net.ua\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=5471"}],"version-history":[{"count":36,"href":"https:\/\/tst-amo.net.ua\/blog\/index.php?rest_route=\/wp\/v2\/posts\/5471\/revisions"}],"predecessor-version":[{"id":5528,"href":"https:\/\/tst-amo.net.ua\/blog\/index.php?rest_route=\/wp\/v2\/posts\/5471\/revisions\/5528"}],"wp:attachment":[{"href":"https:\/\/tst-amo.net.ua\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=5471"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tst-amo.net.ua\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=5471"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tst-amo.net.ua\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=5471"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}