boinc-server-docker
boinc-server-docker copied to clipboard
Docker-compose pull failing on Ubuntu 20.04 server
When following the README.md file and get to the docker-compose pull
command I receive the following error.
Step 6/32 : RUN cd /usr/local/boinc && ./_autosetup && ./configure --disable-client --disable-manager && make
---> Running in b778c889767b
/bin/sh: 1: ./_autosetup: not found
ERROR: Service 'makeproject' failed to build: The command '/bin/sh -c cd /usr/local/boinc && ./_autosetup && ./configure --disable-client --disable-manager && make' returned a non-zero code: 127
Ubuntu 20.04 headless server.
This error looks like its trying to build the containers locally. I'm not sure why this is happening when you do a pull
and I'm unable to reproduce this. Are you doing anything else unusual?
Ideally its supposed to look like this:
~/boinc-server-docker$ docker-compose pull
Pulling mysql ... done
Pulling makeproject ... done
Pulling apache ... done
~/boinc-server-docker$ docker-compose up -d
WARNING: Native build is an experimental feature and could change at any time
Creating network "boinc-server-docker_default" with the default driver
Creating volume "boinc-server-docker_mysql" with default driver
Creating volume "boinc-server-docker_project" with default driver
Creating volume "boinc-server-docker_results" with default driver
Creating volume "boinc-server-docker_secrets" with default driver
Creating boinc-server-docker_makeproject_1 ... done
Creating boinc-server-docker_mysql_1 ... done
Creating boinc-server-docker_apache_1 ... done
@marius311, just bumped into that issue as well.
Quickstart lacks git submodule update --init --recursive
after cd boinc-server-docker
, because we need to get the actual code for the image(s)
Can reproduce. I think it's got something to do with Ubuntu's docker-compose
. It works fine on a fresh install of Debian. For some reason docker-compose pull
is just completely broken on the Ubuntu machine (left):
These commands were both executed right after cloning the repo without submodules.
And of course we end up right here.
The left machine is a 20.04 Ubuntu install that was upgraded to 20.10. The right is a fresh Debian install. I'll try on a fresh Ubuntu install next
This has made me realize how much better Debian is for servers
@polymetric the top screen shot looks like its needing sudo
, perhaps you forgot to add your user to the docker
group or haven't re-logged in since you did that?
As for the bottom, I still don't understand why a docker-compose up
is triggering a build instead of a pull, I haven't been able to reproduce that on any of my systems.
@marius311 somehow I didn't notice this reply until just now. In the top screenshot I forgot to do sudo but I did it with sudo right after, and it worked (the right pane is the debian server). The left pane is the ubuntu server, for which docker-compose does not seem to even trigger a pull.
I'm having the same issue on a fresh Ubuntu 20.04 server. I followed the same steps, prepending sudo to the commands in the cookbook.
Edit: ~~Fixed by following https://github.com/marius311/boinc-server-docker/pull/11~~
I got much further in the install process, but it still failed at the end:
This just means you already have something running on port 80 on your machine. Maybe a separate instance of boinc-server-docker? Or another Apache server?
You are right. I have an nginx server on port 80. Here's what I have changed so far:
- I edited docker-compose.yml and changed "80:80" to "81:81" under the ports label
- I followed https://www.tecmint.com/change-apache-port-in-linux/ to reconfigure the default listening port to 81. I did this by running
docker-compose exec apache bash
to get into the apache server container - Used ufw to open port 81
- Set URL_BASE to the external ip of the server
I still can't access the boincserver. I tried url:81/boincserver, url/boincserver, and url:81
I've been trying lots of different things to get this working. Any pointers to the right resources would be a great help.
Some more information:
- I'm hosting a google cloud ubuntu 20.04 VM
- An nginx server is already being hosted on port 80. I am trying to host this on 81
- I have made sure to add a rule for port 81 on ufw and through the google cloud firewall rules
- When I am ssh'd into my VM, I can curl the boincserver. This means it works locally. The issue is I can't get it to host remotely
I have done several full reinstalls of the boinc-server-docker project with and without the --recursive option for the cloning step. I think I overcomplicated it before when trying to manually configure the apache container to change the listening port. I didn't realize you can just leave it on port 80 and bind the docker container to a different port on the host.
In docker-compose.yml, I tried this for the "ports" section: "{EXTERNAL IP}:81:80" I wanted to have the container (configured to listen on port 80) bind to the remote server's port 81. I made sure to set URL_BASE to the external ip address as explained in the cookbook
When I try to start up the server (after running "docker-compose down" of course), it errors out and says
ERROR: for apache Cannot start service apache: driver failed programming external connectivity on endpoint boinc-server-docker_apache_1 (7cb4c5f003984dd04eaba58bd970e725122fcfcb2bac354e187cfaf5cbb56aec): Error starting userland proxy: listen tcp4 {EXTERNAL IP}:81: bind: cannot assign requested address