Forum OpenACS Forum Summaries: OpenACS on Docker

Posted by Iuri Sampaio on
Hi there,

Browsing Docker's official repository (i.e., I've seen the at popular frameworks such as Drupal, Worpress and etc, have built their containers and, I decided to create my own Docker OpenACS container.

For those PHP frameworks, the work has been sort of half way completed, since their script start whether from a php-fpm or php-apache containers.


Based on that, the best way would be to start whether from a NGINX or PostgreSQL container (i.e. or ).

From there, I'm going to install Naviserver and OpenACS on top of it.
@Gustaf, have you thought about having a Naviserver-docker container?

If anyone is interested or has been working on this subject, please let me know. Your ideas and approaches are very welcome.

Best wishes,

2: Re: OpenACS on Docker (response to 1)
Posted by Iuri Sampaio on
I'll be using your scripts, which currently are available at

rsrsrs :)

Best wishes,

3: Re: OpenACS on Docker (response to 2)
Posted by Iuri Sampaio on
So far, I shall thank Kenneth Wyrick for finding a ]Project-Open[ installation on Docker.

That means, Frank has been working on having PO-OACS on Docker, in a Centos based system.
Now, it'd be just a matter of reviewing his scripts and changing it to work on Debian/Ubuntu Docker installation.

Thank you Kenneth! It saved me some hours (and headaches), elaborating a whole lot of code.

Best wishes,

4: Re: OpenACS on Docker (response to 3)
Posted by Iuri Sampaio on
Sorry, I forgot to paste link to the ]PO['s docker scripts
5: Re: OpenACS on Docker (response to 1)
Posted by Malte Sussdorff on
Hi Iuri,

did you make any progress? I looked at the docker container frank provided for OpenACS and was ... mildly disappointed by the lack of understanding what a container is and how it is supposed to be run (e.g. one container, one process running in the foreground).

Therefore I started off with building a base naviserver container and removing the (necessary?) postgresql installation after compiling naviserver. From that I was going to connect it using docker-compose to the database and then have a specific container either for OpenACS or ]project-open[ or customer code which connects the two (and does the automatic pull from the git repository). Goal is to eventually utilize Kubernetes with Ingress to have more than one container run the naviserver off the same custom code.

Long story short, as I am still at the start of said journey, any update where you are at?

Best wishes

6: Re: OpenACS on Docker (response to 5)
Posted by vivian Aguilar on
Hello Malte and Iuri.. It's been a long time but feels like yesterday!! :) ... Glad to hear that you guys are little active on this almost dead community :) ..

I was searching in google openacs container just for curiosity and end up with your post.. we are starting to research about devops, ci/cd and docker.. and eventually would like to make some test with openacs .. but I have to said that I like your approach Malte.. Keep us posted.. I am curious jeje..

I will keep you posted on the roadmap we eventually take..

best regards

7: Re: OpenACS on Docker (response to 5)
Posted by Dave Bauer on
I just saw Vivian's response and I agree. Docker-compose seems to be the way to go. Very curious how this goes, although I don't do much OpenACS development anymore. If you are going to provide ongoing OpenACS support, I think Docker is a great way to manage it.
8: Re: OpenACS on Docker (response to 5)
Posted by Malte Sussdorff on
Quick update:

You should be able to get a naviserver image from

In case you wonder, here is the OpenACS Dockerfile (I do need to setup gitub to link the to the Dockerfile... but well...).

As I mainly work with ]project-open[, my current config files are specific to it, but the yist of the idea is:

1) Two Replicas of Naviserver (still have to identify what are the best resource requirements and if I even need two replicas as Naviserver is multithreaded to begin with, on the other hand works nice with rolling updates, oh well...)

2) Put the OpenACS / ]project-open[ code into the Naviserver dockerfile and then "release" a naviserver package (e.g. sussdorff/naviserver:openacs. This is what the OpenACS dockerfile currently does.)

3) Run the database on a specific node which is a little bit beefier than the naviserver ones. Eventually I can go into postgres primary .... but why make live hard now.

I am already at the point where "docker-compose up" nicely starts up OpenACS and will deploy to my docker swarm soon.

Let me know if you are interested in any of this.