daje
This commit is contained in:
parent
ee2ecd81d2
commit
23c6bb4bd3
17 changed files with 79 additions and 186 deletions
26
README.md
26
README.md
|
@ -1,21 +1,15 @@
|
||||||
# silicone
|
# silicone
|
||||||
|
|
||||||
Un angolo ragionato per facilitare la messa in opera di servizi autogestiti di prossimità
|
Un angolo ragionato per facilitare la messa in opera di servizi autogestiti di prossimità
|
||||||
|
|
||||||
|
## Come si usa
|
||||||
|
Si imposta il proprio inventory (inventory.yml) e il proprio playbook
|
||||||
|
(infra.yml)
|
||||||
|
|
||||||
|
|
||||||
|
## Password
|
||||||
## Appunti
|
Per le password si usa pass, il path usato e' specificato nell'inventory
|
||||||
Puntando alla semplificazione la maggior parte delle scelte le dobbiamo fare qui.
|
|
||||||
|
|
||||||
Ci sono due setup possibili:
|
|
||||||
- si vuole uno e un solo servizio per macchina (vps)
|
|
||||||
- una macchina gestisce piu' servizi
|
|
||||||
|
|
||||||
Quello che cambia è che nel primo caso nginx (per i servizi web) e' interno, nell'altro
|
|
||||||
caso e' esterno.
|
|
||||||
|
|
||||||
## Ansible
|
|
||||||
|
|
||||||
|
|
||||||
## Scrivere nuovi ruoli o testare configurazioni diverse
|
## Creare nuovi ruoli:
|
||||||
Usiamo vagrant dentro `/dev`
|
Ci sono varie possibilità, si può usare docker o vagrant, sono dentro
|
||||||
|
`dev/`, per docker c'e' un README.md
|
||||||
|
|
9
ansible.cfg
Normal file
9
ansible.cfg
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
|
||||||
|
[defaults]
|
||||||
|
inventory = ./inventory.yml
|
||||||
|
interpreter_python = /usr/bin/python3
|
||||||
|
remote_user = root
|
||||||
|
|
||||||
|
|
||||||
|
[ssh_connection]
|
||||||
|
scp_if_ssh=True
|
|
@ -1,60 +0,0 @@
|
||||||
# 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"]
|
|
|
@ -30,6 +30,7 @@ html.inner-editor {
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
background-color: white;
|
background-color: white;
|
||||||
|
line-height: 25px;
|
||||||
|
|
||||||
/* Be careful editing following rules. Longs words should not overflow, ep_align justify should work,
|
/* 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
|
Test on chrome, firefox and safari... Copy / Paste a word inside a sentence should not add line-breaks
|
||||||
|
@ -139,4 +140,4 @@ body.mozilla, body.safari {
|
||||||
}
|
}
|
||||||
body.grayedout {
|
body.grayedout {
|
||||||
background-color: #eee !important
|
background-color: #eee !important
|
||||||
}
|
}
|
||||||
|
|
15
dev/README.md
Normal file
15
dev/README.md
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
# only once
|
||||||
|
docker network create --subnet=172.172.0.0/16 silicone
|
||||||
|
docker build -t silicone:base .
|
||||||
|
|
||||||
|
# for each service to test
|
||||||
|
# create a container with static ip
|
||||||
|
docker run --name etherpad -d --net silicone --ip 172.172.0.2 -it silicone:base
|
||||||
|
|
||||||
|
# copy your ssh key
|
||||||
|
docker cp ~/.ssh/id_rsa.pub etherpad:/root/.ssh/authorized_keys
|
||||||
|
docker exec -it etherpad chown root.root /root/.ssh/authorized_keys
|
||||||
|
|
||||||
|
|
||||||
|
# then you can go with ansible using 172.172.0.2 as your host inside
|
||||||
|
inventory
|
30
infra.yml
30
infra.yml
|
@ -1,32 +1,10 @@
|
||||||
---
|
---
|
||||||
|
|
||||||
- name: "Etherpad"
|
## ETHERPAD
|
||||||
|
- name: Etherpad
|
||||||
hosts: paddone
|
hosts: paddone
|
||||||
roles:
|
roles:
|
||||||
- role: stable/common
|
- role: stable/common
|
||||||
- role: stable/etherpad
|
- role: stable/etherpad
|
||||||
vars:
|
vars_files:
|
||||||
title: "Pad@cisti"
|
- vars/etherpad.yml
|
||||||
pad_lang: "it-IT"
|
|
||||||
pad_default_text: |
|
|
||||||
Sei su pad.cisti.org! Qui potrai usare usare PAD.
|
|
||||||
Un PAD è uno strumento di scrittura collaborativa per scrivere testi, comunicati o quello che vuoi assieme ad altre persone!
|
|
||||||
Questo è uno dei servizi di cisti.org, fuori dalle logiche del profitto e del capitalismo, dietro ci sono un gruppo di persone volontarie che si responsabilizzano a mantenere in piedi tutto questo.
|
|
||||||
|
|
||||||
ALCUNE COSE DA SAPERE:
|
|
||||||
- Per iniziare cancella tutto questo testo e inizia a scrivere!
|
|
||||||
- Ogni pad può essere modificato da CHIUNQUE sia in possesso del sito (URL) o che possa indovinarlo facilmente, quindi scegli bene il nome del pad che vuoi creare!
|
|
||||||
- Questo pad verrà eliminato automaticamente dopo 60 giorni di inattività
|
|
||||||
- Una volta cancellato un pad NON ci sono modi di recuperarlo!
|
|
||||||
- Questo pad ci tiene così tanto alla privacy che non sappiamo neanche chi sei, rispetta l'anonimato e usalo bene.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
made with ❤ by underscore_to hacklab
|
|
||||||
override_files:
|
|
||||||
- index.css: /srv/etherpad/etherpad/src/static/skins/colibris/
|
|
||||||
- fond.jpg: /srv/etherpad/etherpad/src/static/skins/colibris/images/
|
|
||||||
- logo.png: /srv/etherpad/etherpad/src/static/skins/colibris/images/
|
|
||||||
- index.html: /srv/etherpad/etherpad/src/templates/
|
|
||||||
- index.js: /srv/etherpad/etherpad/src/static/skins/colibris/
|
|
||||||
- iframe_editor.css: /srv/etherpad/etherpad/src/static/css/
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
paddone:
|
paddone:
|
||||||
hosts: 192.168.199.102
|
hosts: paddone.cose.belle
|
||||||
vars:
|
|
||||||
ansible_user: root
|
|
||||||
ansible_python_interpreter: /usr/bin/python3
|
|
||||||
|
|
||||||
|
all:
|
||||||
|
vars:
|
||||||
|
passwordstore_path: cisti.org/ansible
|
||||||
|
|
|
@ -4,7 +4,8 @@ favicon: "favicon.ico"
|
||||||
listen_ip: "0.0.0.0"
|
listen_ip: "0.0.0.0"
|
||||||
listen_port: "8001"
|
listen_port: "8001"
|
||||||
log_level: "INFO"
|
log_level: "INFO"
|
||||||
database_password: "{{lookup('password', './.pass/etherpad_db_password')}}"
|
database_password: "{{lookup('community.general.passwordstore', '{{passwordstore_path}}/etherpad/db_password create=True nosymbols=true')}}"
|
||||||
|
pad_admin_password: "{{lookup('community.general.passwordstore', '{{passwordstore_path}}/etherpad/admin_password create=True nosymbols=true')}}"
|
||||||
|
|
||||||
plugins: ['ep_headings2', 'ep_table_of_contents', 'ep_comments_page', 'ep_align', 'ep_delete_after_delay_lite']
|
plugins: ['ep_headings2', 'ep_table_of_contents', 'ep_comments_page', 'ep_align', 'ep_delete_after_delay_lite']
|
||||||
|
|
||||||
|
|
|
@ -363,21 +363,21 @@
|
||||||
* Set to 0 to disable extra scrolling
|
* Set to 0 to disable extra scrolling
|
||||||
*/
|
*/
|
||||||
"percentage": {
|
"percentage": {
|
||||||
"editionAboveViewport": 0,
|
"editionAboveViewport": 0.2,
|
||||||
"editionBelowViewport": 0
|
"editionBelowViewport": 0.2
|
||||||
},
|
},
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Time (in milliseconds) used to animate the scroll transition.
|
* Time (in milliseconds) used to animate the scroll transition.
|
||||||
* Set to 0 to disable animation
|
* Set to 0 to disable animation
|
||||||
*/
|
*/
|
||||||
"duration": 0,
|
"duration": 200,
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Flag to control if it should scroll when user places the caret in the
|
* Flag to control if it should scroll when user places the caret in the
|
||||||
* last line of the viewport
|
* last line of the viewport
|
||||||
*/
|
*/
|
||||||
"scrollWhenCaretIsInTheLastLineOfViewport": false,
|
"scrollWhenCaretIsInTheLastLineOfViewport": true,
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Percentage of viewport height to be additionally scrolled when user
|
* Percentage of viewport height to be additionally scrolled when user
|
||||||
|
@ -403,7 +403,7 @@
|
||||||
"admin": {
|
"admin": {
|
||||||
// 1) "password" can be replaced with "hash" if you install ep_hash_auth
|
// 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
|
// 2) please note that if password is null, the user will not be created
|
||||||
"password": "fk30f1EmWspoCVQOqgvhuODHw",
|
"password": "{{pad_admin_password}}",
|
||||||
"is_admin": true
|
"is_admin": true
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -418,7 +418,7 @@
|
||||||
*
|
*
|
||||||
* WARNING: this will disable security on the instance.
|
* WARNING: this will disable security on the instance.
|
||||||
*/
|
*/
|
||||||
"loadTest": "${LOAD_TEST:false}",
|
"loadTest": false,
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Disable indentation on new line when previous line ends with some special
|
* Disable indentation on new line when previous line ends with some special
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
../assets
|
|
|
@ -1,32 +0,0 @@
|
||||||
---
|
|
||||||
|
|
||||||
- name: "Testing etherpad role"
|
|
||||||
hosts: etherpad
|
|
||||||
roles:
|
|
||||||
- role: stable/common
|
|
||||||
- role: stable/etherpad
|
|
||||||
vars:
|
|
||||||
title: "Pad@cisti"
|
|
||||||
pad_lang: "it-IT"
|
|
||||||
pad_default_text: |
|
|
||||||
Sei su pad.cisti.org! Qui potrai usare usare PAD.
|
|
||||||
Un PAD è uno strumento di scrittura collaborativa per scrivere testi, comunicati o quello che vuoi assieme ad altre persone!
|
|
||||||
Questo è uno dei servizi di cisti.org, fuori dalle logiche del profitto e del capitalismo, dietro ci sono un gruppo di persone volontarie che si responsabilizzano a mantenere in piedi tutto questo.
|
|
||||||
|
|
||||||
ALCUNE COSE DA SAPERE:
|
|
||||||
- Per iniziare cancella tutto questo testo e inizia a scrivere!
|
|
||||||
- Ogni pad può essere modificato da CHIUNQUE sia in possesso del sito (URL) o che possa indovinarlo facilmente, quindi scegli bene il nome del pad che vuoi creare!
|
|
||||||
- Questo pad verrà eliminato automaticamente dopo 60 giorni di inattività
|
|
||||||
- Una volta cancellato un pad NON ci sono modi di recuperarlo!
|
|
||||||
- Questo pad ci tiene così tanto alla privacy che non sappiamo neanche chi sei, rispetta l'anonimato e usalo bene.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
made with ❤ by underscore_to hacklab
|
|
||||||
override_files:
|
|
||||||
- index.css: /srv/etherpad/etherpad/src/static/skins/colibris/
|
|
||||||
- fond.jpg: /srv/etherpad/etherpad/src/static/skins/colibris/images/
|
|
||||||
- logo.png: /srv/etherpad/etherpad/src/static/skins/colibris/images/
|
|
||||||
- index.html: /srv/etherpad/etherpad/src/templates/
|
|
||||||
- index.js: /srv/etherpad/etherpad/src/static/skins/colibris/
|
|
||||||
- iframe_editor.css: /srv/etherpad/etherpad/src/static/css/
|
|
|
@ -1,9 +0,0 @@
|
||||||
---
|
|
||||||
|
|
||||||
- name: "GoPloader Testing Role"
|
|
||||||
hosts: goploader.antifa.tech
|
|
||||||
roles:
|
|
||||||
- role: common
|
|
||||||
- role: goploader
|
|
||||||
vars:
|
|
||||||
hostname: goploader.antifa.tech
|
|
|
@ -1,12 +0,0 @@
|
||||||
---
|
|
||||||
|
|
||||||
- name: "Frontend"
|
|
||||||
hosts: frontend
|
|
||||||
become: true
|
|
||||||
roles:
|
|
||||||
- role: frontend
|
|
||||||
vars:
|
|
||||||
proxies:
|
|
||||||
cicles.cisti.org: "{{grande_macchina}}:8080"
|
|
||||||
mastodon.cisti.org: "{{grande_macchina}}:9001"
|
|
||||||
gancio.cisti.org: "{{grande_macchina}}:9001"
|
|
|
@ -1,7 +0,0 @@
|
||||||
etherpad:
|
|
||||||
hosts: 172.172.0.2
|
|
||||||
vars:
|
|
||||||
ansible_user: root
|
|
||||||
ansible_ssh_private_key_file: /home/les/.ssh/id_rsa.pub
|
|
||||||
ansible_python_interpreter: /usr/bin/python3
|
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
../roles
|
|
|
@ -1,10 +0,0 @@
|
||||||
---
|
|
||||||
|
|
||||||
- name: "Testing up1 role"
|
|
||||||
hosts: jolly
|
|
||||||
become: true
|
|
||||||
roles:
|
|
||||||
- role: common
|
|
||||||
- role: up1
|
|
||||||
vars:
|
|
||||||
hostname: :8000
|
|
27
vars/etherpad.yml
Normal file
27
vars/etherpad.yml
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
---
|
||||||
|
title: "Pad@cisti"
|
||||||
|
pad_lang: "it-IT"
|
||||||
|
pad_default_text: |
|
||||||
|
Sei su pad.cisti.org! Qui potrai usare usare PAD.
|
||||||
|
Un PAD è uno strumento di scrittura collaborativa per scrivere testi, comunicati o quello che vuoi assieme ad altre persone!
|
||||||
|
Questo è uno dei servizi di cisti.org, fuori dalle logiche del profitto e del capitalismo, dietro ci sono un gruppo di persone volontarie che si responsabilizzano a mantenere in piedi tutto questo.
|
||||||
|
|
||||||
|
ALCUNE COSE DA SAPERE:
|
||||||
|
- Per iniziare cancella tutto questo testo e inizia a scrivere!
|
||||||
|
- Ogni pad può essere modificato da CHIUNQUE sia in possesso del sito (URL) o che possa indovinarlo facilmente, quindi scegli bene il nome del pad che vuoi creare!
|
||||||
|
- Questo pad verrà eliminato automaticamente dopo 60 giorni di inattività
|
||||||
|
- Una volta cancellato un pad NON ci sono modi di recuperarlo!
|
||||||
|
- Questo pad ci tiene così tanto alla privacy che non sappiamo neanche chi sei, rispetta l'anonimato e usalo bene.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
made with ❤ by underscore_to hacklab
|
||||||
|
|
||||||
|
# Custom cisti.org style modification (background image, display random pad string in input field)
|
||||||
|
override_files:
|
||||||
|
- index.css: /srv/etherpad/etherpad/src/static/skins/colibris/
|
||||||
|
- fond.jpg: /srv/etherpad/etherpad/src/static/skins/colibris/images/
|
||||||
|
- logo.png: /srv/etherpad/etherpad/src/static/skins/colibris/images/
|
||||||
|
- index.html: /srv/etherpad/etherpad/src/templates/
|
||||||
|
- index.js: /srv/etherpad/etherpad/src/static/skins/colibris/
|
||||||
|
- iframe_editor.css: /srv/etherpad/etherpad/src/static/css/
|
Loading…
Reference in a new issue