Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Image doesn't currently build due to new compilation requirements #4

Open
wolfmanstout opened this issue Sep 22, 2024 · 1 comment
Open

Comments

@wolfmanstout
Copy link

The docker image does not currently build. This can be reproduced with simply:

docker build -t test_onezoom_docker .

The current failure is:

0.963 Running "exec:web2py_configure" (exec) task
1.028 **** edit private/appconfig.ini
1.028 >> Exited with code: 1.
1.028 >> Error executing child process: Error: Process exited with code 1.
1.030 Warning: Task "exec:web2py_configure" failed. Use --force to continue.

This is because of recent changes to Gruntfile.js that expect appconfig.ini at build time:
https://github.com/OneZoom/OZtree/blob/118bfba9b122d812386e438fb6d6b29cb51aed7e/Gruntfile.js#L42

This is just the tip of the iceberg, though. The bigger challenge is that the Python version has changed to 3.10, which is not available on the current image used for compiling (onezoom/alpine-compass-python-perl-node:12). In fact, it's difficult to get Python 3.10 installed on a current node image, because it's not the latest Python version (and Python 3.11 is incompatible -- I tried). I managed to get this to compile using python:3.10-alpine as a base image for compilation, and installing the latest version of nodejs and npm. Note that it didn't work to simply use an older Python version (3.8) because other packages it depends on no longer support that version.

I discovered this because I wanted to create my own staging instance on Google Cloud to test out changes on my fork privately from my phone without having to leave my desktop running. My goal was to extend from onezoom/oztree so that I could reuse the database. This ended up being quite a bit more work to get going than I expected, but at least it led me to discover the above issues (and resolutions). You can see my working Dockerfile here, but bear in mind that it's not a drop-in replacement for this Dockerfile, because it assumes this image already exists.

@hyanwong
Copy link
Member

Gah, sorry about causing all the extra work for you. We are currently running Python 3.10, so I guess I should rebuild those alpine-compass-python-perl-node images using python 3.10.

I think with the move to the new tree-build repo, we are not using perl any more, so some of this can probably be simplified.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants