Tenga en cuenta que esta base de código ya no se mantiene. Para el sucesor, por favor vea myjekyllblog
MarkdownSite es una plataforma para alojar sitios web.
Las personas que desean alojadas sus sitios web ingresan a una URL GIT para su repositorio.
MarkdownSite descarga su repositorio y convierte cualquier cosa en public/ en un sitio web estático alojado en un subdominio aleatorio.
Cualquier cosa que MarkdownSite encuentre en site/ que es un archivo .md se representará como HTML.
Una vez que MarkdownSite descarga y construye el sitio web, se envía a uno o más servidores web y acepta el tráfico de Internet.
Puede usar MarkdownSite para alojar un sitio web.
Puede crear su propia versión de MarkdownSite para alojar tantos sitios web como desee en su propia infraestructura. Consulte el directorio devops/ para obtener instrucciones sobre cómo ejecutar una instancia en ejecución.
( Nota : ¡MarkdownSite está obteniendo un panel con cuentas de usuario! Se está desarrollando en este momento, por lo que si desea instalar MarkdownSite, debe usar Commit E927F46A7D2949C87D2DA3182C722486CFE3C4FB, o esperar hasta que el desarrollo del panel esté completo))
CGI contiene el programa Markdown :: CGI. Esto convierte los archivos de Markdown en HTML, y está instalado en los servidores web.
Manager-DB contiene el esquema de base de datos MarkdownSite y el código para MarkdownSite :: Manager :: DB, una interfaz de clase DBIX :: a la base de datos.
Manager es MarkdownSite :: Manager, una aplicación web basada en Mojolicious para enviar el repositorio y ver el estado de compilación. Esto contiene un trabajador de Minion que maneja la construcción y la implementación de los sitios web.
DevOps/Setup contiene una base de código Ansible para instalar servidores por su tipo de servidor, y la documentación lo explica.
DevOps/Config contiene una base de código Ansible que se puede mantener y extender: es una administración de configuración para una instancia activa de MarkdownSite.
DevOps/ contiene gráficos adicionales y diagramas de red,
Esta es una vista de ojo de pájaros de una configuración de tres nodos, sin servidor Insight.
TB de diagrama de flujo
Subgraph One [Nodo de panel]
A1 [Postgressql]
A2 [MarkdownSite :: Manager Daemon]
A3 [Nginx]
a1 <-markdownsite :: gerente :: db / minion-> a2
A3 -Hypnotoad PSGI -> A2
fin
Subgraph Two [Build Node]
B1 [Sitio web de Clone & Build]
B2 [MarkdownSite :: Gerente Worker]
B2 <-PSQL Private IP-> A1
fin
Subgraph Three [WebServer Node]
C1 [LightTPD]
C2 [Archivos estáticos]
C3 [Markdownsite :: CGI]
C1 <-Existe el archivo estático-> C2
C1 <-no existe ningún archivo-> C3
C3-Generar y almacenar la página HTML desde Markdown-> C2
fin
B1-Ansible SSH-> tres
Q [Usuario de Internet] <-Ver sitio web alojado-> C1
z [Usuario de MarkdownSite] <-Envíe Repo Git para alojamiento-> A3
MarkdownSite tiene un servidor adicional, información, que hace métricas y gráficos con Graphite, Grafana y Collectd.
Gracias por tomarse el tiempo de revisar este repositorio. Espero que la información aquí haya sido útil.