Enfrentamiento de aplicaciones de autoalojamiento – Cloudron vs. YunoHost

Puede ser difícil autoalojar muchas aplicaciones de código abierto si no eres un experto en Linux. Varios proyectos intentan facilitar esta tarea: ofrecen a los nuevos administradores un sencillo instalador basado en la web y vienen configurados de fábrica para soportar aplicaciones seguras y estables. Hay un gran número de aplicaciones diferentes que pretenden satisfacer esta necesidad. Aquí, echaré un vistazo a las siguientes aplicaciones, y trataré de determinar qué tan buenas serían para una forma fácil y de bajo mantenimiento de alojar las aplicaciones en mi tutorial sobre cómo tomar el control de las herramientas digitales de tu capítulo. Esta es la lista de aplicaciones que he mirado:

En este grupo destacan claramente dos: YunoHost y Cloudron. El resto carece de soporte para aplicaciones que probablemente necesitarías (FreedomBox, Bloom, Bitnami), o no se desarrollan muy activamente (Sandstorm.io). Vamos a profundizar primero en Cloudron, ya que es lo que recomiendo en la guía de Digital Tooling.

¿Por qué Cloudron?

Cloudron es una aplicación con código fuente (más adelante se explica lo que esto significa) que se instala rápidamente y ofrece un gran número de aplicaciones de alta calidad con un solo clic. Incluye un servidor de correo electrónico y LDAP que se integra perfectamente con todas las aplicaciones de Cloudron, y permite múltiples copias de las aplicaciones, así como múltiples dominios por instalación. Se desarrolla activamente y ofrece un foro de soporte en el que los desarrolladores responden regularmente a los problemas. Es una solución muy convincente que marca todas las casillas, y por eso la elegí para mi guía.

¿Y por qué no Cloudron?

Cloudron tiene algunas desventajas que pueden no ser toleradas por algunos. Aunque el código fuente de Cloudron está disponible casi en su totalidad para que cualquiera pueda verlo y contribuir a él, no es realmente de código abierto. En primer lugar, cuesta dinero instalar más de dos apps o tener más de cinco usuarios. En segundo lugar, como explican los desarrolladores, el verdadero valor de Cloudron son los paquetes de aplicaciones, cuyo mantenimiento requiere un trabajo constante ($$$), y el cobro de una licencia permite que ese trabajo continúe.

Básicamente, el argumento es que sin el pago de la licencia, el software no existiría, y el modelo de licencia actual permite a Cloudron ser muy de código abierto mientras no cumple con la definición oficial de un proyecto totalmente de código abierto. Creo que esto es justo, y los desarrolladores de Cloudron han publicado tanto las instrucciones de construcción para la plataforma como sus herramientas que permiten a los técnicos empaquetar sus propias aplicaciones. En teoría, se podría bifurcar Cloudron y volver a empaquetar lo que se quiera. (Nadie lo ha hecho todavía, que yo sepa, porque esto supondría mucho trabajo).

Hay mucho más que escribir sobre los modelos de financiación de código abierto, pero basta con decir que para las personas que buscan una solución 100% de código abierto, Cloudron no funcionará. Entonces, ¿cuál es la siguiente mejor opción?

YunoHost – la alternativa 100% gratuita

YunoHost es un programa similar a Cloudron pero totalmente de código abierto y dirigido por voluntarios. Todas las aplicaciones de YunoHost son AGPL3. YunoHost es similar a Cloudron en el sentido de que lo configuras y tienes una solución SSO, correo electrónico y una tienda de aplicaciones para instalar cosas fácilmente.

YunoHost es más difícil de configurar que Cloudron, no ofrece un catálogo de aplicaciones tan amplio y, en general, está menos pulido. Sin embargo, ninguno de ellos es un obstáculo. La instalación sigue siendo fácil si estás familiarizado con los fundamentos de cómo funciona SSH y Linux, todas las aplicaciones más importantes (WordPress, Nextcloud, aplicaciones de Matrix, etc) están ahí, y no creo que la falta de pulido sea lo suficientemente grave como para impedir que la gente no técnica lo utilice como coadministrador después de que se configure la primera vez.

