Thu. Sep 19th, 2024

GoBlog: Sistema de blogs gratuito de código abierto escrito en Go

By admin Jan 29, 2024

GoBlog es un sistema de blogs fantástico y fácil de usar escrito en lenguaje Go. Es de código abierto y de uso gratuito para cualquier persona. Una de las características sorprendentes de GoBlog es que utiliza una potente base de datos SQLite para almacenar la mayoría de los datos, como publicaciones, comentarios, menciones web, sesiones, etc. Se accede a la base de datos mediante la biblioteca Go mattn/go-sqlite3, lo que garantiza los datos se gestionan de manera eficiente y se recuperan con precisión.

Cada vez que inicia GoBlog, realiza una verificación detallada para ver si hay alguna migración de esquema que realizar en la base de datos. Esto garantiza que sus datos estén siempre actualizados y que pueda aprovechar al máximo las últimas funciones disponibles.

GoBlog es un sistema de blogs único que almacena archivos con un nombre que es el hash SHA-256 del archivo. Esta es una manera increíble de evitar la duplicación de datos y garantizar que todos los archivos sean únicos y fácilmente accesibles en cualquier momento. Además, el sistema está escrito de tal manera que es fácil de usar, incluso para aquellos con conocimientos técnicos limitados. Si eres un blogger experimentado o estás empezando, GoBlog es la solución perfecta para ti.

GoBlog está escrito por Jan-Lukas Else, un desarrollador de software de Alemania.

Características

  • Usuario único con múltiples blogs
  • Publicar, editar y eliminar publicaciones de Markdown usando Micropub o el editor basado en web
  • Editor con vista previa en vivo
  • Borradores, publicaciones privadas y no listadas.
  • Base de datos SQLite para almacenar publicaciones y datos.
  • Búsqueda de texto completo incorporada
  • Micropub con punto final de medios para cargas
  • Almacenamiento local para cargas o almacenamiento remoto a través de FTP o BunnyCDN
  • Cambio de tamaño y compresión automática de imágenes.
  • Cargas posibles a través del editor basado en web
  • Enviar y recibir menciones web
  • Comentarios basados ​​en menciones web
  • Autenticación independiente
  • Inicia sesión con tu propio blog como identidad en internet
  • Autenticación de dos factores
  • ActividadPub
  • Publicar publicaciones en Fediverse (Mastodon, etc.)
  • Comentarios basados ​​en ActivityPub
  • Fuentes web
  • Múltiples formatos de feed (.rss, .atom, .json, .min.rss, .min.atom, .min.json)
  • Feeds en cualquier página de archivo
  • Mapa del sitio
  • HTTPS automático usando Let's Encrypt
  • Servicio oculto Tor
  • Integración Tailscale para blogs privados con HTTPS
  • Almacenamiento en caché rápido en memoria para un rendimiento aún más rápido
  • Minificación automática de activos de HTML, CSS y JavaScript
  • Página de estadísticas con información sobre publicaciones.
  • Página de mapa con un mapa de todas las publicaciones con una ubicación
  • Las publicaciones pueden tener un gpx parámetro para incluir y mostrar una pista GPX
  • Opción para crear alias de publicaciones para redireccionamientos automáticos
  • Redirecciones usando expresiones regulares
  • Ganchos para ejecutar comandos personalizados en ciertos eventos
  • URL cortas con opción para un dominio corto independiente
  • Comando para comprobar si hay enlaces rotos
  • Comando para exportar todas las publicaciones a archivos Markdown

Rutas de administración

La mayoría de las configuraciones se pueden ajustar a través de la configuración. Pero para crear nuevas publicaciones, iniciar o cerrar sesión, ver notificaciones o consultar menciones web, existen rutas fijas (parcialmente configurables):

  • Acceso: /login
  • Cerrar sesión: /logout
  • Notificaciones: /notifications
  • Menciones web: /webmention
  • Comentarios: /comment

Algunas rutas son relativas al blog, por lo que deben agregarse a la ruta del blog:

  • Editor: /editor

Cómo instalar y ejecutar GoBlog

Se recomienda instalar GoBlog usando Docker (Compose). Simplemente puede extraer la última imagen de ghcr.io/jlelse/goblog:latest (imagen básica) o ghcr.io/jlelse/goblog:tools (para cuando quieras usar sqlite3, bash o curl en comandos de enlace) cuando hay actualizaciones. Esas imágenes se prueban y contienen todas las bibliotecas y herramientas necesarias.

Crea tu archivo de configuración (./config/config.yml) con inspiración de example-config.yml y crear un nuevo directorio de datos (./data). Para archivos estáticos, también puede crear un directorio en ./static.

Luego puedes usar Docker Compose para ejecutar GoBlog. Aquí hay un ejemplo docker-compose.yml archivo:

services:
goblog:
container_name: goblog
image: ghcr.io/jlelse/goblog:latest # or :tools
restart: unless-stopped # auto restart the container
volumes:
- ./config:/app/config # Config directory
- ./data:/app/data # Data directory, used for database, keys, uploads etc.
- ./static:/app/static # Static directory, if you want to publish static files
environment:
- TZ=Europe/Berlin # You timezone

Si no desea utilizar un proxy inverso (como Caddy o nginx), también puede publicar los puertos directamente desde el contenedor GoBlog. Recuerde habilitar https público en la configuración, para que GoBlog obtenga los certificados Let's Encrypt.

goblog:
container_name: goblog
...
ports:
- 80:80
- 443:443

Inicie el contenedor:

docker-compose up -d

Actualice el contenedor con una imagen más nueva:

docker-compose pull
docker-compose up -d

Licencia

  • licencia MIT

Recursos

Etiquetas

Blogging CMS Blog de código abierto Go language MIT Desarrollo web autohospedado basado en web Alemania

By admin

Related Post

Leave a Reply

Your email address will not be published. Required fields are marked *