Docker container for Aranym running FreeMint
192
Customized EasyAraMint package (highly recommended package to download for quick start setup!) and more (including Dockerfile) available at:
Docker hub link: https://hub.docker.com/r/goodoldtos/aranym
A demonstration video is available on You Tube for a Quick Start.
It's a Docker container running Aranym. You connect to Aranym via a X11 VNC client such as TightVNC Viewer. It comes with a FreeMint install with many things such as network, SSH server already setup on Mint.
Please note this section is no longer required as container should automatically download Aranym data. You should go directly to next section (Create docker-compose file).
Aranym data and configuration is expected to be found in /aranym folder in container. This folder shall be mapped to some host folder, e.g. /home/docker/aranym. Make sure docker user has full access to this folder.Expected content is available at aranym_data on goodoldtos.com or aranym_data on free.fr.
So typically open a terminal to your docker host,, create a folder for sharing data with container and get this archive (first link should be faster):
mkdir -p /some/path
cd /some/path
wget https://vision.goodoldtos.com/download/aranym_data.tar.xz
-or-
wget http://vision.atari.org/download/aranym_data.tar.xz
And then extract the contents:
tar -xvf aranym_data.tar.xz
Then you can delete aranym_data.tar.xz
In the extracted folder, you will find mainly:
| Element | Location (in container) | Description |
|---|---|---|
| config | . | Configuration file used by Aranym |
| change_vnc_pass.txt | . | Instructions to change VNC password |
| host_fs | . | Host FS folder to enable easy share between FreeMint and Docker host. Contains many GEM applications. |
| fvdi.sys | host_fs/xsys | FreeMint system file to define screen resolution of Atari machine. Dynamically generated by container prior to start Aranym. It is a symlink from c:\fvdi.sys |
| first_setup.sh | host_fs/xsys | Script started at first boot to let user define keyboard layout for FreeMint and configure SSH server. It is a symlink from/usr/sbin/first_setup.sh in D: drive. |
| emutos-aranym.img | emutos-aranym-1.2.1 | Emutos file for Aranym (referred as it by config file) |
| easymint_c.img | easymint | C: drive for Atari machine (FreeMint OS basically) |
| easymint_d.img | easymint | D: drive for Atari machine (Unix stuff basically) |
| change_img.txt | easymint | Instructions to regenerate C: drive as an img file |
| changes.txt | easymint | List of changes compared to original EasyAraMint files provided here |
I DO recommend you download the customized EasyAraMint package. You can then customize it to your needs but at least you have some default configuration to work with.
Unless you need to customize the Docker image, you should simply adapt the following docker-compose file to your needs:
version: "3.9"
services:
aranym:
container_name: aranym
image: goodoldtos/aranym
restart: on-failure:1
ports:
- 5900:5900
- 22000:22000
environment:
- TZ=Europe/Paris
- VNC_KEYBOARD=fr
- ARANYM_RESOLUTION=1680x960x32
- ARANYM_MODE=JIT
- ARANYM_SSH=22000
- ARANYM_FASTRAM=512
- ARANYM_ID=10 # optional, last digit of IP address, 2 if not present
cap_add:
- NET_ADMIN
devices:
- /dev/net/tun
volumes:
- /mnt/xdata/docker_data/bck/aranym/data:/aranym
# Following volumes are optional, make sense if you want to connect to some shared NFS/CIFS folder available on the host
# Available folders created on the container are:
# /mnt/photo
# /mnt/video
# /mnt/music
# /mnt/data
# /mnt/extra
# Examples:
# - /mnt/nas/photo:/mnt/photo
# - /mnt/nas/video:/mnt/video
# - /mnt/nas/documents:/mnt/data
Some explanations:
ports:
- 5900:5900
- 22000:22000
Here you may need to change the first 5900 or 22000 ports. 5900 is the port number to use for VNC connection; 22000 is the port number to use to connect to FreeMint from a SSH client within the container.
| Environment variable | Description | Defaut value |
|---|---|---|
| VNC_KEYBOARD | This is the keyboard layout to use for X11 VNC session. Make sure you use the same on FreeMint (you will be prompted in Mint at first start) | None |
| ARANYM_RESOLUTION | This is the display size of the X11 client area, basically the GEM desktop resolution in format widthxheightxplanes. It might be adjusted by container to make sure consistent values are used. Note that X11 VNC session is hard-coded to use 16 bitplanes to reduce network bandwidth; however Atari machine may be using any valid number of planes. | 1680x1050x16 |
| ARANYM_MODE | Mode for Aranym. Could be JIT or MMU. Any other value will start Aranym in normal mode. | JIT |
| ARANYM_FASTRAM | Amount of Fast RAM, in MB, for the Atari machine. | 256 |
| ARANYM_ID | ID for this virrtual Atari machine. This ID will be used as last digit of the IP address. | 10 |
cap_add:
- NET_ADMIN
devices:
- /dev/net/tun
Don't change these; they are required to setup network in container to enable FreeMint to be accessible from your local network.
volumes:
- /mnt/xdata/docker_data/bck/aranym/data:/aranym
You have to change the left part "/mnt/xdata/docker_data/bck/aranym/data" to some folder on your Docker host defined at previous step.
Two passwords are required:
They are set to "aranym" (without quotes) by default. For security considerations, you might want to change them:
Once docker-compose file is customized, you can start the container either via Portainer or by docker-compose (from folder where docker-compose.yml file is located):
docker compose up -d
Look at Docker logs (docker logs -f aranym), you should see that container is automatically downloading Aranym data (C, D drives and host_fs). If an error occurs: Download aranym_data on free.fr or aranym_data on goodoldtos.com and extracted it into docker host folder mapped to /aranym container volume.
Using a VNC client (e.g. TightVNC Viewer), connect to the IP of the host running Docker and port 5900 (if you did not change it in docker-compose file). Use a SSH client such as Putty to open a SSH session to Mint.
This remark is no longer valid as container restart has been fixed
Upon container exit (NOT X11 VNC session exit), typically by initiating a shutdown from Mint, you should delete the container as well or next start will lead to errors on X11 stack. Typically, you have to run the following on Docker host, from docker-compose file folder:
docker compose down
If you have using Portainer, just remove the container from Portainer GUI.
If you close the X11 client, you can restart it later on and you will find your FreeMint environment in same state as you left it.
Copyright (c) 2023 Good Old TOS
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
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 OR COPYRIGHT HOLDERS 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.
Content type
Image
Digest
sha256:8db9f7a74…
Size
236.4 MB
Last updated
almost 3 years ago
docker pull goodoldtos/aranym