1. Docker containers for OpenEuphoria, and other development updates

I have set up a Docker Hub repository for basic images with Euphoria and Euphoria MVC installed. I will update these containers as I make further releases.

Repos

Images

The euphoria-demo Dockerfile demonstrates how to bootstrap a new application:

FROM openeuphoria/euphoria-mvc 
COPY demo /demo 
WORKDIR /demo 
EXPOSE 5000 
CMD ["eui","app.ex"] 

You can run the demo image thusly:

docker run -p 5000:5000 openeuphoria/euphoria-demo 

And in other news:

  • I am working on learning GitHub Actions so that we can return having builds based on the latest commit. We should be able to produce a complete set of Windows/Linux/OSX and x86/x64/ARM binaries using these tools.
  • I been working on a complete overhaul to the database routines in Euphoria MVC, which is taking longer than I expected, but should be released soon. Then that should then be ready to parlay into the platform for a new website.
  • I have set up a Discord server as a replacement for the old rapideuphoria-develop mailing list we used on SourceForge. Please send me an email if you would like to participate and I will send you the invite link.

-Greg

new topic     » topic index » view message » categorize

2. Re: Docker containers for OpenEuphoria, and other development updates

How hard would it be to make Phix docker image?

new topic     » goto parent     » topic index » view message » categorize

3. Re: Docker containers for OpenEuphoria, and other development updates

petelomax said...

How hard would it be to make Phix docker image?

Not hard at all! Here's my base image, Dockerfile.euphoria:

$ cat Dockerfile.euphoria 
FROM debian 
LABEL maintainer="Greg Haberek <ghaberek@gmail.com>" 
ADD euphoria-4.1.0-Linux-x64-57179171dbed.tar.gz /usr/local/ 
ENV PATH=/usr/local/euphoria-4.1.0-Linux-x64/bin:$PATH 

  1. FROM - starts with the latest Debian image (I tried Alpine but it uses a different libc that's not compatible with Euphoria)
  2. LABEL - sets me as the maintainer of this image (show to users via the docker inspect command)
  3. ADD - extracts the Euphoria 4.1 package to the /usr/local/ directory (already downloaded to local directory via build.sh)
  4. ENV - sets the path to the bin directory of the extracted files.

And that's it! You can test it by dropping into a shell:

docker run -it --rm openeuphoria/euphoria /bin/bash 

The commands above are:

  • docker run - run a new container
  • -it - start an interactive container (-i) with a pseudo terminal (-t)
  • --rm - remove the container when it exits (this will discard any changes made in the container!)
  • openeuphoria/euphoria - the repository and container name (optional tag can be added, like :latest or :4.1.0)
  • /bin/bash - the command to run in the container, this will give you a Bash shell for testing

In this case I also benefit from dropping the existing Euphoria files into the same location referenced in the provided eu.cfg, so I don't have to change any of that.

If you look at Dockerfile.euphoria-mvc you can see I have to do some work with sed to inject the new include path into the system eu.cfg file:

$ cat Dockerfile.euphoria-mvc 
FROM openeuphoria/euphoria 
LABEL maintainer="Greg Haberek <ghaberek@gmail.com>" 
ADD euphoria-mvc-1.13.0.tar.gz /usr/local/ 
RUN sed -i 's@-i /usr/local/euphoria-4.1.0-Linux-x64/include@-i /usr/local/euphoria-4.1.0-Linux-x64/include\n-i /usr/local/euphoria-mvc-1.13.0/include@' /usr/local/euphoria-4.1.0-Linux-x64/bin/eu.cfg 

-Greg

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu