boinc-server-docker: 404 Not Found for 127.0.0.1/boincserver

I am trying to setup a BOINC server but I am getting a 404 on http://127.0.0.1/boincserver:

$ wget http://127.0.0.1/boincserver
--2019-01-24 16:18:44--  http://127.0.0.1/boincserver
Connecting to 127.0.0.1:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2019-01-24 16:18:44 ERROR 404: Not Found.

However, I do not see anything suspicious when I start with docker-compose (log at the end of this post).

I have tried running docker-compose down -v before running as well. Here are my docker and docker compose versions:

$ docker --version
Docker version 18.09.1, build 4c52b90
$ docker-compose --version
docker-compose version 1.23.2, build 1110ad01

Docker compose up log:

$ docker-compose up
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
Attaching to boinc-server-docker_makeproject_1, boinc-server-docker_mysql_1, boinc-server-docker_apache_1
makeproject_1  | Updating project files in data volume...
mysql_1        | Initializing database
apache_1       | /usr/lib/python2.7/dist-packages/supervisor/options.py:298: UserWarning: Supervisord is running as root and it is searching for its configuration file in default locations (including its current working directory); you probably want to specify a "-c" argument specifying an absolute path to a configuration file for improved security.
apache_1       |   'Supervisord is running as root and it is searching '
apache_1       | 2019-01-24 08:18:03,670 CRIT Supervisor running as root (no user in config file)
apache_1       | 2019-01-24 08:18:03,670 INFO Included extra file "/etc/supervisor/conf.d/supervisord.conf" during parsing
apache_1       | 2019-01-24 08:18:03,692 INFO RPC interface 'supervisor' initialized
apache_1       | 2019-01-24 08:18:03,693 CRIT Server 'unix_http_server' running without any HTTP authentication checking
apache_1       | 2019-01-24 08:18:03,696 INFO supervisord started with pid 1
apache_1       | 2019-01-24 08:18:04,699 INFO spawned: 'cron' with pid 8
apache_1       | 2019-01-24 08:18:04,700 INFO spawned: 'start' with pid 9
apache_1       | 2019-01-24 08:18:04,704 INFO spawned: 'rsyslogd' with pid 10
apache_1       | 2019-01-24 08:18:04,711 INFO spawned: 'apache2' with pid 11
apache_1       | 2019-01-24 08:18:04,917 INFO exited: start (exit status 1; not expected)
mysql_1        |
mysql_1        |
mysql_1        | PLEASE REMEMBER TO SET A PASSWORD FOR THE MariaDB root USER !
mysql_1        | To do so, start the server, then issue the following commands:
mysql_1        |
mysql_1        | '/usr/bin/mysqladmin' -u root password 'new-password'
mysql_1        | '/usr/bin/mysqladmin' -u root -h  password 'new-password'
mysql_1        |
mysql_1        | Alternatively you can run:
mysql_1        | '/usr/bin/mysql_secure_installation'
mysql_1        |
mysql_1        | which will also give you the option of removing the test
mysql_1        | databases and anonymous user created by default.  This is
mysql_1        | strongly recommended for production servers.
mysql_1        |
mysql_1        | See the MariaDB Knowledgebase at http://mariadb.com/kb or the
mysql_1        | MySQL manual for more instructions.
mysql_1        |
mysql_1        | Please report any problems at http://mariadb.org/jira
mysql_1        |
mysql_1        | The latest information about MariaDB is available at http://mariadb.org/.
mysql_1        | You can find additional information about the MySQL part at:
mysql_1        | http://dev.mysql.com
mysql_1        | Consider joining MariaDB's strong and vibrant community:
mysql_1        | https://mariadb.org/get-involved/
mysql_1        |
mysql_1        | Database initialized
makeproject_1  | Waiting for MySQL server to start...
mysql_1        | MySQL init process in progress...
mysql_1        | 2019-01-24  8:18:05 0 [Note] mysqld (mysqld 10.3.8-MariaDB-1:10.3.8+maria~bionic) starting as process 102 ...
mysql_1        | 2019-01-24  8:18:05 0 [Note] InnoDB: Using Linux native AIO
mysql_1        | 2019-01-24  8:18:05 0 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
mysql_1        | 2019-01-24  8:18:05 0 [Note] InnoDB: Uses event mutexes
mysql_1        | 2019-01-24  8:18:05 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
mysql_1        | 2019-01-24  8:18:05 0 [Note] InnoDB: Number of pools: 1
mysql_1        | 2019-01-24  8:18:05 0 [Note] InnoDB: Using SSE2 crc32 instructions
mysql_1        | 2019-01-24  8:18:05 0 [Note] InnoDB: Initializing buffer pool, total size = 256M, instances = 1, chunk size = 128M
mysql_1        | 2019-01-24  8:18:05 0 [Note] InnoDB: Completed initialization of buffer pool
mysql_1        | 2019-01-24  8:18:05 0 [Note] InnoDB: If the mysqld execution user is authorized, page cleaner thread priority can be changed. See the man page of setpriority().
mysql_1        | 2019-01-24  8:18:05 0 [Note] InnoDB: 128 out of 128 rollback segments are active.
mysql_1        | 2019-01-24  8:18:05 0 [Note] InnoDB: Creating shared tablespace for temporary tables
mysql_1        | 2019-01-24  8:18:05 0 [Note] InnoDB: Setting file './ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
mysql_1        | 2019-01-24  8:18:05 0 [Note] InnoDB: File './ibtmp1' size is now 12 MB.
mysql_1        | 2019-01-24  8:18:05 0 [Note] InnoDB: Waiting for purge to start
mysql_1        | 2019-01-24  8:18:05 0 [Note] InnoDB: 10.3.8 started; log sequence number 1630815; transaction id 21
mysql_1        | 2019-01-24  8:18:05 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool
mysql_1        | 2019-01-24  8:18:05 0 [Note] Plugin 'FEEDBACK' is disabled.
mysql_1        | 2019-01-24  8:18:05 0 [Warning] 'user' entry 'root@a93ea9dc1043' ignored in --skip-name-resolve mode.
mysql_1        | 2019-01-24  8:18:05 0 [Warning] 'user' entry '@a93ea9dc1043' ignored in --skip-name-resolve mode.
mysql_1        | 2019-01-24  8:18:05 0 [Warning] 'proxies_priv' entry '@% root@a93ea9dc1043' ignored in --skip-name-resolve mode.
mysql_1        | 2019-01-24  8:18:05 0 [Note] InnoDB: Buffer pool(s) load completed at 190124  8:18:05
mysql_1        | 2019-01-24  8:18:05 0 [Note] Reading of all Master_info entries succeded
mysql_1        | 2019-01-24  8:18:05 0 [Note] Added new Master_info '' to hash table
mysql_1        | 2019-01-24  8:18:05 0 [Note] mysqld: ready for connections.
mysql_1        | Version: '10.3.8-MariaDB-1:10.3.8+maria~bionic'  socket: '/var/run/mysqld/mysqld.sock'  port: 0  mariadb.org binary distribution
apache_1       | 2019-01-24 08:18:06,351 INFO success: cron entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
apache_1       | 2019-01-24 08:18:06,357 INFO spawned: 'start' with pid 31
apache_1       | 2019-01-24 08:18:06,358 INFO success: rsyslogd entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
apache_1       | 2019-01-24 08:18:06,358 INFO success: apache2 entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
apache_1       | 2019-01-24 08:18:06,414 INFO exited: start (exit status 1; not expected)
mysql_1        | Warning: Unable to load '/usr/share/zoneinfo/leap-seconds.list' as time zone. Skipping it.
apache_1       | 2019-01-24 08:18:08,421 INFO spawned: 'start' with pid 34
apache_1       | 2019-01-24 08:18:08,476 INFO exited: start (exit status 1; not expected)
mysql_1        | 2019-01-24  8:18:08 10 [Warning] 'proxies_priv' entry '@% root@a93ea9dc1043' ignored in --skip-name-resolve mode.
mysql_1        |
mysql_1        | 2019-01-24  8:18:08 0 [Note] mysqld (initiated by: unknown): Normal shutdown
mysql_1        | 2019-01-24  8:18:08 0 [Note] Event Scheduler: Purging the queue. 0 events
mysql_1        | 2019-01-24  8:18:08 0 [Note] InnoDB: FTS optimize thread exiting.
mysql_1        | 2019-01-24  8:18:08 0 [Note] InnoDB: Starting shutdown...
mysql_1        | 2019-01-24  8:18:08 0 [Note] InnoDB: Dumping buffer pool(s) to /var/lib/mysql/ib_buffer_pool
mysql_1        | 2019-01-24  8:18:08 0 [Note] InnoDB: Buffer pool(s) dump completed at 190124  8:18:08
mysql_1        | 2019-01-24  8:18:10 0 [Note] InnoDB: Shutdown completed; log sequence number 1630824; transaction id 24
mysql_1        | 2019-01-24  8:18:10 0 [Note] InnoDB: Removed temporary tablespace data file: "ibtmp1"
mysql_1        | 2019-01-24  8:18:10 0 [Note] mysqld: Shutdown complete
mysql_1        |
mysql_1        |
mysql_1        | MySQL init process done. Ready for start up.
mysql_1        |
mysql_1        | 2019-01-24  8:18:10 0 [Note] mysqld (mysqld 10.3.8-MariaDB-1:10.3.8+maria~bionic) starting as process 1 ...
mysql_1        | 2019-01-24  8:18:10 0 [Note] InnoDB: Using Linux native AIO
mysql_1        | 2019-01-24  8:18:10 0 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
mysql_1        | 2019-01-24  8:18:10 0 [Note] InnoDB: Uses event mutexes
mysql_1        | 2019-01-24  8:18:10 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
mysql_1        | 2019-01-24  8:18:10 0 [Note] InnoDB: Number of pools: 1
mysql_1        | 2019-01-24  8:18:10 0 [Note] InnoDB: Using SSE2 crc32 instructions
mysql_1        | 2019-01-24  8:18:10 0 [Note] InnoDB: Initializing buffer pool, total size = 256M, instances = 1, chunk size = 128M
mysql_1        | 2019-01-24  8:18:10 0 [Note] InnoDB: Completed initialization of buffer pool
mysql_1        | 2019-01-24  8:18:10 0 [Note] InnoDB: If the mysqld execution user is authorized, page cleaner thread priority can be changed. See the man page of setpriority().
mysql_1        | 2019-01-24  8:18:10 0 [Note] InnoDB: 128 out of 128 rollback segments are active.
mysql_1        | 2019-01-24  8:18:10 0 [Note] InnoDB: Creating shared tablespace for temporary tables
mysql_1        | 2019-01-24  8:18:10 0 [Note] InnoDB: Setting file './ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
mysql_1        | 2019-01-24  8:18:10 0 [Note] InnoDB: File './ibtmp1' size is now 12 MB.
mysql_1        | 2019-01-24  8:18:10 0 [Note] InnoDB: Waiting for purge to start
mysql_1        | 2019-01-24  8:18:10 0 [Note] InnoDB: 10.3.8 started; log sequence number 1630824; transaction id 21
mysql_1        | 2019-01-24  8:18:10 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool
mysql_1        | 2019-01-24  8:18:10 0 [Note] Plugin 'FEEDBACK' is disabled.
mysql_1        | 2019-01-24  8:18:10 0 [Note] InnoDB: Buffer pool(s) load completed at 190124  8:18:10
mysql_1        | 2019-01-24  8:18:10 0 [Note] Server socket created on IP: '::'.
mysql_1        | 2019-01-24  8:18:10 0 [Warning] 'proxies_priv' entry '@% root@a93ea9dc1043' ignored in --skip-name-resolve mode.
mysql_1        | 2019-01-24  8:18:10 0 [Note] Reading of all Master_info entries succeded
mysql_1        | 2019-01-24  8:18:10 0 [Note] Added new Master_info '' to hash table
mysql_1        | 2019-01-24  8:18:10 0 [Note] mysqld: ready for connections.
mysql_1        | Version: '10.3.8-MariaDB-1:10.3.8+maria~bionic'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  mariadb.org binary distribution
apache_1       | 2019-01-24 08:18:11,490 INFO spawned: 'start' with pid 37
apache_1       | 2019-01-24 08:18:11,530 INFO exited: start (exit status 1; not expected)
apache_1       | 2019-01-24 08:18:12,538 INFO gave up: start entered FATAL state, too many start retries too quickly
mysql_1        | 2019-01-24  8:18:15 8 [Warning] Access denied for user 'boincadm'@'172.18.0.3' (using password: NO)
makeproject_1  | Creating database...
makeproject_1  | added platform: (create_time, name, user_friendly_name) values (1548317896, 'windows_intelx86', 'Microsoft Windows (98 or later) running on an Intel x86-compatible CPU')
makeproject_1  | added platform: (create_time, name, user_friendly_name) values (1548317896, 'windows_x86_64', 'Microsoft Windows running on an AMD x86_64 or Intel EM64T CPU')
makeproject_1  | added platform: (create_time, name, user_friendly_name) values (1548317896, 'i686-pc-linux-gnu', 'Linux running on an Intel x86-compatible CPU')
makeproject_1  | added platform: (create_time, name, user_friendly_name) values (1548317896, 'x86_64-pc-linux-gnu', 'Linux running on an AMD x86_64 or Intel EM64T CPU')
makeproject_1  | added platform: (create_time, name, user_friendly_name) values (1548317896, 'powerpc-apple-darwin', 'Mac OS X 10.3 or later running on Motorola PowerPC')
makeproject_1  | added platform: (create_time, name, user_friendly_name) values (1548317896, 'i686-apple-darwin', 'Mac OS 10.4 or later running on Intel')
makeproject_1  | added platform: (create_time, name, user_friendly_name) values (1548317896, 'x86_64-apple-darwin', 'Intel 64-bit Mac OS 10.5 or later')
makeproject_1  | added platform: (create_time, name, user_friendly_name) values (1548317896, 'sparc-sun-solaris2.7', 'Solaris 2.7 running on a SPARC-compatible CPU')
makeproject_1  | added platform: (create_time, name, user_friendly_name) values (1548317896, 'sparc-sun-solaris', 'Solaris 2.8 or later running on a SPARC-compatible CPU')
makeproject_1  | added platform: (create_time, name, user_friendly_name) values (1548317896, 'sparc64-sun-solaris', 'Solaris 2.8 or later running on a SPARC 64-bit CPU')
makeproject_1  | added platform: (create_time, name, user_friendly_name) values (1548317896, 'powerpc64-ps3-linux-gnu', 'Sony Playstation 3 running Linux')
makeproject_1  | added platform: (create_time, name, user_friendly_name) values (1548317896, 'arm-android-linux-gnu', 'Android running on ARM')
makeproject_1  | added platform: (create_time, name, user_friendly_name) values (1548317896, 'anonymous', 'anonymous')
makeproject_1  | added app: (create_time, name, user_friendly_name) values (1548317896, 'boinc2docker', 'boinc2docker')
makeproject_1  |
makeproject_1  | Found app version directory for: boinc2docker 1.07 windows_x86_64__vbox64_mt
makeproject_1  |
makeproject_1  |     NOTICE: You have not provided a signature file for vm_isocontext_v1.0.0.iso,
makeproject_1  |     and your project's code-signing private key is on your server.
makeproject_1  |
makeproject_1  |     IF YOUR PROJECT IS PUBLICLY ACCESSABLE, THIS IS A SECURITY VULNERABILITY.
makeproject_1  |     PLEASE STOP YOUR PROJECT IMMEDIATELY AND READ:
makeproject_1  |     https://boinc.berkeley.edu/trac/wiki/CodeSigning
makeproject_1  |
makeproject_1  |     Continue (y/n)? cp apps/boinc2docker/1.07/windows_x86_64__vbox64_mt/vm_isocontext_v1.0.0.iso /home/boincadm/project/download/vm_isocontext_v1.0.0.iso
makeproject_1  | cp apps/boinc2docker/1.07/windows_x86_64__vbox64_mt/vboxwrapper_26200_windows_x86_64.exe /home/boincadm/project/download/vboxwrapper_26200_windows_x86_64.exe
makeproject_1  |     Files:
makeproject_1  |         vboxwrapper_26200_windows_x86_64.exe (main program)
makeproject_1  |         vm_isocontext_v1.0.0.iso
makeproject_1  |     Flags:
makeproject_1  |         don't throttle
makeproject_1  |         needs network
makeproject_1  |         API version: 7.9.0
makeproject_1  |     Do you want to add this app version (y/n)?     App version added successfully; ID=1
makeproject_1  | Found app version directory for: boinc2docker 1.07 x86_64-pc-linux-gnu__vbox64_mt
makeproject_1  | cp apps/boinc2docker/1.07/x86_64-pc-linux-gnu__vbox64_mt/vboxwrapper_26198_x86_64-pc-linux-gnu /home/boincadm/project/download/vboxwrapper_26198_x86_64-pc-linux-gnu
makeproject_1  |     Files:
makeproject_1  |         vboxwrapper_26198_x86_64-pc-linux-gnu (main program)
makeproject_1  |         vm_isocontext_v1.0.0.iso
makeproject_1  |     Flags:
makeproject_1  |         don't throttle
makeproject_1  |         needs network
makeproject_1  |         API version: 7.7.0
makeproject_1  |     Do you want to add this app version (y/n)?     App version added successfully; ID=2
makeproject_1  | Found app version directory for: boinc2docker 1.07 x86_64-apple-darwin__vbox64_mt
makeproject_1  | cp apps/boinc2docker/1.07/x86_64-apple-darwin__vbox64_mt/vboxwrapper_26199_x86_64-apple-darwin /home/boincadm/project/download/vboxwrapper_26199_x86_64-apple-darwin
makeproject_1  |     Files:
makeproject_1  |         vboxwrapper_26199_x86_64-apple-darwin (main program)
makeproject_1  |         vm_isocontext_v1.0.0.iso
makeproject_1  |     Flags:
makeproject_1  |         don't throttle
makeproject_1  |         needs network
makeproject_1  |         API version: 7.7.2
makeproject_1  |     Do you want to add this app version (y/n)?     App version added successfully; ID=3
boinc-server-docker_makeproject_1 exited with code 0

