Skip to content

Commit

Permalink
final modifications
Browse files Browse the repository at this point in the history
  • Loading branch information
joergschultzelutter committed Jan 19, 2024
1 parent 3eb3257 commit 960978d
Show file tree
Hide file tree
Showing 2 changed files with 63 additions and 33 deletions.
40 changes: 36 additions & 4 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,3 +1,37 @@
# Port of the tk4-hercules dockerfile to Turnkey5, running on Alpine Linux
#
# Initial tk4-hercules author:
# Ken Godoy - skunklabz (https://github.com/skunklabz/tk4-hercules)
# Turnkey5 modifications & port to Alpine Linux:
# Joerg Schultze-Lutter (https://github.com/joergschultzelutter/tk5-hercules)
#
# run via docker run -dti -p3270:3270 -p8038:8038 tk5
#
# This is free and unencumbered software released into the public domain.
#
# Anyone is free to copy, modify, publish, use, compile, sell, or
# distribute this software, either in source code form or as a compiled
# binary, for any purpose, commercial or non-commercial, and by any
# means.
#
# In jurisdictions that recognize copyright laws, the author or authors
# of this software dedicate any and all copyright interest in the
# software to the public domain. We make this dedication for the benefit
# of the public at large and to the detriment of our heirs and
# successors. We intend this dedication to be an overt act of
# relinquishment in perpetuity of all present and future rights to this
# software under copyright law.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
# IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
# OTHER DEALINGS IN THE SOFTWARE.
#
# For more information, please refer to <http://unlicense.org/>

FROM alpine as builder

WORKDIR /tk5/
Expand All @@ -17,15 +51,13 @@ RUN rm -rf /tk5/hercules/darwin && \
FROM alpine
MAINTAINER jsl
LABEL version="1.00"
LABEL description="Tur(n)key Level 5 Version 1.00"
#LABEL description="OS/VS2 MVS 3.8j Service Level 8505, Tur(n)key Level 4- Version 1.00"
LABEL description="OS/VS2 MVS 3.8j Service Level 8505, Tur(n)key Level 5 Version 1.00"
WORKDIR /tk5/
COPY --from=builder /tk5/ .
VOLUME [ "/tk5/conf","/tk5/local_conf","/tk5/local_scripts","/tk5/prt","/tk5/dasd","/tk5/pch","/tk5/jcl","tk5/log" ]
VOLUME [ "/tk5/conf","/tk5/local_conf","/tk5/local_scripts","/tk5/prt","/tk5/dasd","/tk5/pch","/tk5/jcl","tk5/log", "tk5/tape" ]
RUN apk update && apk upgrade
RUN apk add gcompat libstdc++ bash libbz2
RUN cd /usr/lib && \
ln -s libbz2.so.1 libbz2.so.1.0

CMD ["/tk5/mvs"]
EXPOSE 3270 8038
56 changes: 27 additions & 29 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,48 +1,46 @@
# tk5-hercules

[![License: The Unlicense](https://img.shields.io/badge/License-Unlicense-blue.svg)](https://unlicense.org)

Port of skunklabz' [tk4-hercules](https://github.com/skunklabz/tk4-hercules) docker file to [MVS 3.8j with Turnkey Version 5.2](https://www.prince-webdesign.nl/tk5), now running on Alpine Linux

## Usage

- Run `docker run -ti -p 3270:3270 -p8038:8038 skunklabz/tk5-hercules`
- Use a browser to check on the system's status by visiting `http://127.0.0.1:8038`
- Boot startup will take approx. 60 seconds.
- Once the bootup is complete and you see the Turnkey boot screen, use e.g. `c3270 127.0.0.1:3270` for connecting to the local MVS instance.
- Total boot startup will take approximately 60 seconds.
- Once the bootup is complete and you see the Turnkey boot screen on the status page, use e.g. `c3270 127.0.0.1:3270` for connecting to the local MVS instance.


## Persistence
(copied from [tk4-hercules](https://github.com/skunklabz/tk4-hercules)'s documentation):

To run with persistence so that you don't lose your data after stopping the docker container please use the following command to start it up.

```
docker run -d \
--mount source=tk4-conf,target=/tk4-/conf \
--mount source=tk4-local_conf,target=/tk4-/local_conf \
--mount source=tk4-local_scripts,target=/tk4-/local_scripts \
--mount source=tk4-prt,target=/tk4-/prt \
--mount source=tk4-dasd,target=/tk4-/dasd \
--mount source=tk4-pch,target=/tk4-/pch \
--mount source=tk4-jcl,target=/tk4-/jcl \
--mount source=tk4-log,target=/tk4-/log \
--mount source=tk5-conf,target=/tk5/conf \
--mount source=tk5-local_conf,target=/tk5/local_conf \
--mount source=tk5-local_scripts,target=/tk5/local_scripts \
--mount source=tk5-prt,target=/tk5/prt \
--mount source=tk5-dasd,target=/tk5/dasd \
--mount source=tk5-pch,target=/tk5/pch \
--mount source=tk5-jcl,target=/tk5/jcl \
--mount source=tk5-log,target=/tk5/log \
--mount source=tk5-tape,target=/tk5/tape \
-p 3270:3270 \
-p 8038:8038 tk4
-p 8038:8038 tk5
```

### Description of persisted directories
- /tk4-/conf
- This is where the master configuration file tk4-.cnf is stored
- /tk4-/local_conf
- Scripts for initialization and unattended operations
- /tk4-/local_scripts
- There are 10 files located here that are meant for user applied modifications and are run after Hercules initialization, when operating in manual mode or after MVS 3.8j initialization when operating in unattended mode
- /tk4-/prt
- Used for simulated line printer devices
- /tk4-/pch
- Card punch devices output stored here
- /tk4-/dasd
- This contains all of the simulated CKD DASD volumes. Count key data or CKD is a direct-access storage device (DASD)
- /tk4-/jcl
- contains the SYSGEN Job Control Files
- /tk4-/log
- contains log files created during sysgen

| Directory | Description |
|----------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `/tk5/conf` | This is where the master configuration file `tk5.cnf` is stored |
| `/tk5/local_conf` | Scripts for initialization and unattended operations |
| `/tk5/local_scripts` | There are 10 files located here that are meant for user applied modifications and are run after Hercules initialization, when operating in manual mode or after MVS 3.8j initialization when operating in unattended mode |
| `/tk5/prt` | Used for simulated line printer devices |
| `/tk5/pch` | Card punch devices output stored here |
| `/tk5/dasd` | This contains all of the simulated CKD DASD volumes. Count key data or CKD is a direct-access storage device (DASD) | |
| `/tk5/jcl` | contains the SYSGEN Job Control Files |
| `/tk5/log` | contains log files created during sysgen |
| `/tk5/tape` | Used for simulated tape devices |

0 comments on commit 960978d

Please sign in to comment.