Kobo install takes forever

Kobo install takes forever to install. I am trying to install on a ubuntu 18.04 LTS server. The log output is the following:

    nginx_1           | 10-listen-on-ipv6-by-default.sh: info: Getting the checksum of     /etc/nginx/conf.d/default.conf
    kobocat_1         | 2021/03/28 14:44:15 Connected to tcp://mongo.censimento.natuplan.private:27017
    kobocat_1         | Container `mongo` up.
    nginx_1           | 10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf
    kobocat_1         | *** Running /etc/my_init.d/02_wait_for_postgres.bash...
    kpi_1             | KoBoForm initializing...
    kobocat_1         | Waiting for container `postgres`.
    nginx_1           | /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
    kpi_1             | Waiting for container `mongo`.
    kobocat_1         | 2021/03/28 14:44:15 Waiting for host: tcp://postgres.censimento.natuplan.private:5432
    enketo_express_1  |
    nginx_1           | /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-init-kobo-nginx.sh
    kpi_1             | 2021/03/28 14:44:13 Waiting for: tcp://mongo.censimento.natuplan.private:27017
    kobocat_1         | 2021/03/28 14:44:15 Connected to tcp://postgres.censimento.natuplan.private:5432
    enketo_express_1  |                         -------------
    nginx_1           | Creating includes directory
    kpi_1             | 2021/03/28 14:44:13 Connected to tcp://mongo.censimento.natuplan.private:27017
    kobocat_1         | Container `postgres` up.
    kpi_1             | Container `mongo` up.
    nginx_1           | Overwriting default nginx configuration
    enketo_express_1  |
    kobocat_1         | Waiting for Postgres service.
    kpi_1             | Waiting for container `postgres`.
    nginx_1           | Clearing out any default configurations
    enketo_express_1  | __/\\\\\\\\\\\\\____/\\\\____________/\\\\____/\\\\\\\\\_____
    kobocat_1         | postgres.censimento.natuplan.private:5432 - accepting connections
    nginx_1           | Proxying to `kpi` through uWSGI.
    kpi_1             | 2021/03/28 14:44:13 Waiting for: tcp://postgres.censimento.natuplan.private:5432
    enketo_express_1  |  _\/\\\/////////\\\_\/\\\\\\________/\\\\\\__/\\\///////\\\___
    kobocat_1         | Postgres service running; ensuring kobocat database exists and has PostGIS extensions...
    nginx_1           | Proxying to `kobocat` through uWSGI.
    enketo_express_1  |   _\/\\\_______\/\\\_\/\\\//\\\____/\\\//\\\_\///______\//\\\__
    kpi_1             | 2021/03/28 14:44:13 Connected to tcp://postgres.censimento.natuplan.private:5432
    kobocat_1         | ERROR:  database "kobocat" already exists
    kpi_1             | Container `postgres` up.
    enketo_express_1  |    _\/\\\\\\\\\\\\\/__\/\\\\///\\\/\\\/_\/\\\___________/\\\/___
    nginx_1           | /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh
    kobocat_1         | You are now connected to database "kobocat" as user "kobo".
    kpi_1             | Waiting for Postgres service.
    enketo_express_1  |     _\/\\\/////////____\/\\\__\///\\\/___\/\\\________/\\\//_____
    nginx_1           | /docker-entrypoint.sh: Configuration complete; ready for start up
    kobocat_1         | NOTICE:  extension "postgis" already exists, skipping
    enketo_express_1  |      _\/\\\_____________\/\\\____\///_____\/\\\_____/\\\//________
    kpi_1             | postgres.censimento.natuplan.private:5432 - accepting connections
    kobocat_1         | CREATE EXTENSION
    enketo_express_1  |       _\/\\\_____________\/\\\_____________\/\\\___/\\\/___________
    kpi_1             | Postgres service running; ensuring koboform database exists and has PostGIS extensions...
    kobocat_1         | NOTICE:  extension "postgis_topology" already exists, skipping
    enketo_express_1  |        _\/\\\_____________\/\\\_____________\/\\\__/\\\\\\\\\\\\\\\_
    kpi_1             | ERROR:  database "koboform" already exists
    kpi_1             | You are now connected to database "koboform" as user "kobo".
    enketo_express_1  |         _\///______________\///______________\///__\///////////////__
    kobocat_1         | CREATE EXTENSION
    kpi_1             | NOTICE:  extension "postgis" already exists, skipping
    enketo_express_1  |
    kpi_1             | CREATE EXTENSION
    kobocat_1         | NOTICE:  extension "fuzzystrmatch" already exists, skipping
    kobocat_1         | CREATE EXTENSION
    kobocat_1         | NOTICE:  extension "postgis_tiger_geocoder" already exists, skipping
    kpi_1             | NOTICE:  extension "postgis_topology" already exists, skipping
    enketo_express_1  |
    kpi_1             | CREATE EXTENSION
    kobocat_1         | CREATE EXTENSION
    enketo_express_1  |                           Runtime Edition
    kpi_1             | NOTICE:  extension "fuzzystrmatch" already exists, skipping
    kobocat_1         | Postgres database kobocat ready for use!
    enketo_express_1  |
    kpi_1             | CREATE EXTENSION
    kobocat_1         | *** Running /etc/my_init.d/03_wait_for_kpi.bash...
    kobocat_1         | Waiting for container `kpi`.
    kpi_1             | NOTICE:  extension "postgis_tiger_geocoder" already exists, skipping
    enketo_express_1  |         PM2 is a Production Process Manager for Node.js applications
    kpi_1             | CREATE EXTENSION
    kpi_1             | Postgres database koboform ready for use!
    enketo_express_1  |                      with a built-in Load Balancer.
    kobocat_1         | 2021/03/28 14:44:15 Waiting for host: tcp://kpi:8000
    kpi_1             | Running migrations...
    enketo_express_1  |
    kobocat_1         | 2021/03/28 14:44:21 Connected to tcp://kpi:8000
    kpi_1             | Operations to perform:
    kobocat_1         | Container `kpi` up.
    kpi_1             |   Apply all migrations: admin, auth, authtoken, contenttypes, database, django_celery_beat, django_digest, external_integrations, help, hook, hub, kpi, oauth2_provider, registration, reversion, sessions, taggit
    enketo_express_1  |                 Start and Daemonize any application:
    kpi_1             | Running migrations:
    kobocat_1         | Waiting for `kpi` web service.
    kpi_1             |   No migrations to apply.
    kobocat_1         | `kpi` web service ready.
    kobocat_1         | *** Running /etc/my_init.d/10_init_kobocat.bash...
    enketo_express_1  |                 $ pm2 start app.js
    kpi_1             |   Your models have changes that are not yet reflected in a migration, and so won't be applied.
    kobocat_1         | KoBoCAT intializing...
    kobocat_1         | Synchronizing database.
    kobocat_1         | Your environment is:"onadata.settings.kc_environ"
    kpi_1             |   Run 'manage.py makemigrations' to make new migrations, and then re-run 'manage.py migrate' to apply them.
    enketo_express_1  |
    kobocat_1         | Operations to perform:
    kpi_1             | Creating superuser...
    kobocat_1         |   Synchronize unmigrated apps: gis, staticfiles, admindocs, messages, django_extensions, readonly, humanize, export, django_nose, rest_framework, libs, corsheaders, survey_report, sms_support, pure_pagination
    kobocat_1         |   Apply all migrations: authtoken, oauth2_provider, reversion, django_celery_beat, admin, guardian, sessions, sites, auth, viewer, django_digest, contenttypes, api, taggit, registration, logger, main, restservice
    kpi_1             | User already exists.
    enketo_express_1  |                 Load Balance 4 instances of api.js:
    kobocat_1         | Synchronizing apps without migrations:
    kpi_1             | Copying static files to nginx volume...
    kobocat_1         |   Creating tables...
    kpi_1             | Cleaning up Celery PIDs...
    enketo_express_1  |                 $ pm2 start api.js -i 4
    kobocat_1         |     Running deferred SQL...
    kpi_1             | KoBoForm initialization completed.
    enketo_express_1  |
    kobocat_1         |   Installing custom SQL...
    kpi_1             | Running `kpi` container with uWSGI application server.
    enketo_express_1  |                 Monitor in production:
    kobocat_1         | Running migrations:
    kpi_1             | [uWSGI] getting INI configuration from /srv/src/kpi/uwsgi.ini
    kobocat_1         |   No migrations to apply.
    enketo_express_1  |                 $ pm2 monitor
    kobocat_1         |   Your models have changes that are not yet reflected in a migration, and so won't be applied.
    kobocat_1         |   Run 'manage.py makemigrations' to make new migrations, and then re-run 'manage.py migrate' to apply them.
    enketo_express_1  |
    kobocat_1         | Running migrations.
    kobocat_1         | Your environment is:"onadata.settings.kc_environ"
    enketo_express_1  |                 Make pm2 auto-boot at server restart:
    kobocat_1         | Operations to perform:
    kobocat_1         |   Synchronize unmigrated apps: gis, staticfiles, admindocs, messages, django_extensions, readonly, humanize, export, django_nose, rest_framework, libs, corsheaders, survey_report, sms_support, pure_pagination
    enketo_express_1  |                 $ pm2 startup
    kobocat_1         |   Apply all migrations: authtoken, oauth2_provider, reversion, django_celery_beat, admin, guardian, sessions, sites, auth, viewer, django_digest, contenttypes, api, taggit, registration, logger, main, restservice
    kobocat_1         | Synchronizing apps without migrations:
    kobocat_1         |   Creating tables...
    kobocat_1         |     Running deferred SQL...
    kobocat_1         |   Installing custom SQL...
    kobocat_1         | Running migrations:
    enketo_express_1  |
    kobocat_1         |   No migrations to apply.
    kobocat_1         |   Your models have changes that are not yet reflected in a migration, and so won't be applied.
    kobocat_1         |   Run 'manage.py makemigrations' to make new migrations, and then re-run 'manage.py migrate' to apply them.
    enketo_express_1  |                 To go further checkout:
    kobocat_1         | KoBoCat tmp clean-up cron installed
    kobocat_1         | KoBoCAT media automatic backups disabled.
    kobocat_1         | KoBoCAT initialization complete.
    enketo_express_1  |                 http://pm2.io/
    kobocat_1         | *** Running /etc/my_init.d/10_syslog-ng.init...
    kobocat_1         | Mar 28 14:44:33 kobocat syslog-ng[75]: syslog-ng starting up; version='3.5.6'
    enketo_express_1  |
    kobocat_1         | Mar 28 14:44:33 kobocat syslog-ng[75]: EOF on control channel, closing connection;
    kobocat_1         | *** Running /etc/my_init.d/11_sync_static.bash...
    enketo_express_1  |
    kobocat_1         | Collecting static files...
    kobocat_1         | Your environment is:"onadata.settings.kc_environ"
    enketo_express_1  |                         -------------
    kobocat_1         | Done
    kobocat_1         | Resetting ownership of media directory...
    kobocat_1         | Done.
    kobocat_1         | %%%%%%% NOTICE %%%%%%%
    enketo_express_1  |
    kobocat_1         | % To avoid long delays, we no longer reset ownership *recursively*
    kobocat_1         | % every time this container starts. If you have trouble with
    enketo_express_1  | pm2 launched in no-daemon mode (you can add DEBUG="*" env variable to get more messages)
    kobocat_1         | % permissions, please run the following command inside the
    kobocat_1         | % `kobocat` container:
    enketo_express_1  | 2021-03-28T14:44:16: PM2 log: Launching in no daemon mode
    kobocat_1         | %	chown -R "wsgi" "/srv/src/kobocat"
    kobocat_1         | %%%%%%%%%%%%%%%%%%%%%%
    enketo_express_1  | 2021-03-28T14:44:16: PM2 log: [PM2] This PM2 is not UP TO DATE
    kobocat_1         | Syncing to nginx folder...
    kobocat_1         | Done
    enketo_express_1  | 2021-03-28T14:44:16: PM2 log: [PM2] Upgrade to version 4.5.5
    kobocat_1         | *** Running /etc/rc.local...
    kobocat_1         | *** Booting runit daemon...
    enketo_express_1  | 2021-03-28T14:44:16: PM2 log: [PM2] Starting /srv/src/enketo_express/app.js in fork_mode (1 instance)
    kobocat_1         | *** Runit started as PID 99
    kobocat_1         | Mar 28 14:44:35 kobocat cron[106]: (CRON) INFO (pidfile fd = 3)
    enketo_express_1  | 2021-03-28T14:44:16: PM2 log: App [enketo:0] starting in -fork mode-
    kobocat_1         | Mar 28 14:44:35 kobocat cron[106]: (CRON) INFO (Running @reboot jobs)
    kobocat_1         | Running `kobocat` container with uWSGI application server.
    kobocat_1         | *** Starting uWSGI 2.0.18 (64bit) on [Sun Mar 28 14:44:35 2021] ***
    enketo_express_1  | 2021-03-28T14:44:16: PM2 log: App [enketo:0] online
    kobocat_1         | compiled with version: 5.4.0 20160609 on 11 June 2019 18:32:31
    kobocat_1         | os: Linux-4.15.0-33-generic #36-Ubuntu SMP Wed Aug 15 16:00:05 UTC 2018
    enketo_express_1  | 2021-03-28T14:44:16: PM2 log: [PM2] Done.
    kobocat_1         | nodename: kobocat
    kobocat_1         | machine: x86_64
    enketo_express_1  | 2021-03-28T14:44:17: PM2 log: ┌─────┬───────────┬─────────────┬─────────┬─────────┬──────────┬────────┬──────┬───────────┬──────────┬──────────┬──────────┬──────────┐
    kobocat_1         | clock source: unix
    kobocat_1         | pcre jit disabled
    kobocat_1         | detected number of CPU cores: 4
    enketo_express_1  | │ id  │ name      │ namespace   │ version │ mode    │ pid      │ uptime │ ↺    │ status    │ cpu      │ mem      │ user     │ watching │
    kobocat_1         | current working directory: /etc/service/uwsgi_wrong_port_warning
    kobocat_1         | detected binary path: /usr/local/bin/uwsgi
    enketo_express_1  | ├─────┼───────────┼─────────────┼─────────┼─────────┼──────────┼────────┼──────┼───────────┼──────────┼──────────┼──────────┼──────────┤
    kobocat_1         | setuid() to 1000
    kobocat_1         | *** WARNING: you are running uWSGI without its master process manager ***
    enketo_express_1  | │ 0   │ enketo    │ default     │ 2.5.6   │ fork    │ 28       │ 0s     │ 0    │ online    │ 0%       │ 30.1mb   │ root     │ disabled │
    kobocat_1         | your memory page size is 4096 bytes
    kobocat_1         | detected max file descriptor number: 1048576
    enketo_express_1  | └─────┴───────────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┴──────────┴──────────┘
    kobocat_1         | lock engine: pthread robust mutexes
    kobocat_1         | thunder lock: disabled (you can enable it with --thunder-lock)
    enketo_express_1  | 2021-03-28T14:44:17: PM2 log: [--no-daemon] Continue to stream logs
    kobocat_1         | uwsgi socket 0 bound to TCP address :8000 fd 3
    kobocat_1         | Python version: 2.7.12 (default, Nov 12 2018, 14:36:49)  [GCC 5.4.0 20160609]
    enketo_express_1  | 2021-03-28T14:44:17: PM2 log: [--no-daemon] Exit on target PM2 exit pid=1
    kobocat_1         | *** Python threads support is disabled. You can enable it with --enable-threads ***
    kobocat_1         | Python main interpreter initialized at 0x2432110
    kobocat_1         | your server socket listen backlog is limited to 100 connections
    kobocat_1         | your mercy for graceful operations on workers is 60 seconds
    kobocat_1         | mapped 72920 bytes (71 KB) for 1 cores
    kobocat_1         | *** Operational MODE: single process ***
    kobocat_1         | WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x2432110 pid: 108 (default app)
    kobocat_1         | *** uWSGI is running in multiple interpreter mode ***
    kobocat_1         | spawned uWSGI worker 1 (and the only) (pid: 108, cores: 1)
    kobocat_1         | [uWSGI] getting INI configuration from /srv/src/kobocat/docker/kobocat.ini
    kobocat_1         | Mar 28 14:50:01 kobocat CRON[148]: (root) CMD (find /tmp/ -mmin +60 -print -delete >/dev/null 2>&1)
    enketo_express_1  | 14:44:20 0|enketo  | Worker 2 ready for duty at port 8005! (environment: production)
    kobocat_1         | Mar 28 15:17:01 kobocat CRON[151]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
    kobocat_1         | Mar 28 15:50:01 kobocat CRON[154]: (root) CMD (find /tmp/ -mmin +60 -print -delete >/dev/null 2>&1)
    enketo_express_1  | 14:44:20 0|enketo  | Worker 1 ready for duty at port 8005! (environment: production)
    enketo_express_1  | 14:44:20 0|enketo  | Worker 3 ready for duty at port 8005! (environment: production)
    enketo_express_1  | 14:44:20 0|enketo  | Worker 4 ready for duty at port 8005! (environment: production)

I don’t know why it takes so long but it is just stuck around here. I am installing at a server. It stays here for more than an hour. I also tried installing on my workstation and it worked smoothly

1 Like

Maybe this post discussed previously should help you:

1 Like

Hi! Thanks for linking the other thread. I checked it. That one got stuck on a step later than this. Mine is stuck at kobocat installation

Hi @ramiz could you solve this issue? if yes, could you share, please, since I am getting frozen with the same.

Hi @ross!
Yes I fixed it. I was giving full subdomains like kobocat.mydomain.com. I just had to give the part before mydomain.com. Like: kobocat

1 Like

Thank you for answer!

1 Like