Do I need to add any files or anything for the path to work?

About this issue

  • Original URL
  • State: open
  • Created 5 years ago
  • Comments: 31 (24 by maintainers)

Most upvoted comments

I managed to hack a solution, maybe it will help you find the root problem. I know that /etc/apache2/ is where all the configuration files are stored by default by apache. However, I could not find any config file that points to /home/boincadm/project/. So, I guess there was a missing link there.

I temporarily fixed it by making a symlink of the boincserver.httpd.conf in /etc/apache2/conf-enabled

$ ln -s /home/boincadm/project/boincserver.httpd.conf /etc/apache2/conf-enabled/boincserver.httpd.conf
$ /etc/init.d/apache2 reload

I managed to hack a solution, maybe it will help you find the root problem. I know that /etc/apache2/ is where all the configuration files are stored by default by apache. However, I could not find any config file that points to /home/boincadm/project/. So, I guess there was a missing link there.

I temporarily fixed it by making a symlink of the boincserver.httpd.conf in /etc/apache2/conf-enabled

$ ln -s /home/boincadm/project/boincserver.httpd.conf /etc/apache2/conf-enabled/boincserver.httpd.conf
$ /etc/init.d/apache2 reload

worked for me, how about adding it to the master branch so the project could work out of the box?

Another solution is just to delete the following three lines: https://github.com/marius311/boinc-server-docker/blob/a1512c124ab4a876bca4f929f189b8a70e7ba5de/images/apache/makeproject-step3.sh#L8-L10 however, with either this or your solution, boinc2docker jobs will not work. But we definitely should find a solution such that at the very least the server keeps working.

Just letting you guys know I have the same problem on Windows.

I’m not sure what the right way is, but while waiting, I think the following workaround is better than making a symbolic link in the docker container.

So, what I did was replace these lines: https://github.com/marius311/boinc-server-docker/blob/a1512c124ab4a876bca4f929f189b8a70e7ba5de/images/apache/makeproject-step3.sh#L8-L10

With these lines:

# DOCKER_GID=$(stat -c '%g' /var/run/docker.sock)
addgroup -gid 999 docker
chgrp docker /var/run/docker.sock
addgroup ${BOINC_USER} docker

Basically, hardcoding the group id for docker and changing the permissions for /var/run/docker.sock to fit.