Como extra, YunoHost ofrece más orientación sobre cómo ejecutar YunoHost en hardware de consumo en casa, y tiene guías sobre cómo instalar en PC y dispositivos ARM (con guías especiales para la Raspberry Pi).

En resumen: Para los capítulos que están extremadamente comprometidos con el espíritu del código abierto y tienen la voluntad de pasar por los baches que requiere, o para los capítulos extremadamente limitados en cuanto a costos, YunoHost es la mejor opción que existe.

¿Es una buena idea utilizar el código abierto para su equipo?

En los últimos meses, he dedicado mucho tiempo a investigar las opciones para los equipos que quieren trabajar con un ecosistema de aplicaciones totalmente de código abierto y autoalojable. Al igual que muchos otros proyectos que lo intentaron, quería una manera de que la gente trabajara junta y al mismo tiempo fuera dueña de sus datos. Sin embargo, nuestro equipo tenía una necesidad adicional única en comparación con la mayoría de estos proyectos: queríamos que todo lo que hiciéramos pudiera ser utilizado por todo el mundo, incluso por las personas que no se sienten muy cómodas con el uso de software, sobre todo el que no conocen. ¿Podríamos encontrar una solución?


(más…)

Introducción a Matrix en Cloudron

Matrix is a new, open-source protocol for decentralized chat networks. Being a protocol, meaning that it requires a server (we will use Synapse) and a client (we will use Element) to function the way you expect chat programs, like Slack, to work.

Matrix is designed with decentralization in mind, meaning it is designed to function as a network of servers, of which your installation is just one node. This is great for a lot of purposes but can be confusing for people who are less tech-savvy, and it’s not designed with the same ideas in mind as corporate-focused Slack replacements like Rocket Chat and Mattermost. Matrix is an excellent option for activists and non-profit organizations that want a secure, collaborative, easy-to-use alternative to Slack.

This guide will explain everything you need to know to get Matrix installed and configured with Cloudron. It’s going to heavily mirror the official Cloudron documentation, so if something seems wrong or out of date please compare with their docs or head to the Cloudron forums. To get started, install Matrix Synapse from the Cloudron app store. I strongly recommend using matrix.yourdomain.com as the location. This isn’t required but it makes later steps easier and many guides online (including this one) will assume this.

Let’s quickly detour into a quick explanation of why this is important, and go into a little more detail on how Matrix works.

Conocer a Morfeo (¿Qué es Matrix?)

As mentioned earlier, Matrix is a protocol. A protocol is not a computer program; it’s like a written specification that tells computers how to talk to each other. To turn a protocol into something we can use to chat with, we need a server and a client.

The server is the main component of what you will install with this guide; it allows Matrix clients (for example, their Android app) to talk to the server. There are multiple servers and clients for the Matrix protocol. We’re going to install Synapse, which is the most popular server program that implements the Matrix protocol. (Matrix calls the server a homeserver and we will use that word going forward to refer to what we will install)

A server/client model may sound familiar – nearly all apps use this model to communicate. But Matrix adds an additional feature uncommon for chat apps like Slack or Hangouts – servers can also talk to other servers (imagine email, but better). This means you can message someone on a totally different homeserver than you seamlessly as long as your servers are connected (in Matrix terms – federated).

Let’s look at a quick example with two DSA chapters, Springfield and Riverdale. The Springfield and Riverdale DSA chapters each have their own Synapse installation, and each member can only talk with other members of their own chapter. One day, they decide to federate their servers – this allows both members to join a Room and chat with each other. Rooms (called Channels or Groups by some other chat apps) allow members from both chapters to chat without either chapter giving up control or security access to the other. User in the Springfield server can chat with Riverdale users only in shared Rooms. The admins of each server can only see messages the other server’s users send in shared Rooms as well.

Your name in Matrix reflects this two-tier nature – your username will reflect your homeserver. For example, if mine is @joe:socialism.tools and I chat with @joe:neoliberalism.fail in a shared room, we can still tell each other apart.

