soedinglab / MMseqs2-App

MMseqs2 app to run on your workstation or servers

Home Page:https://search.foldseek.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

docker install error: ghcr.io pull error

noguhiro2002 opened this issue · comments

Dear developer and community,

First of all, thank you for your great scientific work.

When I wanted to install the docker version of the current version (the latest version on 2022/Jul/7), the following error message confused me after typing "docker-compose up" command.

(base) user@user:~/software/mmseqs2/2/MMseqs2-App/docker-compose$ docker-compose up
Pulling mmseqs-web-api (ghcr.io/soedinglab/mmseqs-app-backend:master)...
ERROR: Head "https://ghcr.io/v2/soedinglab/mmseqs-app-backend/manifests/master": unauthorized

so if you have a solution to solve this issue, please help your power.

Thanks,

The new ghcr based images were still set to private by accident, I just made them public.
I would be very happy for feedback, I have cleaned-up quite a bit with the move to the github container registry and there might be still rough edges.

Dear milot-mirdita,

Thank you for quick reply!
I could pass the authorization :-)
However, I got another error message after that. I would like to share it for debugging.

(base) user@user:~/software/mmseqs2/2/mmseqs2-app/docker-compose$ docker-compose up
Starting docker-compose_mmseqs-web-redis_1 ... done
Starting docker-compose_mmseqs-web-api_1   ... done
Starting docker-compose_mmseqs-web-worker_1    ... done
Starting docker-compose_mmseqs-web-webserver_1 ... done
Attaching to docker-compose_mmseqs-web-redis_1, docker-compose_mmseqs-web-api_1, docker-compose_mmseqs-web-webserver_1, docker-compose_mmseqs-web-worker_1
mmseqs-web-webserver_1  | /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
mmseqs-web-webserver_1  | /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
mmseqs-web-webserver_1  | /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
mmseqs-web-webserver_1  | 10-listen-on-ipv6-by-default.sh: info: can not modify /etc/nginx/conf.d/default.conf (read-only file system?)
mmseqs-web-redis_1      | 1:C 07 Jul 2022 00:32:21.043 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
mmseqs-web-redis_1      | 1:C 07 Jul 2022 00:32:21.043 # Redis version=7.0.2, bits=64, commit=00000000, modified=0, pid=1, just started
mmseqs-web-redis_1      | 1:C 07 Jul 2022 00:32:21.043 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
mmseqs-web-webserver_1  | /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
mmseqs-web-webserver_1  | /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh
mmseqs-web-webserver_1  | /docker-entrypoint.sh: Configuration complete; ready for start up
mmseqs-web-redis_1      | 1:M 07 Jul 2022 00:32:21.044 * monotonic clock: POSIX clock_gettime
mmseqs-web-redis_1      | 1:M 07 Jul 2022 00:32:21.044 * Running mode=standalone, port=6379.
mmseqs-web-redis_1      | 1:M 07 Jul 2022 00:32:21.044 # Server initialized
mmseqs-web-worker_1     | 2022/07/07 00:32:21 MMseqs2 worker
mmseqs-web-redis_1      | 1:M 07 Jul 2022 00:32:21.045 * Loading RDB produced by version 7.0.2
mmseqs-web-redis_1      | 1:M 07 Jul 2022 00:32:21.045 * RDB age 5 seconds
mmseqs-web-redis_1      | 1:M 07 Jul 2022 00:32:21.045 * RDB memory usage when created 0.92 Mb
mmseqs-web-api_1        | 2022/07/07 00:32:21 MMseqs2 Webserver
mmseqs-web-redis_1      | 1:M 07 Jul 2022 00:32:21.045 * Done loading RDB, keys loaded: 1, keys expired: 0.
mmseqs-web-redis_1      | 1:M 07 Jul 2022 00:32:21.045 * DB loaded from disk: 0.000 seconds
mmseqs-web-redis_1      | 1:M 07 Jul 2022 00:32:21.045 * Ready to accept connections
mmseqs-web-api_1        | panic: Key: 'ParamsDisplayV1.Status' Error:Field validation for 'Status' failed on the 'required' tag
mmseqs-web-api_1        | Key: 'ParamsDisplayV1.Display.Name' Error:Field validation for 'Name' failed on the 'required' tag
mmseqs-web-api_1        | Key: 'ParamsDisplayV1.Display.Path' Error:Field validation for 'Path' failed on the 'required' tag
mmseqs-web-api_1        | 
mmseqs-web-api_1        | goroutine 7 [running]:
mmseqs-web-api_1        | main.server.func1()
mmseqs-web-api_1        | 	/opt/build/server.go:33 +0x245
mmseqs-web-api_1        | created by main.server
mmseqs-web-api_1        | 	/opt/build/server.go:30 +0x110
docker-compose_mmseqs-web-api_1 exited with code 2
mmseqs-web-webserver_1  | 2022/07/07 00:32:21 [emerg] 1#1: host not found in upstream "mmseqs-web-api" in /etc/nginx/conf.d/default.conf:13
mmseqs-web-webserver_1  | nginx: [emerg] host not found in upstream "mmseqs-web-api" in /etc/nginx/conf.d/default.conf:13
docker-compose_mmseqs-web-webserver_1 exited with code 1

My computer environment

  • Ubuntu18.04 LTE (all packages are updated)
  • Docker version 20.10.17, build 100c701
  • docker-compose version 1.27.4, build 40524192
  • Main memory: 64GB

Thanks,

Can you please execute and share the output here:

ls databases
head databases/*.params

Dear Milot-mirdita,

thank you very much for reply.

it is here.

(base) user@user:~/software/mmseqs2/2/mmseqs2-app/docker-compose$ ls databases/
pdb70_latest_msa  pdb70_latest_msa.dbtype  pdb70_latest_msa.index  pdb70_latest.params
(base) user@user:~/software/mmseqs2/2/mmseqs2-app/docker-compose$ head databases/*.params
{
  "name": "PDB70",
  "version": "latest",
  "default": true,
  "order": 0,
  "index": "-s 6",
  "search": "-s 6"
}

I prepared for PDB70 database with "MMseqs2-App/docker-compose/examples/pdb70/setup.sh".

Please feel free to contact me if you need further information.

Thanks,

Try replacing the content of the pdb70_latest.params with and then starting the server:

{"name":"PDB70","version":"latest","path":"pdb70_latest","default":true,"order":1,"taxonomy":false,"index":"-s 6","search":"-s 6","status":"PENDING"}

Seems like i need to update the scripts in examples, I think they are currently outdated.

Dear milot-mirdita,

Thank you for your great support!
I could run the MMSeqs2 server with PDB70 database !
it works very well :-)

For the future, I added a new feature to make DB installation easier.

You can run:

docker-compose run db-setup

to list available databases

and then

docker-compose run db-setup PDB70

to download and setup the database.

This should support all databases that are available in mmseqs databases