Skip to content
A Docker image for Pharo Smalltalk. Especially suitable for web application development and delivery.
Shell Smalltalk
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
config
Dockerfile
LICENSE
README.md
docker-entrypoint.sh
launch-pharo.sh
pharo-supervisord.conf
save-pharo.sh
setup.sh

README.md

pharo-vnc-supervisor

A Docker image for Pharo Smalltalk. Especially suitable for web application development and delivery.

  • Pharo process is daemonized by supervisord.
  • Debuggable via VNC.
  • Web browsers (Firefox and Chronium) are installed.

Usages

docker run --name my_pharo -d -p 5901:5901 -p 6901:6901 mumez/pharo-vnc-supervisor

You can access the running pharo image via VNC client or web browser. (the default password is 'vncpassword')

  • VNC client: yourhost:5901
  • Web browser: http://yourhost:6901/?password=vncpassword

How to start with a customized Pharo image

  1. Place your customized Pharo image to your docker-host data directory (For example, $HOME/docker/pharo/data).
  2. Use docker run -v option to mount the data direcotry.
docker run --name my_pharo -d -p 5901:5901 -p 6901:6901 \
	-v=$HOME/docker/pharo/data:/root/data \
	mumez/pharo-vnc-supervisor

Currently for Pharo 7.0, there is also 'pharo70' tag maintained. So you can just specify the tag:

docker run --name my_pharo -d -p 5901:5901 -p 6901:6901 mumez/pharo-vnc-supervisor:pharo70

How to build a customized Pharo image in a container

You can use save-pharo command to build a customized Pharo image.

Install from Catalog

save-pharo get <Project name>

docker run --rm -p 5901:5901 -p 6901:6901 \
	-v=$HOME/docker/pharo/data:/root/data \
	mumez/pharo-vnc-supervisor \
	save-pharo get Tarantube

Install by Configuration

save-pharo config <Metacello configuration>

docker run --rm -p 5901:5901 -p 6901:6901 \
	-v=$HOME/docker/pharo/data:/root/data \
	mumez/pharo-vnc-supervisor \
	save-pharo config http://smalltalkhub.com/mc/Pharo/MetaRepoForPharo60/main/ \
	ConfigurationOfNeo4reSt --install=stable

Install by Metacello (only available in Pharo 7+)

save-pharo metacello <metacello command-line arguments>

REPOS_URL=github://quentinplessis/Teamtalk/pharo-repository
docker run --rm -p 5901:5901 -p 6901:6901 \
	-v=$HOME/docker/pharo/data:/root/data \
	mumez/pharo-vnc-supervisor:pharo70 \
	save-pharo metacello install $REPOS_URL BaselineOfTeamtalk

How to change default Pharo image version

By default, Pharo 6.1 will be installed to the docker image. You can specify other versions when building a docker image.

docker build -t pharo70-vnc-supervisor --build-arg PHARO_IMAGE_VERSION=70 .
docker run --name my_pharo70 -d -p 5901:5901 -p 6901:6901 pharo70-vnc-supervisor

Settings

You can change these settings via docker run -e option.

Pharo related environment variables

PHARO_SUPERVISOR_LOG_NAME=pharo-supervisord.log
PHARO_IMAGE=Pharo.image
PHARO_START_SCRIPT=
PHARO_MODE=gui

VNC related environment variables

Please see ubuntu-icewm-vnc.

You can’t perform that action at this time.