Let’s compare this with Slack. Slack is the one major chat app with federation, but it’s limited to paying customers. What activist orgs will do in this case is someone will spin up a new Slack instance, and then invite members from any related Slacks to make a new account and join. This is cumbersome and obscures the source of the members (Rooms for introductions are used to help people identify where they came from, but again, this is cumbersome). This process needs to be repeated for each new working group, action, etc that needs to be spun up. As some of you may know, that’s a lot of Slack workspaces! Matrix makes it easier to collaborate securely with many different organizations / Matrix servers.

Entrar en la matriz (instalación)

Ensure you’ve installed Synapse from the Cloudron app store at matrix.yourdomain.com. You now have a homeserver! But we need to perform a few additional steps. To make your homeserver available for federation, you’ll need to configure a few other things. We’ll set up the well-known URI first. This is a special URL that makes it easier for other computers where to find a program (in this case, your Matrix server). Click the gear (config) icon that appears when you hover over the Matrix app in Cloudron, then Console, then Terminal. Copy the following two lines of script into Notepad or another app where you can edit them.

mkdir -p /home/yellowtent/boxdata/well-known/example.com/matrix echo '{ "m.server": "matrix-homeserver.example.com:443" }' > /home/yellowtent/boxdata/well-known/example.com/matrix/server

Replace example.com with your regular domain name, for example springfield-dsa.org. Put your Matrix server location in the matrix-homeserver.example.com seciton. Then, copy it and paste it into the web terminal and press enter. Keep the Terminal tab open and go back to your Cloudron tab. Click the Location menu item and click Save without hitting anything else. Wait until it’s done processing, then go back to your Terminal tab and wait a few moments.

Type curl and then paste your well-known URL and press enter. Here’s what happens when I print mine (I pressed enter after the word «server» and the line with curly braces was returned)

You should get something very similar to the above. If not, check the Cloudron docs to see if you missed a step. You should also type your domain name (without matrix-) intro the Federation Tester to confirm everything is working as expected. There’s just one step left – make yourself an admin!

Again, copy the following line and edit @user:example.com to match your information (your Matrix username will match your Cloudron username. If you don’t know what it is, go back to the Cloudron dashboard look in the top right corner):

PGPASSWORD=${CLOUDRON_POSTGRESQL_PASSWORD} psql -h ${CLOUDRON_POSTGRESQL_HOST} -p ${CLOUDRON_POSTGRESQL_PORT} -U ${CLOUDRON_POSTGRESQL_USERNAME} -d ${CLOUDRON_POSTGRESQL_DATABASE} -c "UPDATE users SET admin=1 WHERE name='@user:example.com'" UPDATE 1

Congratulations, Neo – you are now fully plugged into the Matrix! You can now connect with a Matrix client – Element, for example. Test that you can connect, and then come back for some additional configuration features you can use.

Cambiar su Matix (Configuración)

Matrix has a ton of configuration options and plugins, but we’ll go over just a few important tweaks here you may need. First, if a user types your Matrix URL into their browser, they get the default Matrix page:

Boring! Let’s add some pop. I copied the file that’s there (you can open it via the Terminal and select all > copy) and then added my own little touches:

While you’ll need to know HTML to create a fancy landing page, you can work with the building blocks that are there to add links (like element.yourdomain.com to join the web server).

