Added some missing required config files and an updated README
This commit is contained in:
parent
0eaaa57e8a
commit
631be5fb5c
102
README.md
102
README.md
@ -1,62 +1,86 @@
|
|||||||
# viewdatahost
|
Installing vBBS
|
||||||
A simple viewdata service host
|
|
||||||
|
|
||||||
This is a viewdata host program that attempts to closely emulate the operation of the original GPO/BT Prestel service.
|
* TL;DR - use docker :)
|
||||||
This is so that original period third-party programs and hardware can be used again.
|
|
||||||
|
|
||||||
Code is written in php, because it was easiest for me to get up and running quickly using libraries I
|
Figure out where you will install this - can be anywhere, call this *$APP_DIR*
|
||||||
already had. No comments on this choice of language please.
|
|
||||||
|
|
||||||
You might find https://github.com/irrelevantdotcom/asterisk-Softmodem useful for creating a dial-up port for this.
|
** Setup a MYSQL/MARIADB database
|
||||||
|
For docker, you can use the mariadb:latest image:
|
||||||
|
|
||||||
|
```docker
|
||||||
|
docker run --rm -itd --name=vbbs_db \
|
||||||
|
-v ${APP_DIR}/database:/var/lib/mysql \
|
||||||
|
-e MYSQL_ROOT_PASSWORD=secret -e MYSQL_USER=user -e MYSQL_PASSWORD=password -e MYSQL_DATABASE=database mariadb:latest
|
||||||
|
```
|
||||||
|
|
||||||
Requires vv.class.php - viewdata viewer library.
|
Check that docker started OK, it should look something like this (use `docker ps`):
|
||||||
https://github.com/irrelevantdotcom/viewdataviewer
|
|
||||||
|
|
||||||
Requires vvdatabase.class.php - viewdata database library
|
```
|
||||||
https://github.com/irrelevantdotcom/vvdb
|
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
|
||||||
|
fc2f32aaaa55 mariadb:10.3 "docker-entrypoint.s…" 4 seconds ago Up 3 seconds 3306/tcp vbbs_db
|
||||||
|
```
|
||||||
|
|
||||||
Requires you create a config/config.php file -
|
** Clone the git repository
|
||||||
|
|
||||||
$config = array();
|
```bash
|
||||||
|
mkdir -p ${APP_DIR}/composer
|
||||||
|
mkdir -p ${APP_DIR}/app
|
||||||
|
cd ${APP_DIR}/app
|
||||||
|
git clone http://dev.leenooks.net/bbs/vbbs.git .
|
||||||
|
```
|
||||||
|
|
||||||
$config['database'] = 'vtext_pages';
|
(chown -R 33:33 ${APP_DIR}/composer ${APP_DIR}/app dirs if you use my docker image)
|
||||||
$config['dbserver'] = 'localhost';
|
|
||||||
$config['dbuser'] = '*username*';
|
|
||||||
$config['dbpass'] = '*password*';
|
|
||||||
|
|
||||||
$config['service_id'] = 1; // service and varient within database
|
** Setup the application
|
||||||
$config['varient_id'] = 1;
|
cd ${APP_DIR}/app
|
||||||
|
cp .env.example to .env
|
||||||
|
|
||||||
$config['port'] = 6502;
|
edit and update the APP_PORT (something above 1024) and DB_* database entries:
|
||||||
|
|
||||||
|
```config
|
||||||
|
APP_PORT=6502
|
||||||
|
...
|
||||||
|
DB_CONNECTION=mysql
|
||||||
|
DB_HOST=vbbs_db
|
||||||
|
DB_PORT=3306
|
||||||
|
DB_DATABASE=database
|
||||||
|
DB_USERNAME=user
|
||||||
|
DB_PASSWORD=password
|
||||||
|
```
|
||||||
|
|
||||||
|
** Setup PHP
|
||||||
|
You're PHP will need SOCKETS and PCNTL and you'll need COMPOSER as well installed.
|
||||||
|
|
||||||
Current status
|
If you are using docker, you can use my PHP image, which has all three.
|
||||||
|
|
||||||
Browsing works fine.
|
You need to run composer, and migrate to test connectivity to the database and seed it - you can do that in a single step
|
||||||
Frame types "t"erminate and "i"nformation(default) work as expected.
|
|
||||||
|
|
||||||
|
```docker
|
||||||
|
docker run --rm -u www-data -itd --link=vbbs_db --name=vbbs \
|
||||||
|
-v ${APP_DIR}/app/php:/var/www/html \
|
||||||
|
-v ${APP_DIR}/composer:/var/www/.composer/cache \
|
||||||
|
--entrypoint=/bin/bash registry.leenooks.net/leenooks/php:7.2-fpm-plus -c "composer install; php artisan migrate --seed"
|
||||||
|
```
|
||||||
|
|
||||||
No Editor - you will need to add frames to the database using other methods
|
Now, run the app, you need to map it from the host port (can be anything), into the container onto APP_PORT that you specified above.
|
||||||
No Users - default user parameters are used pending login process being writen
|
|
||||||
Response Frames - basis is done, but do not work correctly yet.
|
|
||||||
|
|
||||||
|
For example, if you use 6502 for both:
|
||||||
|
|
||||||
Roadmap
|
```docker
|
||||||
|
docker run --rm -u www-data -itd --link=vbbs_db --name=vbbs -p 6502:6502 \
|
||||||
|
-v ${APP_DIR}/app/php:/var/www/html \
|
||||||
|
-v ${APP_DIR}/composer:/var/www/.composer/cache \
|
||||||
|
--entrypoint=/bin/bash registry.leenooks.net/leenooks/php:7.2-fpm-plus -c "php artisan server"
|
||||||
|
```
|
||||||
|
|
||||||
create (working) routines for accepting user input.
|
If you want to watch is on the console, you can remove the `d` from the option or use `docker attach`
|
||||||
- used for everything from response frames to editor
|
|
||||||
|
|
||||||
implement modular extensions for other frame types and active pages
|
If it started OK, you should see it running (use `docker ps`):
|
||||||
- allows for
|
|
||||||
|
|
||||||
implement login process module
|
|
||||||
|
|
||||||
implement user management
|
|
||||||
|
|
||||||
implement editor
|
|
||||||
|
|
||||||
other functions, see e.g. featues of Autonomic Host (Gnome at Home) functions??
|
|
||||||
|
|
||||||
|
```
|
||||||
|
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
|
||||||
|
9916ee39d9b7 registry.leenooks.net/leenooks/php:7.2-fpm-plus "/bin/bash -c 'php a…" 13 minutes ago Up 13 minutes 22/tcp, 9000/tcp, 0.0.0.0:6502->6502/tcp vbbs
|
||||||
|
```
|
||||||
|
* Voila!
|
||||||
|
|
||||||
|
Use your videotex terminal and connect to your host on the APP_PORT that you used (eg: 6502)
|
||||||
|
36
config/view.php
Normal file
36
config/view.php
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| View Storage Paths
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Most templating systems load templates from disk. Here you may specify
|
||||||
|
| an array of paths that should be checked for your views. Of course
|
||||||
|
| the usual Laravel view path has already been registered for you.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'paths' => [
|
||||||
|
resource_path('views'),
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Compiled View Path
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This option determines where all the compiled Blade templates will be
|
||||||
|
| stored for your application. Typically, this is within the storage
|
||||||
|
| directory. However, as usual, you are free to change this value.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'compiled' => env(
|
||||||
|
'VIEW_COMPILED_PATH',
|
||||||
|
realpath(storage_path('framework/views'))
|
||||||
|
),
|
||||||
|
|
||||||
|
];
|
18
routes/api.php
Normal file
18
routes/api.php
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| API Routes
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Here is where you can register API routes for your application. These
|
||||||
|
| routes are loaded by the RouteServiceProvider within a group which
|
||||||
|
| is assigned the "api" middleware group. Enjoy building your API!
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#Route::middleware('auth:api')->get('/user', function (Request $request) {
|
||||||
|
# return $request->user();
|
||||||
|
#});
|
16
routes/web.php
Normal file
16
routes/web.php
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Web Routes
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Here is where you can register web routes for your application. These
|
||||||
|
| routes are loaded by the RouteServiceProvider within a group which
|
||||||
|
| contains the "web" middleware group. Now create something great!
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#Route::get('/', function () {
|
||||||
|
# return view('welcome');
|
||||||
|
#});
|
Reference in New Issue
Block a user