Added Magicka and some more networks

This commit is contained in:
Deon George 2018-11-14 00:06:38 +11:00
parent 4fa2a9205d
commit 87835dfd74
No known key found for this signature in database
GPG Key ID: 7670E8DC27415254
7 changed files with 128 additions and 9 deletions

View File

@ -36,4 +36,4 @@ Just press the *Connect* button below, and create an account. The first time you
There is some useful terminal emulation software available on the Net.
I'm a MAC use so I use [SyncTERM](http://syncterm.bbsdev.net) - it works a treat!
I'm a MAC user so I use [SyncTERM](http://syncterm.bbsdev.net) - it works a treat!

View File

@ -40,4 +40,4 @@ Storage Driver: overlay2
Native Overlay Diff: true
```
Now, you can run [my Mystic BBS](/2018/09/01/mysticbbs/) image or [my MBSE BBS](/2018/09/04/mbse) image.
Now, you can run [my Mystic BBS](/2018/09/01/mysticbbs/) image or [my MBSE BBS](/2018/09/04/mbse) image. If you need some more info about Docker, you might find [this](/2018/10/30/dockerinfo) useful.

View File

@ -0,0 +1,65 @@
---
title: About Docker
date: 2018-10-30 22:43:01
thumbnail: /images/docker.png
comments: false
categories:
- Docker
---
Getting started with docker may seem complex, but here is some info that might help you get started.
## What is Docker
Docker is "like" virtualisation in that your application runs in it's own space, and thinks it is the only application running in that space (as if it were on a physical machine).
In reality, Docker is process separation - it is your application running on the same host as docker is running, but docker puts it in a jail.
## Docker Components (or Terms)
* Image - represents an application, specifically a version of an application. When an image is built with `docker build` it has everything it needs for the application to run. All dependencies (libraries, binaries, utilities, etc) are packaged up into the image.
Generally, you use an image to run one or more containers of that image - but you don't "upgrade" the application inside the image, instead you build a new image. So its not uncommon to have images of application:v1, and application:v1.1.
* Container - represents a running instance of an image - like a "virtual machine". You can run many containers of the same image, and it would be like running many "instances" of the application on the same computing cluster.
By design, containers are intended to be created and destroyed often. In fact, when you get into using "clustering" (Kubernetes, Docker Swarm, etc) - your containers are often destroyed as they float between physical machines.
Because of this, there are important considerations relating to the data inside your container - if you need that data to persist between invocations of a container.
* Registry - this is an "App Store" of Images.
## Why Docker
Docker is great for many reasons:
1. Your applications run in a jail, and the only way in the jail is via a network connection. Well, that is not completely true, if you are logged into the host that is running your docker container, then you can "attach" to the console. For the most part however, applications are accessed via a network connection.
Inside the jail, applications can connect to the outside world (assume firewall rules don't restrict this), but they cannot connect to the host's file systems unless the container was given access to those filesystems when it was created.
The beauty of this design is, if the network application you are running is compromised by a hacker - then the hacker is inside the jail as well. The only damage they can do is to the data seen inside the jail, and being a good system admin, you backup daily right?
2. Your application image and it's corresponding data is portable. You can pick it up and drop it on another host, start the container and it will be none the wiser. (It will be as if you stopped the application and then started it - it has no idea that it was moved to a separate host.)
3. Application Developers/Vendors will generally create your application image - its like they do the install for you, and when you start your container (based on that image) - you start from "setup". There is NO installation time required once an image is created (creating the image is by definition installing the application). So it is super quick to "spin up" another copy of an application.
# Things to know when using containers
1. Where is "data" stored? Data adds personality to an application, and for it to persist you'll need to make sure that those data files are stored in a specific place. The container builder should provide you with those instructions when you first use the container, or you can make "known" data persistent points by starting your image with
`-v /path/on/the/host:/path/inside/the/container`.
2. What ports do you need to "join to" to access your container? While a webserver in a container might be listening for requests on TCP port 80, that needs to be mapped to from the host - and it could be port 80 on the host. IE: Host port 80 -> Container port 80. If you have many containers running web applications, then you'll need many mappings from the host - however, the host will need to use unique ports. EG: Host port 80 -> Container A port 80. Host port 81 -> Container B port 80, etc. This is done with
`-p host_port:container_port`.
3. In some cases, containers use shell variables to help with configuration. Again the container builder should provide you with information on what variables are required or useful. They are passed to the container by
`-e VAR=value`
4. Starting containers, is easy, the syntax is `docker run ...`. When it starts, it will give you a Container ID. If you don't have the necessary image yet, docker will "pull" it from a registry automatically.
5. Stopping containers is easy, the syntax is `docker stop <CONTAINER ID>`.
6. Deleting containers is `docker rm <CONTAINER ID>`.
7. Listing running containers is `docker ps`. The output looks like this:
```
deon@p-1-1:~ $ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
459a9fef84c6 debian:deb "exec/sbbs" 2 days ago Up 2 days 0.0.0.0:13023->23/tcp amazing_elion
e793d6d33f52 leenooks/mbse:1.0.7.9 "/sbin/init /usr/bin…" 2 days ago Up 2 days 80/tcp, 60177/tcp, 60179/tcp, 0.0.0.0:24554->24554/tcp, 0.0.0.0:11022->22/tcp, 0.0.0.0:11023->23/tcp bbs_mbse.1.909vch9fbnqlk9iz3owv0qzu5
0f078a15af0b registry.leenooks.net/leenooks/mysticbbs:1.12a39-armv7l-extras "/sbin/init start" 2 days ago Up 2 days 0.0.0.0:10022->22/tcp, 0.0.0.0:10023->23/tcp, 0.0.0.0:24555->24554/tcp bbs_mystic.1.wn6bqs707bx37m40mltbsohyf
97dc2a415f89 nginx:latest "nginx -g 'daemon of…" 2 days ago Up 2 days 0.0.0.0:80->80/tcp nginx_web.298qvanxdy7b4xxps4oqrjlue.ndkntwg19ahrszzbqji5bjthy
```

49
source/_posts/magicka.md Normal file
View File

@ -0,0 +1,49 @@
---
title: Installing Magicka BBS in Docker
date: 2018-11-14 23:37:50
thumbnail: /images/logo-magicka.png
categories:
- Docker
- Magicka BBS
tags:
- Docker
- BBS
---
The following is the instructions on how to install [Magicka BBS](http://magickabbs.com) in a Docker Container. These instructions have been compiled using Docker on a Raspberry Pi. (You need to have docker installed first, and [this](/2018/09/02/docker) might help you get started.)
My image is available in my Docker Registry and can be obtained by using `docker pull registry.leenooks.net/bbs/magicka:0.12-alpha-armv7l`. (There is an x86_64 image too, just change armv7l to x86_64.) You can use this image to run a container using `docker run`, or you can use it in a *swarm*, if you have multiple hosts. I actually use Docker Swarm myself.
**NOTE**: Its important that you separate "data" from the "application" and provide a persistent storage path for your container (otherwise if you recreate your container, you'll loose your data!). On my setup my container persistent storage is storage in `/srv/docker/[CONTAINER]/data`. In the parent path (/srv/docker/[CONTAINER]) I keep my scripts and tools for managing the container and starting it - and since I use Docker Swarm, that is where my `.yml` file is.
## Preparation
1. Download your favourite Linux OS and install
2. Install Docker
3. Pull the Magicka Image with
```
docker pull registry.leenooks.net/bbs/magicka:0.12-alpha-armv7l
```
4. Create your persistent storage destination
```
mkdir -p /srv/docker/magicka/data
```
## Starting
5. Start your container with
```
docker run -d --rm -p 23:2023 -p 22:2024 -p 80:8080 -p 24554:24554 -v /srv/docker/magicka/data:/opt/magicka/data --name=magicka registry.leenooks.net/bbs/magicka:0.12-alpha-armv7l
```
The first time the container starts, it will create sub directories and fill your data directory. You might need to then refer to the Magicka documentation to configure it for your environment.
The options on this command line are:
<table><tr><th style="width: 20%">Option</th><th>Reason</th></tr><tr><td>-d</td><td>Run the container in the background</td></tr><tr><td>-p</td><td>Port mapping from the host:container. So using 23:2023 will mean any incoming connections on the *host* to port 23 will be sent to the *container* on port 2023. This will enable you to telnet into your Magicka.</td></tr><tr><td>-rm</td><td>Means the container will be destroyed when it is stopped. (No problem if *-v* is used below.</td></tr><tr><td>-v</td><td>Volume mapping from the host:container. A value of /srv/docker/magicka/data:/opt/magicka/data means that any data in the *container* written to /opt/magicka/data, will be stored on the *host* /srv/docker/magicka/data.</td></tr></table>
There are other options you may prefer to use, for example, instead of `--rm`, you may want to use `--restart=always`.
## Configuration
6. Now your container is running, you should configure it to your liking by editing the files in data/etc/magicka/...
If you need any help, [login](/2018/08/31/chinwag/) to my BBS and send me a message, or if you use another BBS, or a Sysop of a BBS and connected to one of the networks I'm connected to, you can send me a Netmail. See the list of [networks](/networks) that I'm already connected to.

View File

@ -18,10 +18,10 @@ My image is available in my Docker Registry and can be obtained by using `docker
## Preparation
1. Download your favourite Linux OS and install
2. Install Docker
3. Pull the MBSE container with
3. Pull the MBSE Image with
```
docker pull registry.leenooks.net/leenooks/mbse:1.0.7.8
docker pull registry.leenooks.net/leenooks/mbse:1.0.7.9
```
4. Create your persistent storage destination
@ -33,7 +33,7 @@ My image is available in my Docker Registry and can be obtained by using `docker
5. Start your container with
```
docker run -d --rm -p 10023:23 -v /srv/docker/mbse/data:/opt/mbse/data --name=mbse leenooks/mbse:1.0.7.8
docker run -d --rm -p 10023:23 -v /srv/docker/mbse/data:/opt/mbse/data --name=mbse registry.leenooks.net/leenooks/mbse:1.0.7.9
```
The first time the container starts, it will create sub directories and fill your data directory.

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

View File

@ -6,12 +6,17 @@ My BBS's are a member of the following networks.
| Network | Address |
| - | - |
| DoreNet | 44:61/1 [*] |
| FidoNet | 3:633/509 |
| fsxNet | 21:2/116 |
| microNet | 618:510/10 |
| GameNet | 32:10/1 [*] |
| LinuxNet | 110:40/2 [*] |
| microNet | 618:510/10 [*] |
| piNet | 314:314/180 |
| LinuxNet | 110:40/2 |
| Sysop Tech Net | 111:8613/1 |
| tqwNet | 1337:2/101 |
| RetroNet | 80:774/87 |
| Sysop Tech Net | 111:8613/1 [*] |
| tqwNet | 1337:2/101 [*] |
[*] I hub for these networks, so you can connect to join these networks and also get some echos from me!
If you want to send me a message, address it to `deon` at one of those network addresses above.