I recently installed Kobo on Ubuntu 18. The installation went fine. However, after all the containers are started, kobo remains in the waiting stage. It does not finish up and give a green message with the username and password. I checked the containers as well, all the containers are running fine. What else can be the issue?
Hey! I have the same problem. Did you solve it?
No. I haven’t been able to resolve this issue.
Hello @Louai.haddad @hamza0342 what do you get when you run
sudo python3 run.py --logs
kobofe-kpi-1 | KPI initializing…
kobofe-kpi-1 | Waiting for containermongo
.
kobofe-kpi-1 | wait-for-it: waiting 40 seconds for mongo.bicc-elephant.private:27017
kobofe-kpi-1 | wait-for-it: mongo.bicc-elephant.private:27017 is available after 0 seconds
kobofe-kpi-1 | Containermongo
up.
kobofe-kpi-1 | Waiting for containerpostgres
.
kobofe-kpi-1 | wait-for-it: waiting 20 seconds for postgres.bicc-elephant.private:5432
kobofe-kpi-1 | wait-for-it: postgres.bicc-elephant.private:5432 is available after 0 seconds
kobofe-kpi-1 | Containerpostgres
up.
kobofe-enketo_express-1 | 2023-05-22T09:44:20: PM2 log: Launching in no daemon mode
kobofe-enketo_express-1 | 2023-05-22T09:44:20: PM2 log: App [enketo:0] starting in -fork mode-
kobofe-enketo_express-1 | 2023-05-22T09:44:20: PM2 log: App [enketo:0] online
kobofe-enketo_express-1 | Worker 4 ready for duty at port 8005! (environment: production)
kobofe-enketo_express-1 | Worker 1 ready for duty at port 8005! (environment: production)
kobofe-enketo_express-1 | Worker 2 ready for duty at port 8005! (environment: production)
kobofe-enketo_express-1 | Worker 3 ready for duty at port 8005! (environment: production)
kobofe-kpi-1 | Waiting for Postgres service.
kobofe-kpi-1 | postgres.bicc-elephant.private:5432 - accepting connections
kobofe-kpi-1 | Postgres service running; ensuring koboform database exists and has PostGIS extensions…
kobofe-kpi-1 | ERROR: database “koboform” already exists
kobofe-kpi-1 | You are now connected to database “koboform” as user “kobo”.
kobofe-kpi-1 | NOTICE: extension “postgis” already exists, skipping
kobofe-kpi-1 | CREATE EXTENSION
kobofe-kpi-1 | CREATE EXTENSION
kobofe-kpi-1 | NOTICE: extension “postgis_topology” already exists, skipping
kobofe-kpi-1 | CREATE EXTENSION
kobofe-kpi-1 | NOTICE: extension “fuzzystrmatch” already exists, skipping
kobofe-nginx-1 | /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
kobofe-nginx-1 | /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
kobofe-nginx-1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
kobofe-nginx-1 | 10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf
kobofe-nginx-1 | 10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf
kobofe-nginx-1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
kobofe-nginx-1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-init-kobo-nginx.sh
kobofe-nginx-1 | Creating includes directory
kobofe-kpi-1 | CREATE EXTENSION
kobofe-nginx-1 | Overwriting default nginx configuration
kobofe-kpi-1 | NOTICE: extension “postgis_tiger_geocoder” already exists, skipping
kobofe-kpi-1 | Postgres database koboform ready for use!
kobofe-nginx-1 | Clearing out any default configurations
kobofe-nginx-1 | Proxying tokobocat
through uWSGI.
kobofe-nginx-1 | Proxying tokpi
through uWSGI.
kobofe-nginx-1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh
kobofe-nginx-1 | /docker-entrypoint.sh: Configuration complete; ready for start up
kobofe-kpi-1 | Running migrations…
kobofe-kpi-1 | Operations to perform:
kobofe-kpi-1 | Apply all migrations: account, accounts, admin, audit_log, auth, authtoken, contenttypes, database, django_celery_beat, django_digest, external_integrations, help, hook, hub, kpi, languages, mfa, oauth2_provider, organizations, project_views, reversion, sessions, socialaccount, subsequences, taggit, trackers, trash_bin, trench
kobofe-kpi-1 | Running migrations:
kobofe-kpi-1 | No migrations to apply.
kobofe-kpi-1 | Creating superuser…
kobofe-kpi-1 | User already exists.
kobofe-kpi-1 | Copying static files to nginx volume…
kobofe-kpi-1 | Cleaning up Celery PIDs…
kobofe-kpi-1 | Restore permissions on Celery logs folder
kobofe-kpi-1 | KPI initialization completed.
kobofe-kpi-1 | Runningkpi
container with uWSGI application server.
kobofe-kpi-1 | [uWSGI] getting INI configuration from /srv/src/kpi/docker/uwsgi.ini
kobofe-kpi-1 |
kobofe-kpi-1 | -------------- kpi_main_worker@kpi v5.2.6 (dawn-chorus)
kobofe-kpi-1 | — ***** -----
kobofe-kpi-1 | – ******* ---- Linux-5.15.0-72-generic-x86_64-with-glibc2.31 2023-05-22 09:44:28
kobofe-kpi-1 | - *** — * —
kobofe-kpi-1 | - ** ---------- [config]
kobofe-kpi-1 | - ** ---------- .> app: kobo:0x7f0ed184b4c0
kobofe-kpi-1 | - ** ---------- .> transport: redis://:@redis-main.bicc-elephant.private:6379/1
kobofe-kpi-1 | - ** ---------- .> results: redis://:@redis-main.bicc-elephant.private:6379/1
kobofe-kpi-1 | - *** — * — .> concurrency: {min=2, max=2} (prefork)
kobofe-kpi-1 | – ******* ---- .> task events: OFF (enable -E to monitor tasks in this worker)
kobofe-kpi-1 | — ***** -----
kobofe-kpi-1 | -------------- [queues]
kobofe-kpi-1 | .> kpi_low_priority_queue exchange=kpi_low_priority_queue(direct) key=kpi_low_priority_queue
kobofe-kobocat-1 | KoBoCAT intializing…
kobofe-kobocat-1 | Waiting for containermongo
.
kobofe-kobocat-1 | wait-for-it: waiting 40 seconds for mongo.bicc-elephant.private:27017
kobofe-kobocat-1 | wait-for-it: mongo.bicc-elephant.private:27017 is available after 0 seconds
kobofe-kobocat-1 | Containermongo
up.
kobofe-kobocat-1 | Waiting for containerpostgres
.
kobofe-kobocat-1 | wait-for-it: waiting 20 seconds for postgres.bicc-elephant.private:5432
kobofe-kobocat-1 | wait-for-it: postgres.bicc-elephant.private:5432 is available after 0 seconds
kobofe-kobocat-1 | Containerpostgres
up.
kobofe-kobocat-1 | Waiting for Postgres service.
kobofe-kobocat-1 | postgres.bicc-elephant.private:5432 - accepting connections
kobofe-kobocat-1 | Postgres service running; ensuring kobocat database exists and has PostGIS extensions…
kobofe-kobocat-1 | ERROR: database “kobocat” already exists
kobofe-kobocat-1 | You are now connected to database “kobocat” as user “kobo”.
kobofe-kobocat-1 | NOTICE: extension “postgis” already exists, skipping
kobofe-kobocat-1 | CREATE EXTENSION
kobofe-kobocat-1 | NOTICE: extension “postgis_topology” already exists, skipping
kobofe-kobocat-1 | CREATE EXTENSION
kobofe-kobocat-1 | NOTICE: extension “fuzzystrmatch” already exists, skipping
kobofe-kobocat-1 | CREATE EXTENSION
kobofe-kobocat-1 | NOTICE: extension “postgis_tiger_geocoder” already exists, skipping
kobofe-kobocat-1 | CREATE EXTENSION
kobofe-kobocat-1 | Postgres database kobocat ready for use!
kobofe-kobocat-1 | Running migrations…
kobofe-kobocat-1 | Your environment is:“onadata.settings.prod”
kobofe-kobocat-1 |
kobofe-kobocat-1 | This migration might take a while. If it is too slow, you may want to
kobofe-kobocat-1 | re-run migrations with SKIP_HEAVY_MIGRATIONS=True and apply this one
kobofe-kobocat-1 | manually from the django shell.
kobofe-kobocat-1 |
kobofe-kobocat-1 | Operations to perform:
kobofe-kobocat-1 | Apply all migrations: admin, api, auth, authtoken, contenttypes, django_celery_beat, django_digest, guardian, logger, main, oauth2_provider, restservice, reversion, sessions, sites, taggit, viewer
kobofe-kobocat-1 | Running migrations:
kobofe-kobocat-1 | No migrations to apply.
kobofe-kobocat-1 | Setting up cron tasks…
kobofe-kobocat-1 | KoBoCAT tmp clean-up cron installed
kobofe-kobocat-1 | KoBoCAT media automatic backup schedule: 0 0 * * 0
kobofe-kobocat-1 | Collecting static files…
kobofe-kobocat-1 | Your environment is:“onadata.settings.prod”
kobofe-kobocat-1 | Done
kobofe-kobocat-1 | Resetting ownership of media directory…
kobofe-kobocat-1 | Done.
kobofe-kpi-1 |
kobofe-kpi-1 |
kobofe-kobocat-1 | %%%%%%% NOTICE %%%%%%%
kobofe-kobocat-1 | % To avoid long delays, we no longer reset ownership recursively
kobofe-kobocat-1 | % every time this container starts. If you have trouble with
kobofe-kobocat-1 | % permissions, please run the following command inside the
kobofe-kobocat-1 | % KoBoCAT container:
kobofe-kobocat-1 | % chown -R “kobo” “/srv/src/kobocat”
kobofe-kobocat-1 | %%%%%%%%%%%%%%%%%%%%%%
kobofe-kobocat-1 | Syncing to nginx folder…
kobofe-kobocat-1 | Done
kobofe-kobocat-1 | Cleaning up Celery PIDs…
kobofe-kobocat-1 | KoBoCAT initialization complete.
kobofe-kobocat-1 | *** Starting uWSGI 2.0.21 (64bit) on [Mon May 22 09:44:24 2023] ***
kobofe-kobocat-1 | compiled with version: 10.2.1 20210110 on 10 May 2023 16:29:32
kobofe-kobocat-1 | os: Linux-5.15.0-72-generic #79-Ubuntu SMP Wed Apr 19 08:22:18 UTC 2023
kobofe-kobocat-1 | nodename: kobocat
kobofe-kobocat-1 | machine: x86_64
kobofe-kobocat-1 | clock source: unix
kobofe-kobocat-1 | pcre jit disabled
kobofe-kobocat-1 | detected number of CPU cores: 4
kobofe-kobocat-1 | current working directory: /etc/service/uwsgi_wrong_port_warning
kobofe-kpi-1 | [tasks]
kobofe-kpi-1 | . kobo.apps.hook.tasks.failures_reports
kobofe-kpi-1 | . kobo.apps.hook.tasks.retry_all_task
kobofe-kpi-1 | . kobo.apps.hook.tasks.service_definition_task
kobofe-kobocat-1 | detected binary path: /opt/venv/bin/uwsgi
kobofe-kpi-1 | . kobo.apps.subsequences.tasks.handle_translation_operation.handle_google_translation_operation
kobofe-kpi-1 | . kobo.apps.superuser_stats.tasks.generate_continued_usage_report
kobofe-kpi-1 | . kobo.apps.superuser_stats.tasks.generate_country_report
kobofe-kobocat-1 | setgid() to 1000
kobofe-kpi-1 | . kobo.apps.superuser_stats.tasks.generate_domain_report
kobofe-kobocat-1 | setuid() to 1000
kobofe-kpi-1 | . kobo.apps.superuser_stats.tasks.generate_forms_count_by_submission_range
kobofe-kobocat-1 | *** WARNING: you are running uWSGI without its master process manager ***
kobofe-kobocat-1 | your memory page size is 4096 bytes
kobofe-kobocat-1 | detected max file descriptor number: 1048576
kobofe-kobocat-1 | lock engine: pthread robust mutexes
kobofe-kobocat-1 | thunder lock: disabled (you can enable it with --thunder-lock)
kobofe-kobocat-1 | uwsgi socket 0 bound to TCP address :8000 fd 3
kobofe-kobocat-1 | Python version: 3.10.9 (main, Jan 23 2023, 22:43:18) [GCC 10.2.1 20210110]
kobofe-kobocat-1 | RunningKoBoCAT
container with uWSGI application server.
kobofe-kobocat-1 | [uWSGI] getting INI configuration from /srv/src/kobocat/docker/uwsgi.ini
kobofe-kobocat-1 | *** Python threads support is disabled. You can enable it with --enable-threads ***
kobofe-kobocat-1 | Python main interpreter initialized at 0x556918a70b90
kobofe-kobocat-1 | your server socket listen backlog is limited to 100 connections
kobofe-kobocat-1 | your mercy for graceful operations on workers is 60 seconds
kobofe-kobocat-1 | mapped 72920 bytes (71 KB) for 1 cores
kobofe-kobocat-1 | *** Operational MODE: single process ***
kobofe-kobocat-1 | WSGI app 0 (mountpoint=‘’) ready in 0 seconds on interpreter 0x556918a70b90 pid: 89 (default app)
kobofe-kobocat-1 | *** uWSGI is running in multiple interpreter mode ***
kobofe-kobocat-1 | spawned uWSGI worker 1 (and the only) (pid: 89, cores: 1)
kobofe-kobocat-1 |
kobofe-kpi-1 | . kobo.apps.superuser_stats.tasks.generate_media_storage_report
kobofe-kobocat-1 | -------------- kobocat_main_worker@kobocat v5.2.6 (dawn-chorus)
kobofe-kobocat-1 | — ***** -----
kobofe-kobocat-1 | – ******* ---- Linux-5.15.0-72-generic-x86_64-with-glibc2.31 2023-05-22 09:44:26
kobofe-kobocat-1 | - *** — * —
kobofe-kpi-1 | . kobo.apps.superuser_stats.tasks.generate_user_count_by_organization
kobofe-kpi-1 | . kobo.apps.superuser_stats.tasks.generate_user_details_report
kobofe-kpi-1 | . kobo.apps.superuser_stats.tasks.generate_user_report
kobofe-kpi-1 | . kobo.apps.superuser_stats.tasks.generate_user_statistics_report
kobofe-kpi-1 | . kobo.apps.trash_bin.tasks.empty_account
kobofe-kpi-1 | . kobo.apps.trash_bin.tasks.empty_project
kobofe-kpi-1 | . kobo.apps.trash_bin.tasks.garbage_collector
kobofe-kpi-1 | . kobo.celery.debug_task
kobofe-kpi-1 | . kpi.tasks.enketo_flush_cached_preview
kobofe-kpi-1 | . kpi.tasks.export_in_background
kobofe-kpi-1 | . kpi.tasks.import_in_background
kobofe-kpi-1 | . kpi.tasks.project_view_export_in_background
kobofe-kpi-1 | . kpi.tasks.remove_asset_snapshots
kobofe-kpi-1 | . kpi.tasks.sync_kobocat_xforms
kobofe-kpi-1 | . kpi.tasks.sync_media_files
kobofe-kpi-1 |
kobofe-kpi-1 |
kobofe-kpi-1 | -------------- kpi_main_worker@kpi v5.2.6 (dawn-chorus)
kobofe-kpi-1 | — ***** -----
kobofe-kpi-1 | – ******* ---- Linux-5.15.0-72-generic-x86_64-with-glibc2.31 2023-05-22 09:44:28
kobofe-kpi-1 | - *** — * —
kobofe-kpi-1 | - ** ---------- [config]
kobofe-kpi-1 | - ** ---------- .> app: kobo:0x7fbe5ec036d0
kobofe-kpi-1 | - ** ---------- .> transport: redis://:@redis-main.bicc-elephant.private:6379/1
kobofe-kpi-1 | - ** ---------- .> results: redis://:@redis-main.bicc-elephant.private:6379/1
kobofe-kpi-1 | - *** — * — .> concurrency: {min=2, max=6} (prefork)
kobofe-kpi-1 | – ******* ---- .> task events: OFF (enable -E to monitor tasks in this worker)
kobofe-kpi-1 | — ***** -----
kobofe-kpi-1 | -------------- [queues]
kobofe-kpi-1 | .> kpi_queue exchange=kpi_queue(direct) key=kpi_queue
kobofe-kpi-1 |
kobofe-kpi-1 |
kobofe-kpi-1 | [tasks]
kobofe-kpi-1 | . kobo.apps.hook.tasks.failures_reports
kobofe-kpi-1 | . kobo.apps.hook.tasks.retry_all_task
kobofe-kpi-1 | . kobo.apps.hook.tasks.service_definition_task
kobofe-kobocat-1 | - ** ---------- [config]
kobofe-kobocat-1 | - ** ---------- .> app: onadata:0x7f21894b98d0
kobofe-kobocat-1 | - ** ---------- .> transport: redis://:@redis-main.bicc-elephant.private:6379/2
kobofe-kobocat-1 | - ** ---------- .> results: redis://:@redis-main.bicc-elephant.private:6379/2
kobofe-kobocat-1 | - *** — * — .> concurrency: 4 (prefork)
kobofe-kobocat-1 | – ******* ---- .> task events: OFF (enable -E to monitor tasks in this worker)
kobofe-kobocat-1 | — ***** -----
kobofe-kpi-1 | . kobo.apps.subsequences.tasks.handle_translation_operation.handle_google_translation_operation
kobofe-kpi-1 | . kobo.apps.superuser_stats.tasks.generate_continued_usage_report
kobofe-kpi-1 | . kobo.apps.superuser_stats.tasks.generate_country_report
kobofe-kpi-1 | . kobo.apps.superuser_stats.tasks.generate_domain_report
kobofe-kpi-1 | . kobo.apps.superuser_stats.tasks.generate_forms_count_by_submission_range
kobofe-kpi-1 | . kobo.apps.superuser_stats.tasks.generate_media_storage_report
kobofe-kpi-1 | . kobo.apps.superuser_stats.tasks.generate_user_count_by_organization
kobofe-kpi-1 | . kobo.apps.superuser_stats.tasks.generate_user_details_report
kobofe-kpi-1 | . kobo.apps.superuser_stats.tasks.generate_user_report
kobofe-kpi-1 | . kobo.apps.superuser_stats.tasks.generate_user_statistics_report
kobofe-kpi-1 | . kobo.apps.trash_bin.tasks.empty_account
kobofe-kpi-1 | . kobo.apps.trash_bin.tasks.empty_project
kobofe-kpi-1 | . kobo.apps.trash_bin.tasks.garbage_collector
kobofe-kpi-1 | . kobo.celery.debug_task
kobofe-kpi-1 | . kpi.tasks.enketo_flush_cached_preview
kobofe-kpi-1 | . kpi.tasks.export_in_background
kobofe-kpi-1 | . kpi.tasks.import_in_background
kobofe-kpi-1 | . kpi.tasks.project_view_export_in_background
kobofe-kpi-1 | . kpi.tasks.remove_asset_snapshots
kobofe-kpi-1 | . kpi.tasks.sync_kobocat_xforms
kobofe-kpi-1 | . kpi.tasks.sync_media_files
kobofe-kpi-1 |
kobofe-kobocat-1 | -------------- [queues]
kobofe-kobocat-1 | .> kobocat_queue exchange=kobocat_queue(direct) key=kobocat_queue
kobofe-kobocat-1 |
kobofe-kobocat-1 |
kobofe-kobocat-1 | [tasks]
kobofe-kobocat-1 | . onadata.apps.logger.tasks.delete_daily_counters
kobofe-kobocat-1 | . onadata.apps.logger.tasks.fix_root_node_names
kobofe-kobocat-1 | . onadata.apps.logger.tasks.generate_stats_zip
kobofe-kobocat-1 | . onadata.apps.restservice.tasks.service_definition_task
kobofe-kobocat-1 | . onadata.apps.viewer.models.parsed_instance.update_mongo_instance
kobofe-kobocat-1 | . onadata.apps.viewer.tasks.create_csv_export
kobofe-kobocat-1 | . onadata.apps.viewer.tasks.create_kml_export
kobofe-kobocat-1 | . onadata.apps.viewer.tasks.create_xls_export
kobofe-kobocat-1 | . onadata.apps.viewer.tasks.create_zip_export
kobofe-kobocat-1 | . onadata.apps.viewer.tasks.delete_export
kobofe-kobocat-1 | . onadata.apps.viewer.tasks.email_mongo_sync_status
kobofe-kobocat-1 | . onadata.apps.viewer.tasks.log_stuck_exports_and_mark_failed
kobofe-kobocat-1 | . onadata.celery.debug_task
kobofe-kobocat-1 |
This is what I got from printing the error in the status_check function in the /kobo-install/helpers/network.py:
ERROR [Errno 111] Connection refused
kobofe-nginx-1 | /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
kobofe-nginx-1 | /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
kobofe-nginx-1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
kobofe-nginx-1 | 10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf
kobofe-nginx-1 | 10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf
kobofe-nginx-1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
kobofe-nginx-1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-init-kobo-nginx.sh
kobofe-nginx-1 | Creating includes directory
kobofe-nginx-1 | Overwriting default nginx configuration
kobofe-nginx-1 | Clearing out any default configurations
kobofe-nginx-1 | Proxying to kobocat
through uWSGI.
kobofe-nginx-1 | Proxying to kpi
through uWSGI.
kobofe-nginx-1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh
kobofe-nginx-1 | /docker-entrypoint.sh: Configuration complete; ready for start up
kobofe-kobocat-1 | KoBoCAT intializing…
kobofe-kobocat-1 | Waiting for container mongo
.
kobofe-kobocat-1 | wait-for-it: waiting 40 seconds for mongo.bicc-elephant.private:27017
kobofe-kobocat-1 | wait-for-it: mongo.bicc-elephant.private:27017 is available after 0 seconds
kobofe-kobocat-1 | Container mongo
up.
kobofe-kobocat-1 | Waiting for container postgres
.
kobofe-kobocat-1 | wait-for-it: waiting 20 seconds for postgres.bicc-elephant.private:5432
kobofe-kobocat-1 | wait-for-it: postgres.bicc-elephant.private:5432 is available after 0 seconds
kobofe-kobocat-1 | Container postgres
up.
kobofe-kobocat-1 | Waiting for Postgres service.
kobofe-kobocat-1 | postgres.bicc-elephant.private:5432 - accepting connections
kobofe-kobocat-1 | Postgres service running; ensuring kobocat database exists and has PostGIS extensions…
kobofe-kobocat-1 | ERROR: database “kobocat” already exists
kobofe-kobocat-1 | You are now connected to database “kobocat” as user “kobo”.
kobofe-kobocat-1 | NOTICE: extension “postgis” already exists, skipping
kobofe-kobocat-1 | CREATE EXTENSION
kobofe-kobocat-1 | NOTICE: extension “postgis_topology” already exists, skipping
kobofe-kobocat-1 | CREATE EXTENSION
kobofe-kobocat-1 | NOTICE: extension “fuzzystrmatch” already exists, skipping
kobofe-kobocat-1 | CREATE EXTENSION
kobofe-kobocat-1 | NOTICE: extension “postgis_tiger_geocoder” already exists, skipping
kobofe-kobocat-1 | CREATE EXTENSION
kobofe-kobocat-1 | Postgres database kobocat ready for use!
kobofe-kobocat-1 | Running migrations…
kobofe-kobocat-1 | Your environment is:“onadata.settings.prod”
kobofe-kobocat-1 |
kobofe-kobocat-1 | This migration might take a while. If it is too slow, you may want to
kobofe-kobocat-1 | re-run migrations with SKIP_HEAVY_MIGRATIONS=True and apply this one
kobofe-kobocat-1 | manually from the django shell.
kobofe-kobocat-1 |
kobofe-kobocat-1 | Operations to perform:
kobofe-kobocat-1 | Apply all migrations: admin, api, auth, authtoken, contenttypes, django_celery_beat, django_digest, guardian, logger, main, oauth2_provider, restservice, reversion, sessions, sites, taggit, viewer
kobofe-kobocat-1 | Running migrations:
kobofe-kobocat-1 | No migrations to apply.
kobofe-kobocat-1 | Setting up cron tasks…
kobofe-kobocat-1 | KoBoCAT tmp clean-up cron installed
kobofe-kobocat-1 | KoBoCAT media automatic backup schedule: 0 0 * * 0
kobofe-kobocat-1 | Collecting static files…
kobofe-kobocat-1 | Your environment is:“onadata.settings.prod”
kobofe-kobocat-1 | Done
kobofe-kobocat-1 | Resetting ownership of media directory…
kobofe-kobocat-1 | Done.
kobofe-kobocat-1 | %%%%%%% NOTICE %%%%%%%
kobofe-kobocat-1 | % To avoid long delays, we no longer reset ownership recursively
kobofe-kobocat-1 | % every time this container starts. If you have trouble with
kobofe-kobocat-1 | % permissions, please run the following command inside the
kobofe-kobocat-1 | % KoBoCAT container:
kobofe-kobocat-1 | % chown -R “kobo” “/srv/src/kobocat”
kobofe-kobocat-1 | %%%%%%%%%%%%%%%%%%%%%%
kobofe-kobocat-1 | Syncing to nginx folder…
kobofe-kobocat-1 | Done
kobofe-kobocat-1 | Cleaning up Celery PIDs…
kobofe-kobocat-1 | KoBoCAT initialization complete.
kobofe-kobocat-1 | *** Starting uWSGI 2.0.21 (64bit) on [Mon May 22 09:44:24 2023] ***
kobofe-kobocat-1 | compiled with version: 10.2.1 20210110 on 10 May 2023 16:29:32
kobofe-kobocat-1 | os: Linux-5.15.0-72-generic #79-Ubuntu SMP Wed Apr 19 08:22:18 UTC 2023
kobofe-kobocat-1 | nodename: kobocat
kobofe-kobocat-1 | machine: x86_64
kobofe-kobocat-1 | clock source: unix
kobofe-kobocat-1 | pcre jit disabled
kobofe-kobocat-1 | detected number of CPU cores: 4
kobofe-kobocat-1 | current working directory: /etc/service/uwsgi_wrong_port_warning
kobofe-kobocat-1 | detected binary path: /opt/venv/bin/uwsgi
kobofe-kobocat-1 | setgid() to 1000
kobofe-kobocat-1 | setuid() to 1000
kobofe-kobocat-1 | *** WARNING: you are running uWSGI without its master process manager ***
kobofe-kobocat-1 | your memory page size is 4096 bytes
kobofe-kpi-1 | KPI initializing…
kobofe-kpi-1 | Waiting for container mongo
.
kobofe-kpi-1 | wait-for-it: waiting 40 seconds for mongo.bicc-elephant.private:27017
kobofe-kpi-1 | wait-for-it: mongo.bicc-elephant.private:27017 is available after 0 seconds
kobofe-kpi-1 | Container mongo
up.
kobofe-kpi-1 | Waiting for container postgres
.
kobofe-kpi-1 | wait-for-it: waiting 20 seconds for postgres.bicc-elephant.private:5432
kobofe-kpi-1 | wait-for-it: postgres.bicc-elephant.private:5432 is available after 0 seconds
kobofe-kpi-1 | Container postgres
up.
kobofe-kpi-1 | Waiting for Postgres service.
kobofe-kpi-1 | postgres.bicc-elephant.private:5432 - accepting connections
kobofe-kpi-1 | Postgres service running; ensuring koboform database exists and has PostGIS extensions…
kobofe-kpi-1 | ERROR: database “koboform” already exists
kobofe-kpi-1 | You are now connected to database “koboform” as user “kobo”.
kobofe-kpi-1 | NOTICE: extension “postgis” already exists, skipping
kobofe-kpi-1 | CREATE EXTENSION
kobofe-kpi-1 | CREATE EXTENSION
kobofe-kpi-1 | NOTICE: extension “postgis_topology” already exists, skipping
kobofe-kpi-1 | CREATE EXTENSION
kobofe-kpi-1 | NOTICE: extension “fuzzystrmatch” already exists, skipping
kobofe-kpi-1 | CREATE EXTENSION
kobofe-kpi-1 | NOTICE: extension “postgis_tiger_geocoder” already exists, skipping
kobofe-kpi-1 | Postgres database koboform ready for use!
kobofe-kpi-1 | Running migrations…
kobofe-kpi-1 | Operations to perform:
kobofe-kpi-1 | Apply all migrations: account, accounts, admin, audit_log, auth, authtoken, contenttypes, database, django_celery_beat, django_digest, external_integrations, help, hook, hub, kpi, languages, mfa, oauth2_provider, organizations, project_views, reversion, sessions, socialaccount, subsequences, taggit, trackers, trash_bin, trench
kobofe-kpi-1 | Running migrations:
kobofe-kpi-1 | No migrations to apply.
kobofe-kpi-1 | Creating superuser…
kobofe-kpi-1 | User already exists.
kobofe-kpi-1 | Copying static files to nginx volume…
kobofe-kpi-1 | Cleaning up Celery PIDs…
kobofe-kpi-1 | Restore permissions on Celery logs folder
kobofe-kpi-1 | KPI initialization completed.
kobofe-kpi-1 | Running kpi
container with uWSGI application server.
kobofe-kpi-1 | [uWSGI] getting INI configuration from /srv/src/kpi/docker/uwsgi.ini
kobofe-kpi-1 |
kobofe-kpi-1 | -------------- kpi_main_worker@kpi v5.2.6 (dawn-chorus)
kobofe-kpi-1 | — ***** -----
kobofe-kpi-1 | – ******* ---- Linux-5.15.0-72-generic-x86_64-with-glibc2.31 2023-05-22 09:44:28
kobofe-kpi-1 | - *** — * —
kobofe-kpi-1 | - ** ---------- [config]
kobofe-kpi-1 | - ** ---------- .> app: kobo:0x7f0ed184b4c0
kobofe-kpi-1 | - ** ---------- .> transport: redis://:@redis-main.bicc-elephant.private:6379/1
kobofe-kpi-1 | - ** ---------- .> results: redis://:@redis-main.bicc-elephant.private:6379/1
kobofe-kpi-1 | - *** — * — .> concurrency: {min=2, max=2} (prefork)
kobofe-kpi-1 | – ******* ---- .> task events: OFF (enable -E to monitor tasks in this worker)
kobofe-kpi-1 | — ***** -----
kobofe-kpi-1 | -------------- [queues]
kobofe-kpi-1 | .> kpi_low_priority_queue exchange=kpi_low_priority_queue(direct) key=kpi_low_priority_queue
kobofe-kpi-1 |
kobofe-kpi-1 |
kobofe-kpi-1 | [tasks]
kobofe-kpi-1 | . kobo.apps.hook.tasks.failures_reports
kobofe-kpi-1 | . kobo.apps.hook.tasks.retry_all_task
kobofe-kpi-1 | . kobo.apps.hook.tasks.service_definition_task
kobofe-kpi-1 | . kobo.apps.subsequences.tasks.handle_translation_operation.handle_google_translation_operation
kobofe-kpi-1 | . kobo.apps.superuser_stats.tasks.generate_continued_usage_report
kobofe-kpi-1 | . kobo.apps.superuser_stats.tasks.generate_country_report
kobofe-kpi-1 | . kobo.apps.superuser_stats.tasks.generate_domain_report
kobofe-kpi-1 | . kobo.apps.superuser_stats.tasks.generate_forms_count_by_submission_range
kobofe-kpi-1 | . kobo.apps.superuser_stats.tasks.generate_media_storage_report
kobofe-kpi-1 | . kobo.apps.superuser_stats.tasks.generate_user_count_by_organization
kobofe-kpi-1 | . kobo.apps.superuser_stats.tasks.generate_user_details_report
kobofe-kpi-1 | . kobo.apps.superuser_stats.tasks.generate_user_report
kobofe-kpi-1 | . kobo.apps.superuser_stats.tasks.generate_user_statistics_report
kobofe-kpi-1 | . kobo.apps.trash_bin.tasks.empty_account
kobofe-kpi-1 | . kobo.apps.trash_bin.tasks.empty_project
kobofe-kpi-1 | . kobo.apps.trash_bin.tasks.garbage_collector
kobofe-kpi-1 | . kobo.celery.debug_task
kobofe-kpi-1 | . kpi.tasks.enketo_flush_cached_preview
kobofe-kpi-1 | . kpi.tasks.export_in_background
kobofe-kpi-1 | . kpi.tasks.import_in_background
kobofe-kpi-1 | . kpi.tasks.project_view_export_in_background
kobofe-kpi-1 | . kpi.tasks.remove_asset_snapshots
kobofe-kpi-1 | . kpi.tasks.sync_kobocat_xforms
kobofe-kpi-1 | . kpi.tasks.sync_media_files
kobofe-kpi-1 |
kobofe-kpi-1 |
kobofe-kpi-1 | -------------- kpi_main_worker@kpi v5.2.6 (dawn-chorus)
kobofe-kpi-1 | — ***** -----
kobofe-kpi-1 | – ******* ---- Linux-5.15.0-72-generic-x86_64-with-glibc2.31 2023-05-22 09:44:28
kobofe-kpi-1 | - *** — * —
kobofe-kpi-1 | - ** ---------- [config]
kobofe-kpi-1 | - ** ---------- .> app: kobo:0x7fbe5ec036d0
kobofe-kpi-1 | - ** ---------- .> transport: redis://:@redis-main.bicc-elephant.private:6379/1
kobofe-kpi-1 | - ** ---------- .> results: redis://:@redis-main.bicc-elephant.private:6379/1
kobofe-kpi-1 | - *** — * — .> concurrency: {min=2, max=6} (prefork)
kobofe-kpi-1 | – ******* ---- .> task events: OFF (enable -E to monitor tasks in this worker)
kobofe-kpi-1 | — ***** -----
kobofe-kpi-1 | -------------- [queues]
kobofe-kpi-1 | .> kpi_queue exchange=kpi_queue(direct) key=kpi_queue
kobofe-kpi-1 |
kobofe-kpi-1 |
kobofe-kpi-1 | [tasks]
kobofe-kpi-1 | . kobo.apps.hook.tasks.failures_reports
kobofe-kpi-1 | . kobo.apps.hook.tasks.retry_all_task
kobofe-kpi-1 | . kobo.apps.hook.tasks.service_definition_task
kobofe-kpi-1 | . kobo.apps.subsequences.tasks.handle_translation_operation.handle_google_translation_operation
kobofe-kpi-1 | . kobo.apps.superuser_stats.tasks.generate_continued_usage_report
kobofe-kpi-1 | . kobo.apps.superuser_stats.tasks.generate_country_report
kobofe-kpi-1 | . kobo.apps.superuser_stats.tasks.generate_domain_report
kobofe-kpi-1 | . kobo.apps.superuser_stats.tasks.generate_forms_count_by_submission_range
kobofe-kpi-1 | . kobo.apps.superuser_stats.tasks.generate_media_storage_report
kobofe-kpi-1 | . kobo.apps.superuser_stats.tasks.generate_user_count_by_organization
kobofe-kpi-1 | . kobo.apps.superuser_stats.tasks.generate_user_details_report
kobofe-kpi-1 | . kobo.apps.superuser_stats.tasks.generate_user_report
kobofe-kpi-1 | . kobo.apps.superuser_stats.tasks.generate_user_statistics_report
kobofe-kpi-1 | . kobo.apps.trash_bin.tasks.empty_account
kobofe-kpi-1 | . kobo.apps.trash_bin.tasks.empty_project
kobofe-kpi-1 | . kobo.apps.trash_bin.tasks.garbage_collector
kobofe-kpi-1 | . kobo.celery.debug_task
kobofe-kpi-1 | . kpi.tasks.enketo_flush_cached_preview
kobofe-kpi-1 | . kpi.tasks.export_in_background
kobofe-kpi-1 | . kpi.tasks.import_in_background
kobofe-kpi-1 | . kpi.tasks.project_view_export_in_background
kobofe-kpi-1 | . kpi.tasks.remove_asset_snapshots
kobofe-kpi-1 | . kpi.tasks.sync_kobocat_xforms
kobofe-kpi-1 | . kpi.tasks.sync_media_files
kobofe-kpi-1 |
kobofe-kobocat-1 | detected max file descriptor number: 1048576
kobofe-kobocat-1 | lock engine: pthread robust mutexes
kobofe-kobocat-1 | thunder lock: disabled (you can enable it with --thunder-lock)
kobofe-kobocat-1 | uwsgi socket 0 bound to TCP address :8000 fd 3
kobofe-kobocat-1 | Python version: 3.10.9 (main, Jan 23 2023, 22:43:18) [GCC 10.2.1 20210110]
kobofe-kobocat-1 | Running KoBoCAT
container with uWSGI application server.
kobofe-kobocat-1 | [uWSGI] getting INI configuration from /srv/src/kobocat/docker/uwsgi.ini
kobofe-kobocat-1 | *** Python threads support is disabled. You can enable it with --enable-threads ***
kobofe-kobocat-1 | Python main interpreter initialized at 0x556918a70b90
kobofe-kobocat-1 | your server socket listen backlog is limited to 100 connections
kobofe-kobocat-1 | your mercy for graceful operations on workers is 60 seconds
kobofe-kobocat-1 | mapped 72920 bytes (71 KB) for 1 cores
kobofe-kobocat-1 | *** Operational MODE: single process ***
kobofe-kobocat-1 | WSGI app 0 (mountpoint=‘’) ready in 0 seconds on interpreter 0x556918a70b90 pid: 89 (default app)
kobofe-kobocat-1 | *** uWSGI is running in multiple interpreter mode ***
kobofe-kobocat-1 | spawned uWSGI worker 1 (and the only) (pid: 89, cores: 1)
kobofe-kobocat-1 |
kobofe-kobocat-1 | -------------- kobocat_main_worker@kobocat v5.2.6 (dawn-chorus)
kobofe-kobocat-1 | — ***** -----
kobofe-kobocat-1 | – ******* ---- Linux-5.15.0-72-generic-x86_64-with-glibc2.31 2023-05-22 09:44:26
kobofe-kobocat-1 | - *** — * —
kobofe-kobocat-1 | - ** ---------- [config]
kobofe-kobocat-1 | - ** ---------- .> app: onadata:0x7f21894b98d0
kobofe-kobocat-1 | - ** ---------- .> transport: redis://:@redis-main.bicc-elephant.private:6379/2
kobofe-kobocat-1 | - ** ---------- .> results: redis://:@redis-main.bicc-elephant.private:6379/2
kobofe-kobocat-1 | - *** — * — .> concurrency: 4 (prefork)
kobofe-kobocat-1 | – ******* ---- .> task events: OFF (enable -E to monitor tasks in this worker)
kobofe-kobocat-1 | — ***** -----
kobofe-kobocat-1 | -------------- [queues]
kobofe-kobocat-1 | .> kobocat_queue exchange=kobocat_queue(direct) key=kobocat_queue
kobofe-kobocat-1 |
kobofe-kobocat-1 |
kobofe-kobocat-1 | [tasks]
kobofe-kobocat-1 | . onadata.apps.logger.tasks.delete_daily_counters
kobofe-kobocat-1 | . onadata.apps.logger.tasks.fix_root_node_names
kobofe-kobocat-1 | . onadata.apps.logger.tasks.generate_stats_zip
kobofe-kobocat-1 | . onadata.apps.restservice.tasks.service_definition_task
kobofe-kobocat-1 | . onadata.apps.viewer.models.parsed_instance.update_mongo_instance
kobofe-kobocat-1 | . onadata.apps.viewer.tasks.create_csv_export
kobofe-kobocat-1 | . onadata.apps.viewer.tasks.create_kml_export
kobofe-kobocat-1 | . onadata.apps.viewer.tasks.create_xls_export
kobofe-kobocat-1 | . onadata.apps.viewer.tasks.create_zip_export
kobofe-kobocat-1 | . onadata.apps.viewer.tasks.delete_export
kobofe-kobocat-1 | . onadata.apps.viewer.tasks.email_mongo_sync_status
kobofe-kobocat-1 | . onadata.apps.viewer.tasks.log_stuck_exports_and_mark_failed
kobofe-kobocat-1 | . onadata.celery.debug_task
kobofe-kobocat-1 |
kobofe-enketo_express-1 | 2023-05-22T09:44:20: PM2 log: Launching in no daemon mode
kobofe-enketo_express-1 | 2023-05-22T09:44:20: PM2 log: App [enketo:0] starting in -fork mode-
kobofe-enketo_express-1 | 2023-05-22T09:44:20: PM2 log: App [enketo:0] online
kobofe-enketo_express-1 | Worker 4 ready for duty at port 8005! (environment: production)
kobofe-enketo_express-1 | Worker 1 ready for duty at port 8005! (environment: production)
kobofe-enketo_express-1 | Worker 2 ready for duty at port 8005! (environment: production)
kobofe-enketo_express-1 | Worker 3 ready for duty at port 8005! (environment: production)
Ok, how about when you run this command
ps -ef | grep redis
This is what I got:
lxd 48909 48860 0 12:37 ? 00:00:00 redis-server 127.0.0.1:6380
lxd 48927 48891 0 12:37 ? 00:00:00 redis-server 127.0.0.1:6379
elephant 55776 55753 0 12:47 pts/2 00:00:00 grep --color=auto redis
Thas means redis is ok.
Can you ensure
- Port port 80 and 443 are open
- Ensure you configure DNS is well configured, domain name kf.domainname.ltd, ee.domainname.ltd, kc.domainname.ltd are pointed to the external ip
I’m having the same issue (Ubuntu 22.04 LTS).
I verified port 80, 443 work and was able to use this (GitHub - evgeniy-khist/letsencrypt-docker-compose: Set up Nginx and Let’s Encrypt with Docker Compose in less than 3 minutes with a Docker Compose project, which automatically obtains and renews free Let's Encrypt SSL/TLS certificates and sets up HTTPS in Nginx for multiple domain names and a simple CLI configuration management tool.) to get HTTPS working.
I’m totally stuck. I got Kobo working with HTTPS back in 2019, but I can’t get past this problem now in 2023.
I think part of the problem may center on changes to Docker compose. It went from docker-compose
to docker compose
For example:
myname@kobo:~/kobo-install$ which docker-compose
myname@kobo:~/kobo-install$ which docker compose
/usr/bin/docker
The old (deprecated) docker DASH compose (docker-compose
) seems expected here: kobo-install/init-letsencrypt.sh.tpl at master · kobotoolbox/kobo-install · GitHub
As a workaround, added a script to my server in order to mimic the old docker-compose
command (see: How to alias docker-compose to docker compose? - Stack Overflow), and that seems to have resolved the problems with HTTPS / Let’s Encrypt in the setup!
I filed a ticket here: Let's Encrypt / Nginx scripts expect obsolete "docker-compose" command · Issue #230 · kobotoolbox/kobo-install · GitHub