Show HN: A messageboard reminiscent of the early internet (I think)

https://github.com/Ferryistaken/messageboard

Messageboard

live demo: message.alessandroferrari.live

This project uses simple Bash scripts to create a messageboard and display system, which can be run inside a Docker container. The system consists of a message server script (server.sh) that listens for and logs messages, a web server script (web.sh) that serves the messages through a simple web interface, and a backup script (backup.sh) that performs daily backups of the messages.

Quick Start

  1. Clone the Repository:

    git clone https://github.com/Ferryistaken/messageboard
    cd messageboard
  2. Build the Docker Container:

    docker build -t messageboard .
  3. Run the Container:

    docker run -dp 6969:6969 -dp 1915:1915 messageboard

    This command runs the Docker container and maps the ports 6969 (web server) and 1915 (message server) to the host.

  4. Access the Messageboard:

    • Send messages to the server: nc [Your-Container-IP] 1915
    • View messages via a web browser: http://[Your-Container-IP]:6969

Components

  • web.sh: Serves logged messages along with custom header and footer via HTTP on port 6969.
  • server.sh: Listens on port 1915 for incoming messages, logs them to a file, and supports basic interaction.
  • backup.sh: Runs daily to backup the messages log to a dedicated backup directory.

Customization

  • Default ports and file paths can be customized using environment variables (PORT for web.sh and PORT_SERVER for server.sh).
  • Header and footer text can be modified in header.txt and footer.txt respectively.

Logs and Backups

Logs are stored in /app/messageboard/log/messages.log and daily backups are stored in /app/messageboard/log/backups.

{
"by": "ferryistaken",
"descendants": 0,
"id": 40218599,
"score": 4,
"text": "I got intrigued with &quot;early internet&quot; style websites and found: <a href=\"https:&#x2F;&#x2F;nightfall.city&#x2F;classifieds&#x2F;\" rel=\"nofollow\">https:&#x2F;&#x2F;nightfall.city&#x2F;classifieds&#x2F;</a>, a service that lets people send messages to a webserver using netcat, so I remade that same service using two bash scripts, and am currently hosting a demo at:<p><a href=\"https:&#x2F;&#x2F;message.alessandroferrari.live&#x2F;\" rel=\"nofollow\">https:&#x2F;&#x2F;message.alessandroferrari.live&#x2F;</a><p>I also made a Docker image for people to run this service on their own: <a href=\"https:&#x2F;&#x2F;github.com&#x2F;Ferryistaken&#x2F;messageboard\">https:&#x2F;&#x2F;github.com&#x2F;Ferryistaken&#x2F;messageboard</a><p>You can send messages on my board by running:<p>nc serveo.net 1915\nave\n&lt;message&gt;\n.",
"time": 1714527624,
"title": "Show HN: A messageboard reminiscent of the early internet (I think)",
"type": "story",
"url": "https://github.com/Ferryistaken/messageboard"
}
{
"author": "Ferryistaken",
"date": null,
"description": "A Dockerized messageboard service that uses two bash scripts as backend and netcat to communicate. - Ferryistaken/messageboard",
"image": "https://opengraph.githubassets.com/df7d0a2cdacd7edbd169b5122045d7cf1348adf413536df92e01c9679976ad22/Ferryistaken/messageboard",
"logo": "https://logo.clearbit.com/github.com",
"publisher": "GitHub",
"title": "GitHub - Ferryistaken/messageboard: A Dockerized messageboard service that uses two bash scripts as backend and netcat to communicate.",
"url": "https://github.com/Ferryistaken/messageboard"
}
{
"url": "https://github.com/Ferryistaken/messageboard",
"title": "GitHub - Ferryistaken/messageboard: A Dockerized messageboard service that uses two bash scripts as backend and netcat to communicate.",
"description": "Messageboard live demo: message.alessandroferrari.live This project uses simple Bash scripts to create a messageboard and display system, which can be run inside a Docker container. The system consists of a...",
"links": [
"https://github.com/Ferryistaken/messageboard"
],
"image": "https://opengraph.githubassets.com/df7d0a2cdacd7edbd169b5122045d7cf1348adf413536df92e01c9679976ad22/Ferryistaken/messageboard",
"content": "<div><article><p></p><h2>Messageboard</h2><a target=\"_blank\" href=\"https://github.com/Ferryistaken/messageboard#messageboard\"></a><p></p>\n<blockquote>\n<p>live demo: <a target=\"_blank\" href=\"https://message.alessandroferrari.live/\">message.alessandroferrari.live</a></p>\n</blockquote>\n<p>This project uses simple Bash scripts to create a messageboard and display system, which can be run inside a Docker container. The system consists of a message server script (<code>server.sh</code>) that listens for and logs messages, a web server script (<code>web.sh</code>) that serves the messages through a simple web interface, and a backup script (<code>backup.sh</code>) that performs daily backups of the messages.</p>\n<p></p><h2>Quick Start</h2><a target=\"_blank\" href=\"https://github.com/Ferryistaken/messageboard#quick-start\"></a><p></p>\n<ol>\n<li>\n<p><strong>Clone the Repository:</strong></p>\n<div><pre>git clone https://github.com/Ferryistaken/messageboard\n<span>cd</span> messageboard</pre></div>\n</li>\n<li>\n<p><strong>Build the Docker Container:</strong></p>\n<div><pre>docker build -t messageboard <span>.</span></pre></div>\n</li>\n<li>\n<p><strong>Run the Container:</strong></p>\n<div><pre>docker run -dp 6969:6969 -dp 1915:1915 messageboard</pre></div>\n<blockquote>\n<p>This command runs the Docker container and maps the ports 6969 (web server) and 1915 (message server) to the host.</p>\n</blockquote>\n</li>\n<li>\n<p><strong>Access the Messageboard:</strong></p>\n<ul>\n<li>Send messages to the server: <code>nc [Your-Container-IP] 1915</code></li>\n<li>View messages via a web browser: <code>http://[Your-Container-IP]:6969</code></li>\n</ul>\n</li>\n</ol>\n<p></p><h2>Components</h2><a target=\"_blank\" href=\"https://github.com/Ferryistaken/messageboard#components\"></a><p></p>\n<ul>\n<li><strong>web.sh</strong>: Serves logged messages along with custom header and footer via HTTP on port 6969.</li>\n<li><strong>server.sh</strong>: Listens on port 1915 for incoming messages, logs them to a file, and supports basic interaction.</li>\n<li><strong>backup.sh</strong>: Runs daily to backup the messages log to a dedicated backup directory.</li>\n</ul>\n<p></p><h2>Customization</h2><a target=\"_blank\" href=\"https://github.com/Ferryistaken/messageboard#customization\"></a><p></p>\n<ul>\n<li>Default ports and file paths can be customized using environment variables (<code>PORT</code> for <code>web.sh</code> and <code>PORT_SERVER</code> for <code>server.sh</code>).</li>\n<li>Header and footer text can be modified in <code>header.txt</code> and <code>footer.txt</code> respectively.</li>\n</ul>\n<p></p><h2>Logs and Backups</h2><a target=\"_blank\" href=\"https://github.com/Ferryistaken/messageboard#logs-and-backups\"></a><p></p>\n<p>Logs are stored in <code>/app/messageboard/log/messages.log</code> and daily backups are stored in <code>/app/messageboard/log/backups</code>.</p>\n</article></div>",
"author": "",
"favicon": "https://github.githubassets.com/favicons/favicon.svg",
"source": "github.com",
"published": "",
"ttr": 45,
"type": "object"
}