En esta entrada se explica como levantar una instancia de Misskey con Docker en un una Raspberry Pi 4, aunque sirve para cualquier sistema de otras arquitecturas. Se necesita tener Docker instalado aunque tampoco es necesario, pudiendo ejecutar el software directamente en el sistema nativo pero por seguridad y soporte lo utilizaremos.
Misskey es un programa escrito en JavaScript, nos brinda la posibilidad de crear una instancia propia para conectar nuestro ordenador y crearnos una cuenta en el Fediverso, la red social Federada que está basada en el protocolo ActivityPub, el Fediverso está compuesto de nodos que federan entre ellos; notas, estados y recursos necesarios para la comunicación entre los usuarios de las instancias. Al crear nuestra propia instancia estamos añadiendo un nodo a la red donde podremos compartirlo o usarlo con las cuentas que queramos crear.
Primeramente clonamos el repositorio de Misskey
con el tag que queremos compilar:
$ git clone --depth 1 --branch 12.119.0 https://github.com/misskey-dev/misskey
Con el sistema instalado y Docker funcionando, construimos la imagen usando la compilación cruzada, compilando de una arquitectura amd64
a otra distinta en el caso de la Pi4 aarch64
:
$ cd misskey && docker buildx build --platform aarch64 -t misskey .
Una vez finalice correctamente pasamos la imagen a la Pi4 guardándola o subiéndola a un registro de Docker propio:
$ docker save -o misskey.tar misskey
Y recuperamos la imagen en la instancia Docker de la Pi4:
$ docker load -i misskey.tar
Para montar el servicio podemos utilizar el siguiente docker-compose.yml
y ajustarlo a nuestras necesidades, en el se ejecutan tres contenedores: misskey, un postgres (que es el base de datos donde se almacena la información) y un índice redis:
version: '3.7'
services:
misskey:
image: misskey
container_name: misskey
hostname: misskey
restart: always
depends_on:
- redis
- postgres
expose:
- 3000
volumes:
- ./files:/misskey/files
- ./config:/misskey/.config:ro
networks:
misskeynet:
postgres:
image: postgres:9.6
container_name: postgres-misskey
hostname: postgres-misskey
restart: always
shm_size: 384M
volumes:
- ./pg_data:/var/lib/postgresql/data
- ./pg_backups:/pg_backups
environment:
- POSTGRES_USER=misskey
- POSTGRES_PASSWORD=password
- POSTGRES_DB=misskey
command: >
-c max_parallel_workers_per_gather=4
-c shared_buffers=384MB
-c max_connections=30
expose:
- 5432
networks:
misskeynet:
redis:
image: redis
container_name: redis-misskey
hostname: redis-misskey
restart: always
volumes:
- ./redis:/data
expose:
- 6379
networks:
misskeynet:
networks:
misskeynet:
Generamos la configuración de misskey en el archivo config
donde se encuentre el compose y levantamos el servicio:
$ docker-compose up -d
Ya podemos conectarnos a nuestra instancia en la ruta http://misskey:3000
, comentar que es recomendable repasar la configuración antes de arrancar ya que se generan datos en el almacenamiento, también usar un servidor proxy como nginx
con el dominio correspondiente y certificados ssl si se va a poner en producción.
El frontend de Misskey tiene un buen diseño y UX además el backend en JavaScript es mucho más rápido que en otros lenguajes. Hasta aquí la entrada, nos leemos por las redes federadas como este blog 😉
Comments
No comments yet. Be the first to react!