The other file you can edit to make Synapse fit your needs in the config file at /app/data/configs/homeserver.yaml. Type nano and then that path to edit the file when you have the Terminal open. The config file tries to describe what it does inside of it for most functions. A pound/hash/octothorpe (#) at the start of a line means the line is commented out and will be ignored by Synapse.

For example, if you run on a very resource-constrained server, you may want to look at changing the limit_remote_rooms setting to block users from joining very large remote rooms. Please be careful when editing the config file – the spacing of lines matters, and saving the config file when it isn’t formatted correctly will likely cause issues with your server. You will also need to reboot the Synapse app after any settings changes.

Tomando el control de las herramientas digitales de su capítulo: Parte 1 – Configuración

Para quién es esta página

¿Eres un nuevo capítulo de DSA? ¿Eres un capítulo existente que utiliza principalmente Slack y Google Docs? ¿Quiere tomar el control de los datos de su capítulo, preservar su privacidad y quizás obtener una nueva funcionalidad que no tenía antes?

Después de mucha investigación, creo que he encontrado la forma más fácil, barata y segura para que los capítulos de DSA colaboren y trabajen juntos en línea.

Su capítulo puede hacer el cambio de programas de código cerrado que recolectan sus datos y restringen funciones para usuarios que no pagan a software útil, gratuito y de código abierto, con un mínimo esfuerzo y costo. Como bono divertido, también evitarás a algunos de los peores infractores tecnológicos y abusadores del poder del país. Pero es posible que se pregunte: ¿por qué molestarse en hacer todo esto en primer lugar?

Por qué se creó esta página

Entiendo que las herramientas de código cerrado como Slack, Google Docs y más simplemente funcionan para muchas personas. Las personas ya usan estas herramientas en sus trabajos, en la escuela e incluso en casa. Muchas personas tienen una agenda ocupada tal cual, y por eso estamos agradecidos de que elijan dedicar su precioso tiempo libre a construir el socialismo. ¿Por qué les haríamos aprender algo nuevo o descargar una nueva aplicación? ¿Por qué arriesgarse a desincentivar a las personas para que no contribuyan?

Si imagina un futuro socialista utópico, ¿incluye a Google, Microsoft, Facebook y Amazon actuando como intermediarios en todo lo que hace en línea? Probablemente no. He pasado mucho tiempo tratando de hacer que el proceso de usar software libre sea lo más fácil posible para todos los involucrados, desde los administradores hasta el liderazgo y sus usuarios.

Esta guía lo guiará a través de todos y cada uno de los pasos, desde comenzar con nada más que una tarjeta de crédito hasta terminar con su propio sitio web, blog, programa de chat, solución de almacenamiento de archivos y un servidor de correo electrónico / calendario / contactos. Lo mejor de todo es que probablemente pueda completar la configuración de todos estos servicios en unas pocas horas.

Lo que significa ser dueño de su pila tecnológica

Antes de pasar por este proceso, recuerde que todo su capítulo hará este cambio con usted. Antes de comenzar, asegúrese de que el liderazgo de su capítulo esté de acuerdo con el uso de cualquier software que planee implementar y tenga un plan para pagar los gastos (~ $ 50 / mes). Incluso si el liderazgo y muchos de sus miembros están a bordo, aún debe hablar temprano y con frecuencia con todos los camaradas en su capítulo para asegurarse de que sean escuchados y que sus preocupaciones se tomen en cuenta a medida que se realiza esta transición.

Recuerde: somos una organización democrática. La comunicación excesiva es menos probable que la falta de comunicación, por lo que debe comunicarse temprano, con frecuencia y en un lenguaje sencillo.

Además, tenga en cuenta que todo lo que haga deberá pasarlo a otra persona en algún momento en el futuro. Recomiendo encarecidamente tomar muchas notas durante la transición y almacenar estas notas para cualquier otro administrador que tenga acceso al software en el futuro. Es posible que no sepa cuándo no podrá acceder al panel de administración en el futuro, así que siempre tenga un plan sobre cómo alguien puede tomar el control de la presencia digital de su capítulo sin que usted esté allí de manera segura. Cubriremos esto más adelante, pero téngalo en cuenta. ¡Ahora cubramos exactamente lo que necesitará para comenzar!

Qué necesitas y cuánto cuesta

Necesitas tres cosas principales:

  1. UN nombre de dominio es el nombre de su capítulo o algo pegadizo como socialism.tools. Esto es lo que escribe en la barra de direcciones de su navegador.
  2. UN Servidor Virtual Privado , o VPS, es una computadora que vive en la nube. Se llama un Virtual privado servidor porque no es realmente una caja negra en alguna parte, es parte de un servidor muy poderoso, que ejecuta muchas personas virtual servidores al mismo tiempo pero separados entre sí (privados).
    • Si sus costos son extremadamente limitados, puede usar una computadora que ya posee, pero tenga en cuenta que esto es más difícil de configurar, más riesgoso y con menos rendimiento.
  3. Un software llamado Cloudron. Se ejecutará en su VPS. Cloudron actúa principalmente como controlador de aplicaciones. Cloudrun puede instalar aplicaciones para usted con un solo clic, configurarlas y mantenerlas actualizadas. Cloudrun también se mantiene actualizado y proporciona administración de usuarios y servicios de correo electrónico a todas sus aplicaciones. ¡Eso es muy útil! Instalar, configurar y actualizar aplicaciones puede ser confuso o llevar mucho tiempo, y Cloudron lo hace por usted por un precio mucho, mucho más bajo que otras opciones (enfocadas en el negocio). Cloudrun está dirigido por una pequeña empresa en Alemania.

No hay forma de evitar el hecho de que esta solución, como con cualquier solución de código abierto, va a costar dinero. Las grandes empresas tecnológicas pueden subsidiar el uso gratuito de cosas como Google Docs, OneDrive, Zoom o Slack cobrando mucho dinero a sus clientes comerciales. Pero a pesar del costo de ejecutar software libre, creo que vale la pena tomar el control de su capítulo: ¿por qué volverse socialista si no quiere hacer grandes apuestas, eh? 😉

El desglose de costos se verá así:

Esto se suma a $ 440 por año ( menos de $ 10 a la semana ), o más si paga por Cloudron mensualmente. Esta es la configuración más barata posible que pude encontrar que podría soportar razonablemente un capítulo.

Si su capítulo tiene a mano un experto en Linux muy conocedor de la tecnología, probablemente podría salirse con la suya sin pagar por Cloudron (y tal vez sea usted), pero recuerde lo que dije antes: algún día, alguien más necesitará heredar esta pila de tecnología. Es posible que no esté disponible cuando algo se rompa, y cosas como el chat y el correo electrónico pueden ser fundamentales para la seguridad de las personas. Cloudron facilita el acceso de varias personas tanto a la plataforma como a todas las aplicaciones que contiene, y esa simplicidad y tranquilidad mías es una gran parte de por qué Cloudron vale la pena.

Divulgación: Los dos enlaces anteriores para un VPS y Cloudron son enlaces de referencia; si compra servicios después de hacer clic en ellos, obtengo un descuento en el VPS y la clave de licencia que se usa para ejecutar socialism.tools.

Empezando

¡Compremos un dominio!

Comprar su nombre de dominio es como comprar su identidad digital. Como recordatorio, el nombre de dominio de este sitio es socialismo.herramientas .

Para empezar, ve a cloudflare.com y cree una cuenta si aún no la tiene. Después de registrarse, ahora debería tener la opción de comprar un nombre de dominio:

En junio de 2020, el botón para comprar un dominio tiene este aspecto.

Puede escribir su nombre de dominio, incluido su dominio de primer nivel . Esto es .com, .biz, .org, .tools, etc. Existen montones de los dominios de nivel superior, y si no está seguro de cuál quiere, déjelo fuera y vea lo que sugiere Cloudflare. Para divertirnos, digamos que estamos ayudando a Albuquerque DSA a configurar su sitio. Me gusta el TLD .group, así que lo elegí. Esto es lo que me mostrará Cloudflare:

Seleccione «comprar» y complete el proceso de compra. Se le pedirá su dirección e información de contacto: esta información no es pública. Cloudflare tiene algo llamado privacidad de WHOIS activado de forma predeterminada, por lo que si alguien intenta buscar quién es el propietario de un dominio, no le mostrará nada. Se requiere que Cloudflare mantenga esta información con fines legales, así que téngalo en cuenta. Una vez que haya terminado, debería aparecer en su Tablero de Cloudflare así:

Mi panel de Cloudflare

Necesitamos hacer una cosa más con Cloudflare. Abra un documento de Bloc de notas abierto, necesitamos guardar una cadena de texto especial. Esto es lo que debe hacer:

Haga clic en su icono de usuario en la esquina superior derecha de la página y seleccione Mi perfil.

Haga clic en «API Tokens» y luego en el botón azul «Crear token»:

Elija Editar DNS de zona

Nota: este proceso exacto puede cambiar con el tiempo. Si algo parece estar mal, consulte la documentación de Cloudron.

Debajo Permisos: , agregue las siguientes dos entradas:
Zona> Zona> Leer
Zona> DNS> Editar

Debe tener un aspecto como este

Presione «Continuar al resumen» y luego «Guardar». Ahora, copie el token que aparece en la pantalla en algún lugar seguro. Puede copiarlo y pegarlo en el Bloc de notas y guardarlo como un archivo, o usar Notas adhesivas.

¡Construyamos tu VPS!

¡Ahora necesitamos un lugar para señalar ese nuevo y elegante nombre de dominio! Hay muchas opciones para elegir al seleccionar una empresa que le proporcione un VPS. Cloudron recomienda cuatro opciones que ofrecen una instalación sencilla con un solo clic. Amazon es una opción popular, pero que se joda Jeff Bezos.

Digital Ocean es lo que utilizo y es la siguiente opción más popular que ofrece instalación con un solo clic. También tiene una de las mejores interfaces de usuario disponibles, para facilitar la administración de sus recursos y compartirlos con otros.

Puede hacer clic Aquí para configurar una nueva cuenta de Digital Ocean con $ 100 en crédito. Una vez que tenga una cuenta, puede crear un Droplet. Una gota es el lindo término de Digital Ocean para VPS.

Haga clic en Crear> Gotas

Haga clic en «Marketplace» y busque y seleccione «Cloudron».
Deje «Básico» seleccionado y elija el tamaño de su Droplet. los absoluto mínimo desnudo es la gota de $ 10 / mes y no lo recomendaría a menos que realmente no tenga dinero. Si planea instalar más de dos o tres aplicaciones, especialmente si desea usar WordPress, le recomiendo encarecidamente que suba al plan de $ 15 que incluye 3 GB de RAM como mínimo. Si planea tener muchos usuarios (digamos, más de 100) y puede pagarlo, el plan de $ 40 al mes debería permitirle dormir tranquilo sabiendo que siempre tiene suficiente energía y RAM.

Recomiendo la gota de $ 20 / mes para comenzar, ya que proporciona un buen equilibrio que debería funcionar para la mayoría de los capítulos pequeños a medianos (siempre puede agrandar fácilmente su gota).

Captura de pantalla de la pantalla de creación de Digital Ocean Droplet

A continuación, elegirá una región de datos. Si está tratando de evitar la vigilancia por parte del gobierno seleccionando un país diferente, tengo malas noticias: es probable que no ayude. Por motivos de rendimiento, elija un centro de datos lo más cerca posible de sus miembros.

«¡Oye, espera, dijiste que esta guía nos ayudaría a evitar la vigilancia!»
Lo hice, porque te protegerá de abultar actividades de recolección. Las actividades de recolección masiva son como Google extrayendo su historial de búsqueda de datos de anuncios o el FBI emitiendo una orden de registro amplia para cualquiera que haya buscado «el comunismo es genial» en Facebook Messenger. El EFF tiene más información sobre este tema.

Pero esta no es una guía sobre cómo esconderse de los federales; hacerlo aumentaría drásticamente el costo y la complejidad de este proyecto tanto que no podría existir.

Si piratas informáticos con suficiente experiencia, como la NSA, GRU u otros, quieren obtener sus datos, lo harán. No transmita ni almacene nada que crea que podría usarse en su contra en una computadora. Una llamada de Signal, o mejor aún, una conversación en persona funciona bien cuando se trata de información confidencial.

De todos modos, volvamos a la configuración:

Salir VPC predeterminada blanco. Seleccione las casillas de verificación para IPv6 y Supervisión . IPv6 es una tecnología web más nueva y el monitoreo le permitirá ver gráficos bonitos en la interfaz web de Digital Ocean.

Opciones adicionales de Droplet

Ahora seleccione Contraseña y crear – y almacenar de forma segura en su administrador de contraseñas – esta contraseña. Esta contraseña permitirá que la persona que tenga acceso a ella acceder a todos los datos que almacena en línea. ¡Mantén esto seguro!

Configuración de autenticación de droplet

Deje todo lo demás como está.

¡Felicidades! ¡En unos momentos, su VPS estará construido y tendrá Cloudron listo para funcionar! Espere a que se complete el proceso de instalación antes de pasar al siguiente paso: configurar su nueva instalación de Cloudron.

Pin It on Pinterest