From 73f3a19cc53538973cdabdc7d0c8cd7c6038156f Mon Sep 17 00:00:00 2001 From: les Date: Tue, 10 Nov 2020 23:14:10 +0100 Subject: [PATCH] ripulisti --- README.md | 22 +- dev/Dockerfile | 9 + {tests/dev => dev}/Vagrantfile | 4 +- etherpad-playbook.yml | 7 - goploader.yml | 10 - roles/caddy/tasks/main.yml | 1 - roles/caddy/tasks/preflight.yml | 17 - roles/etherpad/tasks/abiword.yml | 7 - roles/etherpad/templates/settings.json.j2 | 101 ---- roles/goploader/defaults/main.yml | 2 +- roles/nginx/tasks/main.ml | 31 +- .../{ => stable}/common/files/20auto-upgrades | 0 roles/{ => stable}/common/tasks/main.yml | 2 +- roles/{ => stable}/etherpad/defaults/main.yml | 11 +- roles/stable/etherpad/files/fond.jpg | Bin 0 -> 112805 bytes roles/stable/etherpad/files/iframe_editor.css | 142 +++++ roles/stable/etherpad/files/index.css | 125 ++++ roles/stable/etherpad/files/index.html | 234 ++++++++ roles/stable/etherpad/files/index.js | 11 + roles/stable/etherpad/files/logo.png | Bin 0 -> 21001 bytes roles/{ => stable}/etherpad/handlers/main.yml | 0 roles/{ => stable}/etherpad/meta/main.yml | 17 +- roles/{ => stable}/etherpad/tasks/main.yml | 46 +- .../etherpad/tasks/postgresql.yml | 0 .../etherpad/templates/etherpad.initd.j2 | 77 +++ .../etherpad/templates/etherpad.service.j2 | 0 .../etherpad/templates/settings.json.j2 | 559 ++++++++++++++++++ roles/{ => stable}/nodejs/defaults/main.yml | 0 roles/{ => stable}/nodejs/tasks/main.yml | 0 roles/{ => stable}/nodejs/tasks/setup.yml | 0 roles/{ => stable}/nodejs/templates/npm.sh.j2 | 0 roles/{ => stable}/postgresql/README.md | 0 .../{ => stable}/postgresql/defaults/main.yml | 0 roles/{ => stable}/postgresql/tasks/main.yml | 9 +- roles/up1/meta/main.yml | 2 +- roles/wiregard/tasks/main.ml | 11 + tests/assets/Dockerfile | 60 ++ tests/assets/etherpad/fond.jpg | Bin 0 -> 112805 bytes tests/assets/etherpad/iframe_editor.css | 142 +++++ tests/assets/etherpad/index.css | 125 ++++ tests/assets/etherpad/index.html | 234 ++++++++ tests/assets/etherpad/index.js | 11 + tests/assets/etherpad/logo.png | Bin 0 -> 21001 bytes tests/caddy/Vagrantfile | 8 - tests/caddy/caddy.yml | 6 - tests/caddy/roles | 1 - tests/dev/roles | 1 - tests/etherpad-playbook.yml | 32 + tests/goploader.yml | 9 + tests/infra.yml | 12 + tests/inventory.yml | 7 + tests/nodejs/Vagrantfile | 8 - tests/nodejs/nodejs.yml | 6 - tests/nodejs/roles | 1 - tests/roles | 1 + up1.playbook.yml => tests/up1.playbook.yml | 0 56 files changed, 1904 insertions(+), 217 deletions(-) create mode 100644 dev/Dockerfile rename {tests/dev => dev}/Vagrantfile (98%) delete mode 100644 etherpad-playbook.yml delete mode 100644 goploader.yml delete mode 100644 roles/caddy/tasks/preflight.yml delete mode 100644 roles/etherpad/tasks/abiword.yml delete mode 100644 roles/etherpad/templates/settings.json.j2 rename roles/{ => stable}/common/files/20auto-upgrades (100%) rename roles/{ => stable}/common/tasks/main.yml (86%) rename roles/{ => stable}/etherpad/defaults/main.yml (59%) create mode 100644 roles/stable/etherpad/files/fond.jpg create mode 100644 roles/stable/etherpad/files/iframe_editor.css create mode 100644 roles/stable/etherpad/files/index.css create mode 100644 roles/stable/etherpad/files/index.html create mode 100644 roles/stable/etherpad/files/index.js create mode 100644 roles/stable/etherpad/files/logo.png rename roles/{ => stable}/etherpad/handlers/main.yml (100%) rename roles/{ => stable}/etherpad/meta/main.yml (53%) rename roles/{ => stable}/etherpad/tasks/main.yml (54%) rename roles/{ => stable}/etherpad/tasks/postgresql.yml (100%) create mode 100644 roles/stable/etherpad/templates/etherpad.initd.j2 rename roles/{ => stable}/etherpad/templates/etherpad.service.j2 (100%) create mode 100644 roles/stable/etherpad/templates/settings.json.j2 rename roles/{ => stable}/nodejs/defaults/main.yml (100%) rename roles/{ => stable}/nodejs/tasks/main.yml (100%) rename roles/{ => stable}/nodejs/tasks/setup.yml (100%) rename roles/{ => stable}/nodejs/templates/npm.sh.j2 (100%) rename roles/{ => stable}/postgresql/README.md (100%) rename roles/{ => stable}/postgresql/defaults/main.yml (100%) rename roles/{ => stable}/postgresql/tasks/main.yml (77%) create mode 100644 roles/wiregard/tasks/main.ml create mode 100644 tests/assets/Dockerfile create mode 100644 tests/assets/etherpad/fond.jpg create mode 100644 tests/assets/etherpad/iframe_editor.css create mode 100644 tests/assets/etherpad/index.css create mode 100644 tests/assets/etherpad/index.html create mode 100644 tests/assets/etherpad/index.js create mode 100644 tests/assets/etherpad/logo.png delete mode 100644 tests/caddy/Vagrantfile delete mode 100644 tests/caddy/caddy.yml delete mode 120000 tests/caddy/roles delete mode 120000 tests/dev/roles create mode 100644 tests/etherpad-playbook.yml create mode 100644 tests/goploader.yml create mode 100644 tests/infra.yml create mode 100644 tests/inventory.yml delete mode 100644 tests/nodejs/Vagrantfile delete mode 100644 tests/nodejs/nodejs.yml delete mode 120000 tests/nodejs/roles create mode 120000 tests/roles rename up1.playbook.yml => tests/up1.playbook.yml (100%) diff --git a/README.md b/README.md index ed04a19..18ae479 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,21 @@ -# infra -tentativo di mantenere le cose ordinate, ansible Vagrant e altri amenuncoli +# silicone -## Roles: +Un angolo ragionato per facilitare la messa in opera di servizi autogestiti di prossimità + -### Common +## Appunti +Puntando alla semplificazione la maggior parte delle scelte le dobbiamo fare qui. -### nodejs +Ci sono due setup possibili: +- si vuole uno e un solo servizio per macchina (vps) +- una macchina gestisce piu' servizi -### etherpad +Quello che cambia è che nel primo caso nginx (per i servizi web) e' interno, nell'altro +caso e' esterno. -### caddy +## Ansible + + +## Scrivere nuovi ruoli o testare configurazioni diverse +Usiamo vagrant dentro `/dev` diff --git a/dev/Dockerfile b/dev/Dockerfile new file mode 100644 index 0000000..b3ca39f --- /dev/null +++ b/dev/Dockerfile @@ -0,0 +1,9 @@ +FROM debian:stable-slim +RUN apt-get update + +## install ansible requirements +RUN apt-get install openssh-server python3 -y + +RUN mkdir -p /root/.ssh + +CMD ["bash"] diff --git a/tests/dev/Vagrantfile b/dev/Vagrantfile similarity index 98% rename from tests/dev/Vagrantfile rename to dev/Vagrantfile index 42585e0..3db7ec4 100644 --- a/tests/dev/Vagrantfile +++ b/dev/Vagrantfile @@ -6,6 +6,6 @@ Vagrant.configure("2") do |config| dev.vm.box = "generic/debian10" dev.vm.synced_folder "../..", "/vagrant", disabled: false dev.vm.provision "shell", inline: "DEBIAN_FRONTEND=noninteractive apt-get -qq update && apt-get -y autoclean && apt-get -y autoremove" - dev.vm.provision "shell", inline: "DEBIAN_FRONTEND=noninteractive apt-get -fqy dist-upgrade && apt-get -qq -y install ansible" + dev.vm.provision "shell", inline: "DEBIAN_FRONTEND=noninteractive apt-get -fqy dist-upgrade && apt-get -qq -y install ansible" end -end +end diff --git a/etherpad-playbook.yml b/etherpad-playbook.yml deleted file mode 100644 index 60f857b..0000000 --- a/etherpad-playbook.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- - -- name: "Testing etherpad role" - hosts: localhost - become: true - roles: - - role: etherpad diff --git a/goploader.yml b/goploader.yml deleted file mode 100644 index 5f16815..0000000 --- a/goploader.yml +++ /dev/null @@ -1,10 +0,0 @@ ---- - -- name: "Testing goploader role" - hosts: jolly - become: true - roles: - - role: common - - role: goploader - vars: - hostname: cicles.cisti.org diff --git a/roles/caddy/tasks/main.yml b/roles/caddy/tasks/main.yml index 472b45f..5706f63 100644 --- a/roles/caddy/tasks/main.yml +++ b/roles/caddy/tasks/main.yml @@ -1,5 +1,4 @@ --- -- include: preflight.yml - include: packages-{{ ansible_pkg_mgr }}.yml - name: Create Caddy user diff --git a/roles/caddy/tasks/preflight.yml b/roles/caddy/tasks/preflight.yml deleted file mode 100644 index 1d8ccca..0000000 --- a/roles/caddy/tasks/preflight.yml +++ /dev/null @@ -1,17 +0,0 @@ ---- -- name: Assert usage of systemd as an init system - assert: - that: ansible_service_mgr == 'systemd' - msg: "This module only works with systemd" - -- name: Get systemd version - command: systemctl --version - changed_when: false - check_mode: false - register: __systemd_version - tags: - - skip_ansible_lint - -- name: Set systemd version fact - set_fact: - caddy_systemd_version: "{{ __systemd_version.stdout_lines[0].split(' ')[-1] }}" diff --git a/roles/etherpad/tasks/abiword.yml b/roles/etherpad/tasks/abiword.yml deleted file mode 100644 index b04f153..0000000 --- a/roles/etherpad/tasks/abiword.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- - -- name: Ensure abiword, soffice, tidy packages are installed - apt: - pkg: - - abiword - - tidy diff --git a/roles/etherpad/templates/settings.json.j2 b/roles/etherpad/templates/settings.json.j2 deleted file mode 100644 index 990ac22..0000000 --- a/roles/etherpad/templates/settings.json.j2 +++ /dev/null @@ -1,101 +0,0 @@ -#jinja2: lstrip_blocks: True -{ - "title": "{{ title }}", - "favicon": "{{ favicon }}", - "ip": "127.0.0.1", - "port" : "31337", - "showSettingsInAdminPage": false, - "sessionKey": "oijaoifd", - "skinName": "colibris", - "dbType": "postgres", - "dbSettings" : { - "user" : "etherpad", - "host" : "/var/run/postgresql", - "password": "{{ database_password }}", - "database": "etherpad", - "charset" : "utf8mb4" - }, - "defaultPadText": "{{ pad_default_text | replace("\n", "\\n")}}", - "padOptions": { - "noColors": false, - "showControls": true, - "showChat": true, - "showLineNumbers": true, - "useMonospaceFont": true, - "userName": true, - "userColor": false, - "rtl": false, - "alwaysShowChat": false, - "chatAndUsers": false, - "lang": "{{ pad_options_lang }}" - }, - "padShortcutEnabled" : { - "altF9": true, - "altC": true, - "cmdShift2": true, - "delete": true, - "return": true, - "esc": true, - "cmdS": true, - "tab": true, - "cmdZ": true, - "cmdY": true, - "cmdI": true, - "cmdB": true, - "cmdU": true, - "cmd5": true, - "cmdShiftL": true, - "cmdShiftN": true, - "cmdShift1": true, - "cmdShiftC": true, - "cmdH": true, - "ctrlHome": true, - "pageUp": true, - "pageDown": true - }, - "suppressErrorsInPadText": false, - "requireSession": false, - "editOnly": false, - "sessionNoPassword": false, - "minify": true, - "maxAge": 21600, - "abiword": "/usr/bin/abiword", - "soffice": false, - "tidyHtml": "/usr/bin/tidy", - "allowUnknownFileEnds": true, - "requireAuthentication": false, - "requireAuthorization": false, - "trustProxy": false, - "disableIPlogging": true, - "automaticReconnectionTimeout": 5, - "scrollWhenFocusLineIsOutOfViewport": { - "percentage": { - "editionAboveViewport": 0, - "editionBelowViewport": 0 - }, - "duration": 0, - "scrollWhenCaretIsInTheLastLineOfViewport": false, - "percentageToScrollWhenUserPressesArrowUp": 0 - }, - "socketTransportProtocols": ["xhr-polling", "jsonp-polling", "htmlfile"], - "loadTest": false, - "indentationOnNewLine": false, - "toolbar": { - "left": [ - ["bold", "italic", "underline", "strikethrough"], - ["orderedlist", "unorderedlist", "indent", "outdent"], - ["undo", "redo"], - ["clearauthorship"] - ], - "right": [ - ["importexport", "timeslider", "savedrevision"], - ["settings", "embed"], - ["showusers"] - ], - "timeslider": [ - ["timeslider_export", "timeslider_returnToPad"] - ] - }, - "exposeVersion": false, - "loglevel": "WARN" -} diff --git a/roles/goploader/defaults/main.yml b/roles/goploader/defaults/main.yml index 57cefdc..89087f4 100644 --- a/roles/goploader/defaults/main.yml +++ b/roles/goploader/defaults/main.yml @@ -1,2 +1,2 @@ --- -hostname: :8000 \ No newline at end of file +hostname: :8000 diff --git a/roles/nginx/tasks/main.ml b/roles/nginx/tasks/main.ml index f8e7738..50b5b34 100644 --- a/roles/nginx/tasks/main.ml +++ b/roles/nginx/tasks/main.ml @@ -1,5 +1,32 @@ --- -- name: "Install NGINX" +- name: Install NGINX + become: yes apt: name: nginx - update_cache: yes + +- name: Disable NGINX Default Virtual Host + become: yes + file: + src: /etc/nginx/sites-enabled/default + state: unlink + +- name: Configure Reverse Proxies + become: yes + template: + src: reverse_proxy.conf + dest: /etc/nginx/sites-available/reverse_proxy_{{item.key}}.conf + with_dict: "{{ proxies }}" + +- name: Link NGINX Reverse Proxies + file: + src: "/etc/nginx/sites-available/reverse_proxy_{{item.key}}.conf" + dest: "/etc/nginx/sites-enabled/reverse_proxy_{{item.key}}.conf" + state: link + with_dict: "{{ proxies }}" + +- name: Make sure NGINX Service is running + become: yes + service: + name: nginx + state: restarted + enabled: yes diff --git a/roles/common/files/20auto-upgrades b/roles/stable/common/files/20auto-upgrades similarity index 100% rename from roles/common/files/20auto-upgrades rename to roles/stable/common/files/20auto-upgrades diff --git a/roles/common/tasks/main.yml b/roles/stable/common/tasks/main.yml similarity index 86% rename from roles/common/tasks/main.yml rename to roles/stable/common/tasks/main.yml index 14bd8d5..f5abe3b 100644 --- a/roles/common/tasks/main.yml +++ b/roles/stable/common/tasks/main.yml @@ -14,7 +14,7 @@ - name: Add Backports Repository apt_repository: - repo: deb http://deb.debian.org/debian "buster-backports main contrib non-free" + repo: deb http://deb.debian.org/debian buster-backports main contrib non-free state: present update_cache: yes diff --git a/roles/etherpad/defaults/main.yml b/roles/stable/etherpad/defaults/main.yml similarity index 59% rename from roles/etherpad/defaults/main.yml rename to roles/stable/etherpad/defaults/main.yml index d2804ba..7c2c8c8 100644 --- a/roles/etherpad/defaults/main.yml +++ b/roles/stable/etherpad/defaults/main.yml @@ -1,14 +1,17 @@ --- title: "Etherpad" favicon: "favicon.ico" -hostname: ":80" +listen_ip: "0.0.0.0" +listen_port: "8001" +log_level: "INFO" database_password: "{{lookup('password', './.pass/etherpad_db_password')}}" -pad_options_lang: 'it-it' -plugins: ['ep_comments_page', 'ep_headings2', 'ep_markdown', 'ep_align', 'ep_page_view'] +plugins: ['ep_headings2', 'ep_table_of_contents', 'ep_comments_page', 'ep_align', 'ep_delete_after_delay_lite'] + +pad_lang: 'it-IT' pad_default_text: | Welcome to Etherpad! This pad text is synchronized as you type, so that everyone viewing this page sees the same text. This allows you to collaborate seamlessly on documents! - Get involved with Etherpad at \ No newline at end of file + Get involved with Etherpad at diff --git a/roles/stable/etherpad/files/fond.jpg b/roles/stable/etherpad/files/fond.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bc5f29a8f17d45f81252aefe4fde8d94faf33197 GIT binary patch literal 112805 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úc+ELsyb3$@o>+9q4)T2 zzIIFLmH-X4j91%ckL14}O?Mb&N7gT<04O8EwKi1q-IAcoY=% z{4{NmZ&c?8_su+XE#<<t<@)c% z##B)~<@v^PF+aK(`aGWcZtleLxZ;WB;R)UemG=U^?-SKjVVx1M?!L|4+N|QIPxMEZ zYi5}`m@W%jvE#NyI@UF+L(|`SKAi$03`&!W=44OX_^VlB=>@;)JF4$KFY&62b#R%UV?-KXVb z^Qb=A*SX3`&%3zz;eCY@su_QCC6)b*e@M9FxM-lUC7n)_9*pWFSCfCN<F8yNm9_iLcDt6;+bSJ7a%5-aNy|_7by}YI)fenN`6{dal!g6>QvHb| z&R0~VN)`4DL#eCX<;jUp9hw%~2DnVMO>TNt7;647{oOmw9ThQ`Ot34-)&3{#|8+^e zpS{bOV##%Z^_gQ|WgXd4*lXvt^CKD$rTm+i;XKmv_`taPj~+jsSh6F|_>4|#k*eh< ztJtC_m*)Li>*u#wTt4!C>-+!PU1$5P-QMx}$!ivK$Ketd1~@%lx$?BRs+nKKec#|6 z*-?iFt5seM%%`$2yI8%(v!c#$kw&6#>X8LG-Xo@095R29IAX!iiM!IMCw%ha#a}Kh zKYiX%KO?{9t%4=Jkamu<+C122=P$SVNfn7q;g9#Xxbp7$Ub*TMQ#O0^%y1d^_Wp~T zF7)YI7vZ*HM%934`y!s%-y2nG7B|t!I(}5`lHdzTkrNiJjJ<#XU$kh^I@3Ak;W%Fp z{58}DPu((aqVtTZvXXz#spb3Wtcdx!DAy`^T8!S^5v5^u!?@SP*Uy$Y@l&Ed#G+T` zfe@VsN%03n33qn+v**c8=c>Jw5V zy>0yj!EBDqFh59dpKhqXAuK;ZO|JW4&EFLkMp^9(%$|bKHoZvw^me87Lml~Pe*{`* zdnXUqZ6yLa;uwBz`rE^kItA3%CGV22Z*ps^*PL#(BCjr^&2Nd*(TehfTsct%r}#ot zUb^3WuTn6?THi)Ev0-}p^Gjn>gGXK}b#qBiX;~RR)Nxo!a#_fb<=4h^#f2L+$#STD z64jtRb|pi`bwK%}3 z@<#QgquQrN_0zfaBKmhxh5B{NA_rw2IQ8h!p97f$_R7VOPEK-3W;(X(pSRYU7bmW?UUdKZr>bGe+g{&X=r?Twx~fCfqEnMc5hY&= z4IO-amdoS6^-ABrzr10Ff%pFXzwU933<~{G+5q6p*Uuf-q3MsT^3oDnm%ad*U7B{6Cxc<8P;GrqRbf0NYve5f;;8L|Su_Jbl zPjm3m^uE=mc70^p>Fzsom)uyzXAhHxN*6gJ^-6Ig(w2GR_(FVMRThL0LP7wvOQd!Fgh`BuU=l@ zo2oxs_9}cnv!pj2fAy>hpQp`OpXT zN4Fih@KZ#>&*S@ZXG4xiU6Hf#T#uXH$B&w$I@YY*8dr41yc|4-VqjwUlj-T{G#6NV z|HN1Ul+Xp>35SKUUw-*F{rp^9jyHD~3NsI#q42ptuKIaw@{WR*+yuF{vYT!CpLD%b z7JRBy@|n9mJV|eAosO%2;iJ~n*Oh~HdiU{ppjBAA`&f`B7jrn~)Y9VofxMbFvn5t3 z7WXquZ^h`V&*v@TkSH`|9_XaF)6&usC;9|{iY3R;=v0{zF{nwL&AQ|dzpJi&e%U0h z^ulQy(FdsYg_7k+6TiZz$JR6z9-CEnXjIGNTLFo?%o~r4n)7L_#rXOLr8cd!{2`z6 z;+49l7Koi5e@wO>+Wv*r{Z?#VHDT+bPYQaK z3!~1dTi~K^YcGr2mKt}=db#AEn2TP@KChm)@lo!ZLc{9BMfffMd1uF6i#leB;8%VIs5b_yx%SK{;Y^&k0_`+t{U5K^#$Ur4_G$&Z!6OScKgO(HvDMxVOW z#OaldzAiwlZEK{xLR7?OM=Tf>L_j84D%0I(#RYi#t$ba}@7(+N%D$iuYhAFbzw8qW zZZG?y4L&BS(yn!dcjBnD#Maa_y+PflZ#DPM)iYBsObS=>@tLfA(!20x`*#9?(f?tJ zUQ>vcsKy^s_V=-CyYkKNZV%IYezZ}SU)?w;Ev@I3#QnOQuw3Ht|B>{dUaL-M!K1CW T8s^RrSFJZkUpIW#Z+rePxDEeg literal 0 HcmV?d00001 diff --git a/roles/stable/etherpad/files/iframe_editor.css b/roles/stable/etherpad/files/iframe_editor.css new file mode 100644 index 0000000..ea16977 --- /dev/null +++ b/roles/stable/etherpad/files/iframe_editor.css @@ -0,0 +1,142 @@ +/* + These CSS rules are included in both the outer and inner ACE iframe (pad editor) +*/ + +@import url('./lists_and_indents.css'); + +html.inner-editor { + height: auto !important; + background-color: transparent !important; + scrollbar-width: thin; + scrollbar-color: white transparent; +} +#outerdocbody { + display: flex; + flex-direction: row; + justify-content: center; + min-height: 100vh; /* take at least full height */ +} +#outerdocbody iframe { + flex: 1 auto; + display: flex; + width: 100%; +} +#outerdocbody #sidediv { + order: -1; /* display it on the first row positionning, i.e. on the left */ +} + +/* ACE-PAD Container (i.e. where the text is displayed) */ +#innerdocbody { + padding: 10px; + overflow: hidden; + background-color: white; + + /* Be careful editing following rules. Longs words should not overflow, ep_align justify should work, + Test on chrome, firefox and safari... Copy / Paste a word inside a sentence should not add line-breaks + and preserve the style */ + display: block; /* for safari and firefox, otherwise the break-word does not work */ + white-space: normal; + word-wrap: break-word; + overflow-wrap: break-word; +} +#innerdocbody, #sidediv { + padding-top: 10px; /* Both must have same top padding, so line number are aligned with the rows */ + padding-bottom: 10px; /* some space when we scroll to the bottom */ +} + +#innerdocbody a { + color: #2e96f3; +} +#innerdocbody.authorColors [class^='author-'] a { + color: inherit; +} + +#innerdocbody span { + line-height: 125%; + padding: 6px 0 !important; +} + +option { + text-transform: capitalize; +} + +#innerdocbody h1, +#innerdocbody h2, +#innerdocbody h3, +#innerdocbody h4 { + margin-bottom: .5em; +} + +/* --------------------- */ +/* -- BROWSER SUPPORT -- */ +/* --------------------- */ + +body.mozilla, body.safari { + display: table-cell; /* cause "body" area (e.g. where clicks are heard) to grow horizontally with text */ +} +.safari div { + padding-right: 1px; /* prevents the caret from disappearing on the longest line of the doc */ +} + + +/* ------------------------------------------ */ +/* -- SIDEDIV (line number, text author..) -- */ +/* ------------------------------------------ */ + +#sidediv { + background-color: transparent; + border-right: 1px solid #ccc; +} +#sidediv .line-number { + font-size: 9px; + padding: 0 10px; + font-family: monospace; +} +#sidedivinner { + text-align: right; + opacity: .9; +} +#sidediv:not(.sidedivdelayed) { /* before sidediv get initialized, hide text */ + color: transparent; +} +.line-numbers-hidden #sidediv .line-number { + display: none; +} +#linemetricsdiv { + position: absolute; + left: -1000px; + top: -1000px; + color: white; + z-index: -1; + font-size: 12px; /* overridden by lineMetricsDiv.style */ + font-family: monospace; /* overridden by lineMetricsDiv.style */ +} +@media (max-width: 800px) { + #sidediv { + /* Do not use display: none to hide the sidediv, otherwise the parent container does not + get its height properly calculated by flexboxes */ + visibility: hidden; + width: 0; + padding: 0; + } +} + + + + +/* ----------- */ +/* -- OTHER -- */ +/* ----------- */ + +::selection { + background: #acf; +} +::-moz-selection { + background: #acf; +} +#innerdocbody a { + cursor: pointer !important; +} +body.grayedout { + background-color: #eee !important +} \ No newline at end of file diff --git a/roles/stable/etherpad/files/index.css b/roles/stable/etherpad/files/index.css new file mode 100644 index 0000000..76aaf79 --- /dev/null +++ b/roles/stable/etherpad/files/index.css @@ -0,0 +1,125 @@ +#button, +body, +form { + border: none +} + +body { + background: url(images/fond.jpg) top center no-repeat fixed #fff; + font-family: Cantarell, "Open Sans", "Helvetica Neue", sans-serif; + font-size: 16px; + line-height: 1.42857143; + color: #333; + display: flex; + align-items: center; + justify-content: center; + background-size: cover; +} + +#wrapper { + border-top: none; + margin-top: 0; + padding: 0; + background: 0 0; + box-shadow: none +} + +input { + color: #4a5d5c; +} + +#inner { + background: transparent; + padding-top: 0; + width: 350px; + max-width: 350px; + text-align: center; + color:#FFF; +} + +#label { + text-shadow: none; + color: #FFF; + font-weight: normal; + text-align: center; +} + +#button { + margin: 0 auto; + text-align: center; + width: 100%; + text-shadow: none; + font-size: 23px; + line-height: 1.8; + color: #64d29b; + background: #586a69; + border-radius: 3px; + box-shadow: none; + height: 53px; + border: none; + display: block; +} + + +button[type=submit] { + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; + left: 305px; + color: #64d29b; + background: #586a69; + border: none; + top: 0; + opacity: 1; + transition: .2s background; +} + +#button:hover, +button[type=submit]:hover { + cursor: pointer; + background: #64d29b; + border: 2px solid #586a69; + color: #586a69; +} + +#padname { + height: 38px; + max-width: 350px; + padding: 0 12px; + position: relative; +} + +#text { + text-align: center; + max-width:500px; + font-size: 1.2em; + padding:20px; + margin:0 auto; + color:#FFFF; +} + +.logo_pad .icon img.pad { + width: 40px; + margin-top: 10px; + float:left; + padding:14px; +} +.logo_pad h3 { + font-size: 24px; + font-weight: 400; + color: red; + float:left; +} + +#logo_cisti { + width:100px; + margin: auto; + display: block; +} + +#logo_cisti img { + max-width: 100%; +} +.onion { + text-decoration: none; + font-size: 15px; +} diff --git a/roles/stable/etherpad/files/index.html b/roles/stable/etherpad/files/index.html new file mode 100644 index 0000000..9064fa1 --- /dev/null +++ b/roles/stable/etherpad/files/index.html @@ -0,0 +1,234 @@ +<% + var settings = require("ep_etherpad-lite/node/utils/Settings"); +%> + + + + <%=settings.title%> + + + + + + + + + + + + + + +
+ <% e.begin_block("indexWrapper"); %> +
+ + +
+ + +
+
+ <% e.end_block(); %> +
+
+ +Questo è un servizio etherpad ospitato dal progetto cisti.org. +Etherpad è un software libero che permette la realizzazione collaborativa di documenti di testo. +Su cisti non registriamo nessuna informazione su chi lo usa.
+
+
+ +
+ +
+ pad.ukdbebvetkn265rh5sfmmw53ka4dbhkfpqb7ufr3fu6ldlh6khleybid.onion +
+ + + + + diff --git a/roles/stable/etherpad/files/index.js b/roles/stable/etherpad/files/index.js new file mode 100644 index 0000000..e71e6ae --- /dev/null +++ b/roles/stable/etherpad/files/index.js @@ -0,0 +1,11 @@ +function customStart() +{ + //define your javascript here + //jquery is available - except index.js + //you can load extra scripts with $.getScript http://api.jquery.com/jQuery.getScript/ + function setRandomName() { + document.getElementById("padname").value = randomPadName(); + } + setRandomName(); + +} diff --git a/roles/stable/etherpad/files/logo.png b/roles/stable/etherpad/files/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..4eabd936c4938a8142a96f39902ebda5fd52f79a GIT binary patch literal 21001 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 + exit 1 + ;; +esac + +exit 0 diff --git a/roles/etherpad/templates/etherpad.service.j2 b/roles/stable/etherpad/templates/etherpad.service.j2 similarity index 100% rename from roles/etherpad/templates/etherpad.service.j2 rename to roles/stable/etherpad/templates/etherpad.service.j2 diff --git a/roles/stable/etherpad/templates/settings.json.j2 b/roles/stable/etherpad/templates/settings.json.j2 new file mode 100644 index 0000000..cfe8c1f --- /dev/null +++ b/roles/stable/etherpad/templates/settings.json.j2 @@ -0,0 +1,559 @@ +/** + * THIS IS THE SETTINGS FILE THAT IS COPIED INSIDE THE DOCKER CONTAINER. + * + * By default, some runtime customizations are supported (see the + * documentation). + * + * If you need more control, edit this file and rebuild the container. + */ + +/* + * This file must be valid JSON. But comments are allowed + * + * Please edit settings.json, not settings.json.template + * + * Please note that starting from Etherpad 1.6.0 you can store DB credentials in + * a separate file (credentials.json). + * + * + * ENVIRONMENT VARIABLE SUBSTITUTION + * ================================= + * + * All the configuration values can be read from environment variables using the + * syntax "${ENV_VAR}" or "${ENV_VAR:default_value}". + * + * This is useful, for example, when running in a Docker container. + * + * EXAMPLE: + * "port": "${PORT:9001}" + * "minify": "${MINIFY}" + * "skinName": "${SKIN_NAME:colibris}" + * + * Would read the configuration values for those items from the environment + * variables PORT, MINIFY and SKIN_NAME. + * + * If PORT and SKIN_NAME variables were not defined, the default values 9001 and + * "colibris" would be used. + * The configuration value "minify", on the other hand, does not have a + * designated default value. Thus, if the environment variable MINIFY were + * undefined, "minify" would be null. + * + * REMARKS: + * 1) please note that variable substitution always needs to be quoted. + * + * "port": 9001, <-- Literal values. When not using + * "minify": false substitution, only strings must be + * "skinName": "colibris" quoted. Booleans and numbers must not. + * + * "port": "${PORT:9001}" <-- CORRECT: if you want to use a variable + * "minify": "${MINIFY:true}" substitution, put quotes around its name, + * "skinName": "${SKIN_NAME}" even if the required value is a number or + * a boolean. + * Etherpad will take care of rewriting it + * to the proper type if necessary. + * + * "port": ${PORT:9001} <-- ERROR: this is not valid json. Quotes + * "minify": ${MINIFY} around variable names are missing. + * "skinName": ${SKIN_NAME} + * + * 2) Beware of undefined variables and default values: nulls and empty strings + * are different! + * + * This is particularly important for user's passwords (see the relevant + * section): + * + * "password": "${PASSW}" // if PASSW is not defined would result in password === null + * "password": "${PASSW:}" // if PASSW is not defined would result in password === '' + * + * If you want to use an empty value (null) as default value for a variable, + * simply do not set it, without putting any colons: "${ABIWORD}". + * + * 3) if you want to use newlines in the default value of a string parameter, + * use "\n" as usual. + * + * "defaultPadText" : "${DEFAULT_PAD_TEXT}Line 1\nLine 2" + */ +{ + /* + * Name your instance! + */ + "title": "{{title}}", + + /* + * favicon default name + * alternatively, set up a fully specified Url to your own favicon + */ + "favicon": "{{favicon}}", + + /* + * Skin name. + * + * Its value has to be an existing directory under src/static/skins. + * You can write your own, or use one of the included ones: + * + * - "no-skin": an empty skin (default). This yields the unmodified, + * traditional Etherpad theme. + * - "colibris": the new experimental skin (since Etherpad 1.8), candidate to + * become the default in Etherpad 2.0 + */ + "skinName": "colibris", + + /* + * Skin Variants + * + * Use the UI skin variants builder at /p/test#skinvariantsbuilder + * + * For the colibris skin only, you can choose how to render the three main + * containers: + * - toolbar (top menu with icons) + * - editor (containing the text of the pad) + * - background (area outside of editor, mostly visible when using page style) + * + * For each of the 3 containers you can choose 4 color combinations: + * super-light, light, dark, super-dark. + * + * For example, to make the toolbar dark, you will include "dark-toolbar" into + * skinVariants. + * + * You can provide multiple skin variants separated by spaces. Default + * skinVariant is "super-light-toolbar super-light-editor light-background". + * + * For the editor container, you can also make it full width by adding + * "full-width-editor" variant (by default editor is rendered as a page, with + * a max-width of 900px). + */ + "skinVariants": "dark-toolbar super-light-editor super-dark-background", + + /* + * IP and port which Etherpad should bind at. + * + * Binding to a Unix socket is also supported: just use an empty string for + * the ip, and put the full path to the socket in the port parameter. + * + * EXAMPLE USING UNIX SOCKET: + * "ip": "", // <-- has to be an empty string + * "port" : "/somepath/etherpad.socket", // <-- path to a Unix socket + */ + "ip": "{{listen_ip}}", + "port": "{{listen_port}}", + + /* + * Option to hide/show the settings.json in admin page. + * + * Default option is set to true + */ + "showSettingsInAdminPage": true, + + /* + * Node native SSL support + * + * This is disabled by default. + * Make sure to have the minimum and correct file access permissions set so + * that the Etherpad server can access them + */ + + /* + "ssl" : { + "key" : "/path-to-your/epl-server.key", + "cert" : "/path-to-your/epl-server.crt", + "ca": ["/path-to-your/epl-intermediate-cert1.crt", "/path-to-your/epl-intermediate-cert2.crt"] + }, + */ + + /* + * The type of the database. + * + * You can choose between many DB drivers, for example: dirty, postgres, + * sqlite, mysql. + * + * You shouldn't use "dirty" for for anything else than testing or + * development. + * + * + * Database specific settings are dependent on dbType, and go in dbSettings. + * Remember that since Etherpad 1.6.0 you can also store these informations in + * credentials.json. + * + * For a complete list of the supported drivers, please refer to: + * https://www.npmjs.com/package/ueberdb2 + */ + + "dbType": "postgres", + "dbSettings": { + "host": "/var/run/postgresql", + "database": "etherpad", + "user": "etherpad", + "password": "{{database_password}}", + "charset": "utf8mb4" + }, + + /** + * The default text of a pad + */ + "defaultPadText" : "{{pad_default_text|replace("\n","\\n")}}", + + /* + * Default Pad behavior. + * + * Change them if you want to override. + */ + "padOptions": { + "noColors": false, + "showControls": true, + "showChat": true, + "showLineNumbers": true, + "useMonospaceFont": true, + "userName": false, + "userColor": false, + "rtl": false, + "alwaysShowChat": false, + "chatAndUsers": false, + "lang": "{{pad_lang}}" + }, + + /* + * Pad Shortcut Keys + */ + "padShortcutEnabled" : { + "altF9": true, /* focus on the File Menu and/or editbar */ + "altC": true, /* focus on the Chat window */ + "cmdShift2": true, /* shows a gritter popup showing a line author */ + "delete": true, + "return": true, + "esc": true, /* in mozilla versions 14-19 avoid reconnecting pad */ + "cmdS": true, /* save a revision */ + "tab": true, /* indent */ + "cmdZ": true, /* undo/redo */ + "cmdY": true, /* redo */ + "cmdI": true, /* italic */ + "cmdB": true, /* bold */ + "cmdU": true, /* underline */ + "cmd5": true, /* strike through */ + "cmdShiftL": true, /* unordered list */ + "cmdShiftN": true, /* ordered list */ + "cmdShift1": true, /* ordered list */ + "cmdShiftC": true, /* clear authorship */ + "cmdH": true, /* backspace */ + "ctrlHome": true, /* scroll to top of pad */ + "pageUp": true, + "pageDown": true + }, + + /* + * Should we suppress errors from being visible in the default Pad Text? + */ + "suppressErrorsInPadText": true, + + /* + * If this option is enabled, a user must have a session to access pads. + * This effectively allows only group pads to be accessed. + */ + "requireSession": false, + + /* + * Users may edit pads but not create new ones. + * + * Pad creation is only via the API. + * This applies both to group pads and regular pads. + */ + "editOnly": false, + + /* + * If set to true, those users who have a valid session will automatically be + * granted access to password protected pads. + */ + "sessionNoPassword": false, + + /* + * If true, all css & js will be minified before sending to the client. + * + * This will improve the loading performance massively, but makes it difficult + * to debug the javascript/css + */ + "minify": true, + + /* + * How long may clients use served javascript code (in seconds)? + * + * Not setting this may cause problems during deployment. + * Set to 0 to disable caching. + */ + "maxAge": 21600, // 60 * 60 * 6 = 6 hours + + /* + * Absolute path to the Abiword executable. + * + * Abiword is needed to get advanced import/export features of pads. Setting + * it to null disables Abiword and will only allow plain text and HTML + * import/exports. + */ + "abiword": null, + + /* + * This is the absolute path to the soffice executable. + * + * LibreOffice can be used in lieu of Abiword to export pads. + * Setting it to null disables LibreOffice exporting. + */ + "soffice": "/usr/bin/soffice", + + /* + * Path to the Tidy executable. + * + * Tidy is used to improve the quality of exported pads. + * Setting it to null disables Tidy. + */ + "tidyHtml": "/usr/bin/tidy", + + /* + * Allow import of file types other than the supported ones: + * txt, doc, docx, rtf, odt, html & htm + */ + "allowUnknownFileEnds": true, + + /* + * This setting is used if you require authentication of all users. + * + * Note: "/admin" always requires authentication. + */ + "requireAuthentication": false, + + /* + * Require authorization by a module, or a user with is_admin set, see below. + */ + "requireAuthorization": false, + + /* + * When you use NGINX or another proxy/load-balancer set this to true. + * + * This is especially necessary when the reverse proxy performs SSL + * termination, otherwise the cookies will not have the "secure" flag. + * + * The other effect will be that the logs will contain the real client's IP, + * instead of the reverse proxy's IP. + */ + "trustProxy": true, + + /* + * Privacy: disable IP logging + */ + "disableIPlogging": true, + + /* + * Time (in seconds) to automatically reconnect pad when a "Force reconnect" + * message is shown to user. + * + * Set to 0 to disable automatic reconnection. + */ + "automaticReconnectionTimeout": 2, + + /* + * By default, when caret is moved out of viewport, it scrolls the minimum + * height needed to make this line visible. + */ + "scrollWhenFocusLineIsOutOfViewport": { + + /* + * Percentage of viewport height to be additionally scrolled. + * + * E.g.: use "percentage.editionAboveViewport": 0.5, to place caret line in + * the middle of viewport, when user edits a line above of the + * viewport + * + * Set to 0 to disable extra scrolling + */ + "percentage": { + "editionAboveViewport": 0, + "editionBelowViewport": 0 + }, + + /* + * Time (in milliseconds) used to animate the scroll transition. + * Set to 0 to disable animation + */ + "duration": 0, + + /* + * Flag to control if it should scroll when user places the caret in the + * last line of the viewport + */ + "scrollWhenCaretIsInTheLastLineOfViewport": false, + + /* + * Percentage of viewport height to be additionally scrolled when user + * presses arrow up in the line of the top of the viewport. + * + * Set to 0 to let the scroll to be handled as default by Etherpad + */ + "percentageToScrollWhenUserPressesArrowUp": 0 + }, + + /* + * Users for basic authentication. + * + * is_admin = true gives access to /admin. + * If you do not uncomment this, /admin will not be available! + * + * WARNING: passwords should not be stored in plaintext in this file. + * If you want to mitigate this, please install ep_hash_auth and + * follow the section "secure your installation" in README.md + */ + + "users": { + "admin": { + // 1) "password" can be replaced with "hash" if you install ep_hash_auth + // 2) please note that if password is null, the user will not be created + "password": "fk30f1EmWspoCVQOqgvhuODHw", + "is_admin": true + }, + }, + + /* + * Restrict socket.io transport methods + */ + "socketTransportProtocols" : ["xhr-polling", "jsonp-polling", "htmlfile"], + + /* + * Allow Load Testing tools to hit the Etherpad Instance. + * + * WARNING: this will disable security on the instance. + */ + "loadTest": "${LOAD_TEST:false}", + + /* + * Disable indentation on new line when previous line ends with some special + * chars (':', '[', '(', '{') + */ + + /* + "indentationOnNewLine": false, + */ + + /* + * From Etherpad 1.8.3 onwards, import and export of pads is always rate + * limited. + * + * The default is to allow at most 10 requests per IP in a 90 seconds window. + * After that the import/export request is rejected. + * + * See https://github.com/nfriedly/express-rate-limit for more options + */ + "importExportRateLimiting": { + // duration of the rate limit window (milliseconds) + "windowMs": 90000, + + // maximum number of requests per IP to allow during the rate limit window + "max": 10 + }, + + /* + * From Etherpad 1.8.3 onwards, the maximum allowed size for a single imported + * file is always bounded. + * + * File size is specified in bytes. Default is 50 MB. + */ + "importMaxFileSize": 52428800, // 50 * 1024 * 1024 + + /* + * Toolbar buttons configuration. + * + * Uncomment to customize. + */ + + /* + "toolbar": { + "left": [ + ["bold", "italic", "underline", "strikethrough"], + ["orderedlist", "unorderedlist", "indent", "outdent"], + ["undo", "redo"], + ["clearauthorship"] + ], + "right": [ + ["importexport", "timeslider", "savedrevision"], + ["settings", "embed"], + ["showusers"] + ], + "timeslider": [ + ["timeslider_export", "timeslider_returnToPad"] + ] + }, + */ + + /* + * Expose Etherpad version in the web interface and in the Server http header. + * + * Do not enable on production machines. + */ + "exposeVersion": false, + + /* + * The log level we are using. + * + * Valid values: DEBUG, INFO, WARN, ERROR + */ + "loglevel": "{{log_level}}", + + /* + * Logging configuration. See log4js documentation for further information: + * https://github.com/nomiddlename/log4js-node + * + * You can add as many appenders as you want here. + */ + "logconfig" : + { "appenders": [ + { "type": "console" + //, "category": "access"// only logs pad access + } + + /* + , { "type": "file" + , "filename": "your-log-file-here.log" + , "maxLogSize": 1024 + , "backups": 3 // how many log files there're gonna be at max + //, "category": "test" // only log a specific category + } + */ + + /* + , { "type": "logLevelFilter" + , "level": "warn" // filters out all log messages that have a lower level than "error" + , "appender": + { Use whatever appender you want here } + } + */ + + /* + , { "type": "logLevelFilter" + , "level": "error" // filters out all log messages that have a lower level than "error" + , "appender": + { "type": "smtp" + , "subject": "An error occurred in your EPL instance!" + , "recipients": "bar@blurdybloop.com, baz@blurdybloop.com" + , "sendInterval": 300 // 60 * 5 = 5 minutes -- will buffer log messages; set to 0 to send a mail for every message + , "transport": "SMTP", "SMTP": { // see https://github.com/andris9/Nodemailer#possible-transport-methods + "host": "smtp.example.com", "port": 465, + "secureConnection": true, + "auth": { + "user": "foo@example.com", + "pass": "bar_foo" + } + } + } + } + */ + + ] + }, + + "ep_delete_after_delay_lite": { + "delay": 86400, // one day, in seconds + "loop": true, + "loopDelay": 3600, // one hour, in seconds + "deleteAtStart": true, + "text": "{{pad_default_text|replace("\n","\\n")}}" + }, + + "ep_toc": { + "disable_by_default": true + } +} diff --git a/roles/nodejs/defaults/main.yml b/roles/stable/nodejs/defaults/main.yml similarity index 100% rename from roles/nodejs/defaults/main.yml rename to roles/stable/nodejs/defaults/main.yml diff --git a/roles/nodejs/tasks/main.yml b/roles/stable/nodejs/tasks/main.yml similarity index 100% rename from roles/nodejs/tasks/main.yml rename to roles/stable/nodejs/tasks/main.yml diff --git a/roles/nodejs/tasks/setup.yml b/roles/stable/nodejs/tasks/setup.yml similarity index 100% rename from roles/nodejs/tasks/setup.yml rename to roles/stable/nodejs/tasks/setup.yml diff --git a/roles/nodejs/templates/npm.sh.j2 b/roles/stable/nodejs/templates/npm.sh.j2 similarity index 100% rename from roles/nodejs/templates/npm.sh.j2 rename to roles/stable/nodejs/templates/npm.sh.j2 diff --git a/roles/postgresql/README.md b/roles/stable/postgresql/README.md similarity index 100% rename from roles/postgresql/README.md rename to roles/stable/postgresql/README.md diff --git a/roles/postgresql/defaults/main.yml b/roles/stable/postgresql/defaults/main.yml similarity index 100% rename from roles/postgresql/defaults/main.yml rename to roles/stable/postgresql/defaults/main.yml diff --git a/roles/postgresql/tasks/main.yml b/roles/stable/postgresql/tasks/main.yml similarity index 77% rename from roles/postgresql/tasks/main.yml rename to roles/stable/postgresql/tasks/main.yml index 26e7217..371d6b1 100644 --- a/roles/postgresql/tasks/main.yml +++ b/roles/stable/postgresql/tasks/main.yml @@ -1,11 +1,18 @@ --- - name: Install postgresql apt: - pkg: + pkg: - acl - postgresql - python3-psycopg2 +- name: Start postgresql service + become: true + service: + name: postgresql + enabled: yes + state: started + - name: Create postgresql db become: true become_user: postgres diff --git a/roles/up1/meta/main.yml b/roles/up1/meta/main.yml index 5076592..9aec878 100644 --- a/roles/up1/meta/main.yml +++ b/roles/up1/meta/main.yml @@ -12,4 +12,4 @@ dependencies: encode gzip reverse_proxy /api/* 127.0.0.1:31337 root * /srv/up1/up1/client - file_server \ No newline at end of file + file_server diff --git a/roles/wiregard/tasks/main.ml b/roles/wiregard/tasks/main.ml new file mode 100644 index 0000000..754ad7b --- /dev/null +++ b/roles/wiregard/tasks/main.ml @@ -0,0 +1,11 @@ +--- +- name: Install Wireguard` + become: yes + apt: wireguard + +- name: Make sure Wireguard Service is running + become: yes + service: + name: wireguard + state: start + enabled: yes diff --git a/tests/assets/Dockerfile b/tests/assets/Dockerfile new file mode 100644 index 0000000..60c6ed2 --- /dev/null +++ b/tests/assets/Dockerfile @@ -0,0 +1,60 @@ +# Etherpad Lite Dockerfile +# +# https://github.com/ether/etherpad-lite +# +# Author: muxator + +FROM node:10-buster-slim +LABEL maintainer="Etherpad team, https://github.com/ether/etherpad-lite" + +# plugins to install while building the container. By default no plugins are +# installed. +# If given a value, it has to be a space-separated, quoted list of plugin names. +# +# EXAMPLE: +# ETHERPAD_PLUGINS="ep_codepad ep_author_neat" +ARG ETHERPAD_PLUGINS="ep_adminpads2 ep_align ep_comments_page ep_headings2 ep_markdown ep_table_of_contents ep_delete_after_delay_lite" + +# By default, Etherpad container is built and run in "production" mode. This is +# leaner (development dependencies are not installed) and runs faster (among +# other things, assets are minified & compressed). +ENV NODE_ENV=production + +# Follow the principle of least privilege: run as unprivileged user. +# +# Running as non-root enables running this image in platforms like OpenShift +# that do not allow images running as root. +RUN useradd --uid 5001 --create-home etherpad + +RUN mkdir /opt/etherpad-lite && chown etherpad:0 /opt/etherpad-lite + +USER etherpad + +WORKDIR /opt/etherpad-lite + +COPY --chown=etherpad:0 ./ ./ + +# install node dependencies for Etherpad +RUN bin/installDeps.sh && \ + rm -rf ~/.npm/_cacache + +# Install the plugins, if ETHERPAD_PLUGINS is not empty. +# +# Bash trick: in the for loop ${ETHERPAD_PLUGINS} is NOT quoted, in order to be +# able to split at spaces. +RUN for PLUGIN_NAME in ${ETHERPAD_PLUGINS}; do npm install "${PLUGIN_NAME}"; done + +# Copy the configuration file. +COPY --chown=etherpad:0 ./settings.json.docker /opt/etherpad-lite/settings.json + +# Fix permissions for root group +RUN chmod -R g=u . +COPY --chown=etherpad:0 assets/index.css /opt/etherpad-lite/src/static/skins/colibris/ +COPY --chown=etherpad:0 assets/fond.jpg /opt/etherpad-lite/src/static/skins/colibris/images/ +COPY --chown=etherpad:0 assets/logo.png /opt/etherpad-lite/src/static/skins/colibris/images/ +COPY --chown=etherpad:0 assets/index.html /opt/etherpad-lite/src/templates/ +COPY --chown=etherpad:0 assets/index.js /opt/etherpad-lite/src/static/skins/colibris/ +COPY --chown=etherpad:0 assets/iframe_editor.css /opt/etherpad-lite/src/static/css/ + +EXPOSE 9001 +CMD ["node", "node_modules/ep_etherpad-lite/node/server.js"] diff --git a/tests/assets/etherpad/fond.jpg b/tests/assets/etherpad/fond.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bc5f29a8f17d45f81252aefe4fde8d94faf33197 GIT binary patch literal 112805 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úc+ELsyb3$@o>+9q4)T2 zzIIFLmH-X4j91%ckL14}O?Mb&N7gT<04O8EwKi1q-IAcoY=% z{4{NmZ&c?8_su+XE#<<t<@)c% z##B)~<@v^PF+aK(`aGWcZtleLxZ;WB;R)UemG=U^?-SKjVVx1M?!L|4+N|QIPxMEZ zYi5}`m@W%jvE#NyI@UF+L(|`SKAi$03`&!W=44OX_^VlB=>@;)JF4$KFY&62b#R%UV?-KXVb z^Qb=A*SX3`&%3zz;eCY@su_QCC6)b*e@M9FxM-lUC7n)_9*pWFSCfCN<F8yNm9_iLcDt6;+bSJ7a%5-aNy|_7by}YI)fenN`6{dal!g6>QvHb| z&R0~VN)`4DL#eCX<;jUp9hw%~2DnVMO>TNt7;647{oOmw9ThQ`Ot34-)&3{#|8+^e zpS{bOV##%Z^_gQ|WgXd4*lXvt^CKD$rTm+i;XKmv_`taPj~+jsSh6F|_>4|#k*eh< ztJtC_m*)Li>*u#wTt4!C>-+!PU1$5P-QMx}$!ivK$Ketd1~@%lx$?BRs+nKKec#|6 z*-?iFt5seM%%`$2yI8%(v!c#$kw&6#>X8LG-Xo@095R29IAX!iiM!IMCw%ha#a}Kh zKYiX%KO?{9t%4=Jkamu<+C122=P$SVNfn7q;g9#Xxbp7$Ub*TMQ#O0^%y1d^_Wp~T zF7)YI7vZ*HM%934`y!s%-y2nG7B|t!I(}5`lHdzTkrNiJjJ<#XU$kh^I@3Ak;W%Fp z{58}DPu((aqVtTZvXXz#spb3Wtcdx!DAy`^T8!S^5v5^u!?@SP*Uy$Y@l&Ed#G+T` zfe@VsN%03n33qn+v**c8=c>Jw5V zy>0yj!EBDqFh59dpKhqXAuK;ZO|JW4&EFLkMp^9(%$|bKHoZvw^me87Lml~Pe*{`* zdnXUqZ6yLa;uwBz`rE^kItA3%CGV22Z*ps^*PL#(BCjr^&2Nd*(TehfTsct%r}#ot zUb^3WuTn6?THi)Ev0-}p^Gjn>gGXK}b#qBiX;~RR)Nxo!a#_fb<=4h^#f2L+$#STD z64jtRb|pi`bwK%}3 z@<#QgquQrN_0zfaBKmhxh5B{NA_rw2IQ8h!p97f$_R7VOPEK-3W;(X(pSRYU7bmW?UUdKZr>bGe+g{&X=r?Twx~fCfqEnMc5hY&= z4IO-amdoS6^-ABrzr10Ff%pFXzwU933<~{G+5q6p*Uuf-q3MsT^3oDnm%ad*U7B{6Cxc<8P;GrqRbf0NYve5f;;8L|Su_Jbl zPjm3m^uE=mc70^p>Fzsom)uyzXAhHxN*6gJ^-6Ig(w2GR_(FVMRThL0LP7wvOQd!Fgh`BuU=l@ zo2oxs_9}cnv!pj2fAy>hpQp`OpXT zN4Fih@KZ#>&*S@ZXG4xiU6Hf#T#uXH$B&w$I@YY*8dr41yc|4-VqjwUlj-T{G#6NV z|HN1Ul+Xp>35SKUUw-*F{rp^9jyHD~3NsI#q42ptuKIaw@{WR*+yuF{vYT!CpLD%b z7JRBy@|n9mJV|eAosO%2;iJ~n*Oh~HdiU{ppjBAA`&f`B7jrn~)Y9VofxMbFvn5t3 z7WXquZ^h`V&*v@TkSH`|9_XaF)6&usC;9|{iY3R;=v0{zF{nwL&AQ|dzpJi&e%U0h z^ulQy(FdsYg_7k+6TiZz$JR6z9-CEnXjIGNTLFo?%o~r4n)7L_#rXOLr8cd!{2`z6 z;+49l7Koi5e@wO>+Wv*r{Z?#VHDT+bPYQaK z3!~1dTi~K^YcGr2mKt}=db#AEn2TP@KChm)@lo!ZLc{9BMfffMd1uF6i#leB;8%VIs5b_yx%SK{;Y^&k0_`+t{U5K^#$Ur4_G$&Z!6OScKgO(HvDMxVOW z#OaldzAiwlZEK{xLR7?OM=Tf>L_j84D%0I(#RYi#t$ba}@7(+N%D$iuYhAFbzw8qW zZZG?y4L&BS(yn!dcjBnD#Maa_y+PflZ#DPM)iYBsObS=>@tLfA(!20x`*#9?(f?tJ zUQ>vcsKy^s_V=-CyYkKNZV%IYezZ}SU)?w;Ev@I3#QnOQuw3Ht|B>{dUaL-M!K1CW T8s^RrSFJZkUpIW#Z+rePxDEeg literal 0 HcmV?d00001 diff --git a/tests/assets/etherpad/iframe_editor.css b/tests/assets/etherpad/iframe_editor.css new file mode 100644 index 0000000..ea16977 --- /dev/null +++ b/tests/assets/etherpad/iframe_editor.css @@ -0,0 +1,142 @@ +/* + These CSS rules are included in both the outer and inner ACE iframe (pad editor) +*/ + +@import url('./lists_and_indents.css'); + +html.inner-editor { + height: auto !important; + background-color: transparent !important; + scrollbar-width: thin; + scrollbar-color: white transparent; +} +#outerdocbody { + display: flex; + flex-direction: row; + justify-content: center; + min-height: 100vh; /* take at least full height */ +} +#outerdocbody iframe { + flex: 1 auto; + display: flex; + width: 100%; +} +#outerdocbody #sidediv { + order: -1; /* display it on the first row positionning, i.e. on the left */ +} + +/* ACE-PAD Container (i.e. where the text is displayed) */ +#innerdocbody { + padding: 10px; + overflow: hidden; + background-color: white; + + /* Be careful editing following rules. Longs words should not overflow, ep_align justify should work, + Test on chrome, firefox and safari... Copy / Paste a word inside a sentence should not add line-breaks + and preserve the style */ + display: block; /* for safari and firefox, otherwise the break-word does not work */ + white-space: normal; + word-wrap: break-word; + overflow-wrap: break-word; +} +#innerdocbody, #sidediv { + padding-top: 10px; /* Both must have same top padding, so line number are aligned with the rows */ + padding-bottom: 10px; /* some space when we scroll to the bottom */ +} + +#innerdocbody a { + color: #2e96f3; +} +#innerdocbody.authorColors [class^='author-'] a { + color: inherit; +} + +#innerdocbody span { + line-height: 125%; + padding: 6px 0 !important; +} + +option { + text-transform: capitalize; +} + +#innerdocbody h1, +#innerdocbody h2, +#innerdocbody h3, +#innerdocbody h4 { + margin-bottom: .5em; +} + +/* --------------------- */ +/* -- BROWSER SUPPORT -- */ +/* --------------------- */ + +body.mozilla, body.safari { + display: table-cell; /* cause "body" area (e.g. where clicks are heard) to grow horizontally with text */ +} +.safari div { + padding-right: 1px; /* prevents the caret from disappearing on the longest line of the doc */ +} + + +/* ------------------------------------------ */ +/* -- SIDEDIV (line number, text author..) -- */ +/* ------------------------------------------ */ + +#sidediv { + background-color: transparent; + border-right: 1px solid #ccc; +} +#sidediv .line-number { + font-size: 9px; + padding: 0 10px; + font-family: monospace; +} +#sidedivinner { + text-align: right; + opacity: .9; +} +#sidediv:not(.sidedivdelayed) { /* before sidediv get initialized, hide text */ + color: transparent; +} +.line-numbers-hidden #sidediv .line-number { + display: none; +} +#linemetricsdiv { + position: absolute; + left: -1000px; + top: -1000px; + color: white; + z-index: -1; + font-size: 12px; /* overridden by lineMetricsDiv.style */ + font-family: monospace; /* overridden by lineMetricsDiv.style */ +} +@media (max-width: 800px) { + #sidediv { + /* Do not use display: none to hide the sidediv, otherwise the parent container does not + get its height properly calculated by flexboxes */ + visibility: hidden; + width: 0; + padding: 0; + } +} + + + + +/* ----------- */ +/* -- OTHER -- */ +/* ----------- */ + +::selection { + background: #acf; +} +::-moz-selection { + background: #acf; +} +#innerdocbody a { + cursor: pointer !important; +} +body.grayedout { + background-color: #eee !important +} \ No newline at end of file diff --git a/tests/assets/etherpad/index.css b/tests/assets/etherpad/index.css new file mode 100644 index 0000000..76aaf79 --- /dev/null +++ b/tests/assets/etherpad/index.css @@ -0,0 +1,125 @@ +#button, +body, +form { + border: none +} + +body { + background: url(images/fond.jpg) top center no-repeat fixed #fff; + font-family: Cantarell, "Open Sans", "Helvetica Neue", sans-serif; + font-size: 16px; + line-height: 1.42857143; + color: #333; + display: flex; + align-items: center; + justify-content: center; + background-size: cover; +} + +#wrapper { + border-top: none; + margin-top: 0; + padding: 0; + background: 0 0; + box-shadow: none +} + +input { + color: #4a5d5c; +} + +#inner { + background: transparent; + padding-top: 0; + width: 350px; + max-width: 350px; + text-align: center; + color:#FFF; +} + +#label { + text-shadow: none; + color: #FFF; + font-weight: normal; + text-align: center; +} + +#button { + margin: 0 auto; + text-align: center; + width: 100%; + text-shadow: none; + font-size: 23px; + line-height: 1.8; + color: #64d29b; + background: #586a69; + border-radius: 3px; + box-shadow: none; + height: 53px; + border: none; + display: block; +} + + +button[type=submit] { + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; + left: 305px; + color: #64d29b; + background: #586a69; + border: none; + top: 0; + opacity: 1; + transition: .2s background; +} + +#button:hover, +button[type=submit]:hover { + cursor: pointer; + background: #64d29b; + border: 2px solid #586a69; + color: #586a69; +} + +#padname { + height: 38px; + max-width: 350px; + padding: 0 12px; + position: relative; +} + +#text { + text-align: center; + max-width:500px; + font-size: 1.2em; + padding:20px; + margin:0 auto; + color:#FFFF; +} + +.logo_pad .icon img.pad { + width: 40px; + margin-top: 10px; + float:left; + padding:14px; +} +.logo_pad h3 { + font-size: 24px; + font-weight: 400; + color: red; + float:left; +} + +#logo_cisti { + width:100px; + margin: auto; + display: block; +} + +#logo_cisti img { + max-width: 100%; +} +.onion { + text-decoration: none; + font-size: 15px; +} diff --git a/tests/assets/etherpad/index.html b/tests/assets/etherpad/index.html new file mode 100644 index 0000000..9064fa1 --- /dev/null +++ b/tests/assets/etherpad/index.html @@ -0,0 +1,234 @@ +<% + var settings = require("ep_etherpad-lite/node/utils/Settings"); +%> + + + + <%=settings.title%> + + + + + + + + + + + + + + +
+ <% e.begin_block("indexWrapper"); %> +
+ + +
+ + +
+
+ <% e.end_block(); %> +
+
+ +Questo è un servizio etherpad ospitato dal progetto cisti.org. +Etherpad è un software libero che permette la realizzazione collaborativa di documenti di testo. +Su cisti non registriamo nessuna informazione su chi lo usa.
+
+
+ +
+ +
+ pad.ukdbebvetkn265rh5sfmmw53ka4dbhkfpqb7ufr3fu6ldlh6khleybid.onion +
+ + + + + diff --git a/tests/assets/etherpad/index.js b/tests/assets/etherpad/index.js new file mode 100644 index 0000000..e71e6ae --- /dev/null +++ b/tests/assets/etherpad/index.js @@ -0,0 +1,11 @@ +function customStart() +{ + //define your javascript here + //jquery is available - except index.js + //you can load extra scripts with $.getScript http://api.jquery.com/jQuery.getScript/ + function setRandomName() { + document.getElementById("padname").value = randomPadName(); + } + setRandomName(); + +} diff --git a/tests/assets/etherpad/logo.png b/tests/assets/etherpad/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..4eabd936c4938a8142a96f39902ebda5fd52f79a GIT binary patch literal 21001 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