Kobo-install not working CentOS 7 [SOLVED]

Hello everyone,

I cannot run kobo-install successfully.

I end up going several times through this installation step for an hour now:

`KoBoToolbox` has not started yet. This is can be normal with low CPU/RAM cfomputers.

Wait for another 600 seconds?
        1) Yes
        2) No
[1]: 1
....

My setup (for dev purposes only):

  • OS: Centos7
  • CPU: 2.5GHz
  • RAM: 8Gb

Note that:

  • I haven’t an SMTP server available yet so I left thoses values to default.
  • All my domains-names are properly set up (DNS config), I could ping each of them from my client.
  • Port 80 and 443 are open.

Any help will be welcome. Thank you in advance.

docker ps

CONTAINER ID   IMAGE                                            COMMAND                  CREATED       STATUS       PORTS           NAMES
cf894adff053   kobotoolbox/kpi:2.021.47                         "/bin/bash -c 'exec …"   3 hours ago   Up 3 hours   8000/tcp        kobofe_kpi_1
6b40be503bde   kobotoolbox/kobocat:2.021.47                     "/bin/bash -c 'exec …"   3 hours ago   Up 3 hours   8000-8001/tcp   kobofe_kobocat_1
878cf6b671ce   nginx:1.21                                       "/docker-entrypoint.…"   3 hours ago   Up 3 hours   80/tcp          kobofe_nginx_1
0e11650ae4e5   kobotoolbox/enketo-express-extra-widgets:2.8.1   "docker-entrypoint.s…"   3 hours ago   Up 3 hours   8005/tcp        kobofe_enketo_express_1
5c889ab9a230   redis:3.2                                        "docker-entrypoint.s…"   3 hours ago   Up 3 hours   6379/tcp        kobobe_redis_cache_1
6a579ad2a8d9   redis:3.2                                        "docker-entrypoint.s…"   3 hours ago   Up 3 hours   6379/tcp        kobobe_redis_main_1
313a758da5c6   postgis/postgis:9.5-2.5                          "docker-entrypoint.s…"   3 hours ago   Up 3 hours   5432/tcp        kobobe_postgres_1
6c499354cabc   mongo:3.4                                        "docker-entrypoint.s…"   3 hours ago   Up 3 hours   27017/tcp       kobobe_mongo_1

.run.conf

{
  "advanced": false,
  "aws_access_key": "",
  "aws_backup_bucket_deletion_rule_enabled": false,
  "aws_backup_bucket_name": "",
  "aws_backup_daily_retention": "30",
  "aws_backup_monthly_retention": "12",
  "aws_backup_upload_chunk_size": "15",
  "aws_backup_weekly_retention": "4",
  "aws_backup_yearly_retention": "2",
  "aws_bucket_name": "",
  "aws_credentials_valid": false,
  "aws_mongo_backup_minimum_size": "50",
  "aws_postgres_backup_minimum_size": "50",
  "aws_redis_backup_minimum_size": "5",
  "aws_secret_key": "",
  "aws_validate_credentials": true,
  "backend_server_role": "primary",
  "backup_from_primary": true,
  "block_common_http_ports": true,
  "custom_secret_keys": false,
  "customized_ports": false,
  "date_created": 1648545551,
  "date_modified": 1648545551,
  "debug": false,
  "default_from_email": "support@mysecretdomain.fr",
  "dev_mode": false,
  "django_secret_key": "REDACTED",
  "docker_prefix": "",
  "ee_subdomain": "ee",
  "enketo_api_token": "REDACTED",
  "enketo_encryption_key": "REDACTED",
  "enketo_less_secure_encryption_key": "REDACTED",
  "expose_backend_ports": false,
  "exposed_nginx_docker_port": "80",
  "google_api_key": "",
  "google_ua": "",
  "https": true,
  "internal_domain_name": "mysecretdomain.internal",
  "kc_dev_build_id": "",
  "kc_path": "",
  "kc_postgres_db": "kobocat",
  "kc_subdomain": "kc",
  "kobocat_media_backup_schedule": "0 0 * * 0",
  "kobocat_raven": "",
  "kobodocker_path": "/home/centos/DOCKER/kobo/kobo-main",
  "kpi_dev_build_id": "",
  "kpi_path": "",
  "kpi_postgres_db": "koboform",
  "kpi_raven": "",
  "kpi_raven_js": "",
  "kpi_subdomain": "kf",
  "letsencrypt_email": "support@kobo.local",
  "local_installation": false,
  "local_interface": "eth0",
  "local_interface_ip": "REDACTED",
  "maintenance_date_iso": "",
  "maintenance_date_str": "",
  "maintenance_email": "support@kobo.local",
  "maintenance_enabled": false,
  "maintenance_eta": "2 hours",
  "mongo_backup_schedule": "0 1 * * 0",
  "mongo_port": "27017",
  "mongo_root_password": "REDACTED",
  "mongo_root_username": "root",
  "mongo_secured": true,
  "mongo_user_password": "REDACTED",
  "mongo_user_username": "kobo",
  "multi": false,
  "nginx_proxy_port": "8080",
  "npm_container": true,
  "postgres_backup_schedule": "0 2 * * 0",
  "postgres_hard_drive_type": "hdd",
  "postgres_max_connections": "100",
  "postgres_password": "REDACTED",
  "postgres_profile": "Mixed",
  "postgres_ram": "2",
  "postgres_replication_password": "REDACTED",
  "postgres_settings": false,
  "postgres_settings_content": "# Memory Configuration\nshared_buffers = 512MB\neffective_cache_size = 2GB\nwork_mem = 10MB\nmaintenance_work_mem = 128MB\n\n# Checkpoint Related Configuration\nmin_wal_size = 512MB\nmax_wal_size = 2GB\ncheckpoint_completion_target = 0.9\nwal_buffers = 15MB\n\n# Network Related Configuration\nlisten_addresses = '*'\nmax_connections = 100",
  "postgres_user": "kobo",
  "postgresql_port": "5432",
  "primary_backend_ip": "REDACTED",
  "private_domain_name": "mysecretdomain.private",
  "proxy": true,
  "public_domain_name": "mysecretdomain.fr",
  "raven_settings": false,
  "redis_backup_schedule": "0 3 * * 0",
  "redis_cache_max_memory": "",
  "redis_cache_port": "6380",
  "redis_main_port": "6379",
  "redis_password": "REDACTED",
  "review_host": true,
  "run_redis_containers": true,
  "server_role": "frontend",
  "smtp_host": "",
  "smtp_password": "",
  "smtp_port": "25",
  "smtp_use_tls": false,
  "smtp_user": "",
  "staging_mode": false,
  "super_user_password": "REDACTED",
  "super_user_username": "super_admin",
  "two_databases": true,
  "unique_id": 1648545497,
  "use_aws": false,
  "use_backend_custom_yml": false,
  "use_backup": false,
  "use_booleans_v4": true,
  "use_celery": true,
  "use_frontend_custom_yml": false,
  "use_letsencrypt": true,
  "use_private_dns": false,
  "use_wal_e": false,
  "uwsgi_harakiri": "120",
  "uwsgi_max_requests": "512",
  "uwsgi_settings": false,
  "uwsgi_soft_limit": "128",
  "uwsgi_worker_reload_mercy": "120",
  "uwsgi_workers_max": "2",
  "uwsgi_workers_start": "1"
}

run.py -- log output:

enketo_express_1  | sha1sum: /srv/src/enketo_express/checksum/config.json.sha1: No such file or directory
enketo_express_1  | cat: /srv/src/enketo_express/checksum/last_build_commit.txt: No such file or directory
enketo_express_1  | Grunt needs to be run!
enketo_express_1  | Running "shell:clean-js" (shell) task
enketo_express_1  |
enketo_express_1  | Running "shell:clean-css" (shell) task
enketo_express_1  |
enketo_express_1  | Running "shell:clean-locales" (shell) task
enketo_express_1  |
enketo_express_1  | Running "i18next:locales" (i18next) task
enketo_express_1  |
enketo_express_1  | Running "widgets" task
enketo_express_1  | File public/js/build/widgets.js created
enketo_express_1  | File app/views/styles/component/_widgets.scss created
enketo_express_1  |
enketo_express_1  | Running "system-sass-variables:create" (system-sass-variables) task
enketo_express_1  | File app/views/styles/component/_system_variables.scss created
enketo_express_1  |
enketo_express_1  | Running "sass:compile" (sass) task
enketo_express_1  |
enketo_express_1  | Running "widgets" task
enketo_express_1  | File public/js/build/widgets.js created
enketo_express_1  | File app/views/styles/component/_widgets.scss created
enketo_express_1  |
enketo_express_1  | Running "shell:build" (shell) task
enketo_express_1  |
enketo_express_1  | Done.
enketo_express_1  |
enketo_express_1  |
enketo_express_1  | Execution Time (2022-03-29 09:20:00 UTC-0)
enketo_express_1  | loading tasks    905ms  β–‡β–‡β–‡β–‡β–‡β–‡β–‡β–‡ 16%
enketo_express_1  | shell:clean-js    71ms  β–‡ 1%
enketo_express_1  | i18next:locales   82ms  β–‡ 1%
enketo_express_1  | sass:compile      1.9s  β–‡β–‡β–‡β–‡β–‡β–‡β–‡β–‡β–‡β–‡β–‡β–‡β–‡β–‡β–‡ 33%
enketo_express_1  | shell:build       2.7s  β–‡β–‡β–‡β–‡β–‡β–‡β–‡β–‡β–‡β–‡β–‡β–‡β–‡β–‡β–‡β–‡β–‡β–‡β–‡β–‡β–‡β–‡ 47%
enketo_express_1  | Total 5.8s
enketo_express_1  |
enketo_express_1  | Saving current commit...
enketo_express_1  | Saving config hash...
enketo_express_1  | Creating .not-empty files
enketo_express_1  |
enketo_express_1  |                         -------------
enketo_express_1  |
enketo_express_1  | __/\\\\\\\\\\\\\____/\\\\____________/\\\\____/\\\\\\\\\_____
enketo_express_1  |  _\/\\\/////////\\\_\/\\\\\\________/\\\\\\__/\\\///////\\\___
enketo_express_1  |   _\/\\\_______\/\\\_\/\\\//\\\____/\\\//\\\_\///______\//\\\__
enketo_express_1  |    _\/\\\\\\\\\\\\\/__\/\\\\///\\\/\\\/_\/\\\___________/\\\/___
enketo_express_1  |     _\/\\\/////////____\/\\\__\///\\\/___\/\\\________/\\\//_____
enketo_express_1  |      _\/\\\_____________\/\\\____\///_____\/\\\_____/\\\//________
enketo_express_1  |       _\/\\\_____________\/\\\_____________\/\\\___/\\\/___________
enketo_express_1  |        _\/\\\_____________\/\\\_____________\/\\\__/\\\\\\\\\\\\\\\_
enketo_express_1  |         _\///______________\///______________\///__\///////////////__
enketo_express_1  |
enketo_express_1  |
enketo_express_1  |                           Runtime Edition
enketo_express_1  |
enketo_express_1  |         PM2 is a Production Process Manager for Node.js applications
enketo_express_1  |                      with a built-in Load Balancer.
enketo_express_1  |
enketo_express_1  |                 Start and Daemonize any application:
enketo_express_1  |                 $ pm2 start app.js
enketo_express_1  |
enketo_express_1  |                 Load Balance 4 instances of api.js:
enketo_express_1  |                 $ pm2 start api.js -i 4
enketo_express_1  |
enketo_express_1  |                 Monitor in production:
enketo_express_1  |                 $ pm2 monitor
enketo_express_1  |
enketo_express_1  |                 Make pm2 auto-boot at server restart:
enketo_express_1  |                 $ pm2 startup
enketo_express_1  |
enketo_express_1  |                 To go further checkout:
kobocat_1         | KoBoCAT intializing...
kobocat_1         | Waiting for container `mongo`.
kobocat_1         | wait-for-it: waiting 40 seconds for mongo.mysecretdomain.private:27017
kobocat_1         | wait-for-it: mongo.mysecretdomain.private:27017 is available after 0 seconds
kobocat_1         | Container `mongo` up.
kobocat_1         | Waiting for container `postgres`.
kobocat_1         | wait-for-it: waiting 20 seconds for postgres.mysecretdomain.private:5432
kobocat_1         | wait-for-it: postgres.mysecretdomain.private:5432 is available after 0 seconds
kobocat_1         | Container `postgres` up.
kobocat_1         | Waiting for Postgres service.
kobocat_1         | postgres.mysecretdomain.private:5432 - accepting connections
kobocat_1         | Postgres service running; ensuring kobocat database exists and has PostGIS extensions...
kobocat_1         | CREATE DATABASE
kobocat_1         | You are now connected to database "kobocat" as user "kobo".
kobocat_1         | CREATE EXTENSION
kobocat_1         | CREATE EXTENSION
kobocat_1         | CREATE EXTENSION
kobocat_1         | CREATE EXTENSION
kobocat_1         | Postgres database kobocat ready for use!
kobocat_1         | Running migrations...
kobocat_1         | Expanding `change_xform` into `change_xform` and `delete_data_xform`. This may take several minutes on large databases...
kobocat_1         | Creating 0 model-level permission assignments...
kobocat_1         | Creating 0 object-level permission assignments...
kobocat_1         | Your environment is:"onadata.settings.prod"
kobocat_1         | Operations to perform:
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
kobocat_1         | Running migrations:
kobocat_1         |   Applying contenttypes.0001_initial... OK
kobocat_1         |   Applying auth.0001_initial... OK
kobocat_1         |   Applying admin.0001_initial... OK
kobocat_1         |   Applying admin.0002_logentry_remove_auto_add... OK
kobocat_1         |   Applying admin.0003_logentry_add_action_flag_choices... OK
kobocat_1         |   Applying guardian.0001_initial... OK
kobocat_1         |   Applying contenttypes.0002_remove_content_type_name... OK
kobocat_1         |   Applying auth.0002_alter_permission_name_max_length... OK
kobocat_1         |   Applying auth.0003_alter_user_email_max_length... OK
kobocat_1         |   Applying auth.0004_alter_user_username_opts... OK
enketo_express_1  |                 http://pm2.io/
enketo_express_1  |
enketo_express_1  |
enketo_express_1  |                         -------------
enketo_express_1  |
enketo_express_1  | pm2 launched in no-daemon mode (you can add DEBUG="*" env variable to get more messages)
enketo_express_1  | [PM2] This PM2 is not UP TO DATE
enketo_express_1  | [PM2] Upgrade to version 5.2.0
enketo_express_1  | 2022-03-29T09:20:06: PM2 log: Launching in no daemon mode
enketo_express_1  | 2022-03-29T09:20:06: PM2 log: [PM2] Starting /srv/src/enketo_express/app.js in fork_mode (1 instance)
enketo_express_1  | 2022-03-29T09:20:06: PM2 log: App [enketo:0] starting in -fork mode-
enketo_express_1  | 2022-03-29T09:20:06: PM2 log: App [enketo:0] online
enketo_express_1  | 2022-03-29T09:20:06: PM2 log: [PM2] Done.
enketo_express_1  | 2022-03-29T09:20:06: PM2 log: β”Œβ”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
enketo_express_1  | β”‚ id  β”‚ name      β”‚ namespace   β”‚ version β”‚ mode    β”‚ pid      β”‚ uptime β”‚ β†Ί    β”‚ status    β”‚ cpu      β”‚ mem      β”‚ user     β”‚ watching β”‚
enketo_express_1  | β”œβ”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
enketo_express_1  | β”‚ 0   β”‚ enketo    β”‚ default     β”‚ 2.8.1   β”‚ fork    β”‚ 78       β”‚ 0s     β”‚ 0    β”‚ online    β”‚ 0%       β”‚ 21.4mb   β”‚ root     β”‚ disabled β”‚
enketo_express_1  | β””β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
enketo_express_1  | 2022-03-29T09:20:06: PM2 log: [--no-daemon] Continue to stream logs
enketo_express_1  | 2022-03-29T09:20:06: PM2 log: [--no-daemon] Exit on target PM2 exit pid=1
enketo_express_1  | 09:20:08 0|enketo  | Worker 2 ready for duty at port 8005! (environment: production)
enketo_express_1  | 09:20:08 0|enketo  | Worker 1 ready for duty at port 8005! (environment: production)
kobocat_1         |   Applying auth.0005_alter_user_last_login_null... OK
kobocat_1         |   Applying auth.0006_require_contenttypes_0002... OK
kobocat_1         |   Applying taggit.0001_initial... OK
kobocat_1         |   Applying taggit.0002_auto_20150616_2121... OK
kobocat_1         |   Applying logger.0001_initial... OK
kobocat_1         |   Applying main.0001_initial... OK
kobocat_1         |   Applying api.0001_initial... OK
kobocat_1         |   Applying api.0002_remove_not_used_models... OK
kobocat_1         |   Applying api.0003_add_one_time_auth_token_model... OK
kobocat_1         |   Applying api.0004_onetimeauthtoken_request_identifier... OK
kobocat_1         |   Applying auth.0007_alter_validators_add_error_messages... OK
kobocat_1         |   Applying auth.0008_alter_user_username_max_length... OK
kobocat_1         |   Applying auth.0009_alter_user_last_name_max_length... OK
kobocat_1         |   Applying auth.0010_alter_group_name_max_length... OK
kobocat_1         |   Applying auth.0011_update_proxy_permissions... OK
kobocat_1         |   Applying authtoken.0001_initial... OK
kobocat_1         |   Applying authtoken.0002_auto_20160226_1747... OK
kobocat_1         |   Applying django_celery_beat.0001_initial... OK
kobocat_1         |   Applying django_celery_beat.0002_auto_20161118_0346... OK
kobocat_1         |   Applying django_celery_beat.0003_auto_20161209_0049... OK
kobocat_1         |   Applying django_celery_beat.0004_auto_20170221_0000... OK
kobocat_1         |   Applying django_celery_beat.0005_add_solarschedule_events_choices... OK
kobocat_1         |   Applying django_celery_beat.0006_auto_20180322_0932... OK
kobocat_1         |   Applying django_celery_beat.0007_auto_20180521_0826... OK
kobocat_1         |   Applying django_celery_beat.0008_auto_20180914_1922... OK
kobocat_1         |   Applying django_celery_beat.0006_auto_20180210_1226... OK
kobocat_1         |   Applying django_celery_beat.0006_periodictask_priority... OK
kobocat_1         |   Applying django_celery_beat.0009_periodictask_headers... OK
kobocat_1         |   Applying django_celery_beat.0010_auto_20190429_0326... OK
kobocat_1         |   Applying django_celery_beat.0011_auto_20190508_0153... OK
kobocat_1         |   Applying django_celery_beat.0012_periodictask_expire_seconds... OK
kobocat_1         |   Applying django_digest.0001_initial... OK
kobocat_1         |   Applying guardian.0002_generic_permissions_index... OK
kobocat_1         |   Applying logger.0002_attachment_filename_length... OK
kobocat_1         |   Applying logger.0003_add-index-on-attachment-media-file... OK
kobocat_1         |   Applying logger.0004_increase-length-of-attachment-mimetype-field... OK
kobocat_1         |   Applying logger.0005_instance_xml_hash... OK
kobocat_1         |   Applying logger.0006_add_validation_status_json_field_in_instance_table... OK
kobocat_1         |   Applying logger.0007_add_validate_permission_on_xform... OK
kobocat_1         |   Applying logger.0008_add_instance_is_synced_with_mongo_and_xform_has_kpi_hooks... OK
kobocat_1         |   Applying logger.0009_add_posted_to_kpi_field_to_logger_instance... OK
kobocat_1         |   Applying logger.0010_attachment_media_file_basename... OK
kobocat_1         |   Applying logger.0011_add-index-to-instance-uuid_and_xform_uuid... OK
kobocat_1         |   Applying logger.0012_add_asset_uid_to_xform... OK
kobocat_1         |   Applying logger.0013_remove_bamboo_and_ziggy_instance... OK
kobocat_1         |   Applying logger.0014_attachment_add_media_file_size... OK
kobocat_1         |   Applying logger.0015_add_delete_data_permission... OK
kobocat_1         |   Applying logger.0016_remove_conflicting_view_permissions... OK
kobocat_1         |   Applying logger.0017_remove_xform_sms... OK
kobocat_1         |   Applying logger.0018_add_submission_counter... OK
kobocat_1         |   Applying logger.0019_purge_deleted_instances... OK
kobocat_1         |   Applying logger.0020_submission_counter_timestamp_as_date... OK
kobocat_1         |   Applying main.0002_auto_20160205_1915... OK
kobocat_1         |   Applying main.0003_add_field_from_kpi_to_metadata... OK
kobocat_1         |   Applying main.0004_drop_tokenstoragemodel_table... OK
kobocat_1         |   Applying main.0005_add_optional_filename_to_metadata... OK
kobocat_1         |   Applying main.0006_add_creation_and_modification_dates_to_metadata... OK
kobocat_1         |   Applying oauth2_provider.0001_initial... OK
kobocat_1         |   Applying oauth2_provider.0002_auto_20190406_1805... OK
kobocat_1         |   Applying restservice.0001_initial... OK
kobocat_1         |   Applying restservice.0002_add_related_name_with_delete_on_cascade... OK
kobocat_1         |   Applying restservice.0003_remove_deprecated_services... OK
kobocat_1         |   Applying reversion.0001_squashed_0004_auto_20160611_1202... OK
kobocat_1         |   Applying sessions.0001_initial... OK
kobocat_1         |   Applying sites.0001_initial... OK
kobocat_1         |   Applying sites.0002_alter_domain_unique... OK
kobocat_1         |   Applying taggit.0003_taggeditem_add_unique_index... OK
kobocat_1         |   Applying viewer.0001_initial... OK
kobocat_1         |   Applying viewer.0002_auto_20160205_1915... OK
kobocat_1         |   Applying viewer.0003_auto_20171123_1521... OK
kobocat_1         |   Applying viewer.0004_update_meta_data_export_types... OK
kobocat_1         | Setting up cron tasks...
kobocat_1         | KoBoCAT tmp clean-up cron installed
kobocat_1         | KoBoCAT media automatic backups disabled.
kobocat_1         | Collecting static files...
kobocat_1         | Your environment is:"onadata.settings.prod"
kobocat_1         | Done
kobocat_1         | Resetting ownership of media directory...
kobocat_1         | Done.
kobocat_1         | %%%%%%% NOTICE %%%%%%%
kobocat_1         | % To avoid long delays, we no longer reset ownership *recursively*
kobocat_1         | % every time this container starts. If you have trouble with
kobocat_1         | % permissions, please run the following command inside the
kobocat_1         | % KoBoCAT container:
kobocat_1         | %   chown -R "kobo" "/srv/src/kobocat"
kobocat_1         | %%%%%%%%%%%%%%%%%%%%%%
kobocat_1         | Syncing to nginx folder...
kobocat_1         | Done
kobocat_1         | Cleaning up Celery PIDs...
kobocat_1         | KoBoCAT initialization complete.
kobocat_1         | *** Starting uWSGI 2.0.19.1 (64bit) on [Tue Mar 29 09:20:14 2022] ***
kobocat_1         | compiled with version: 8.3.0 on 22 November 2021 20:18:26
kobocat_1         | os: Linux-3.10.0-1160.53.1.el7.x86_64 #1 SMP Fri Jan 14 13:59:45 UTC 2022
kobocat_1         | nodename: kobocat
kobocat_1         | machine: x86_64
kobocat_1         | clock source: unix
kobocat_1         | pcre jit disabled
kobocat_1         | detected number of CPU cores: 2
kobocat_1         | current working directory: /etc/service/uwsgi_wrong_port_warning
kobocat_1         | detected binary path: /opt/venv/bin/uwsgi
kobocat_1         | setgid() to 1000
kobocat_1         | setuid() to 1000
kobocat_1         | *** WARNING: you are running uWSGI without its master process manager ***
kobocat_1         | your memory page size is 4096 bytes
kobocat_1         | detected max file descriptor number: 1048576
kobocat_1         | lock engine: pthread robust mutexes
kobocat_1         | thunder lock: disabled (you can enable it with --thunder-lock)
kobocat_1         | uwsgi socket 0 bound to TCP address :8000 fd 3
kobocat_1         | Python version: 3.8.9 (default, Apr  2 2021, 21:39:35)  [GCC 8.3.0]
kobocat_1         | Restoring ownership of Logs directory.
kobocat_1         | *** Python threads support is disabled. You can enable it with --enable-threads ***
kobocat_1         | Python main interpreter initialized at 0x55ddf15915e0
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 0x55ddf15915e0 pid: 87 (default app)
kobocat_1         | *** uWSGI is running in multiple interpreter mode ***
kobocat_1         | spawned uWSGI worker 1 (and the only) (pid: 87, cores: 1)
kobocat_1         | Running `KoBoCAT` container with uWSGI application server.
kobocat_1         | [uWSGI] getting INI configuration from /srv/src/kobocat/docker/kobocat.ini
kpi_1             | KoBoForm initializing...
kpi_1             | Waiting for container `mongo`.
kpi_1             | wait-for-it: waiting 40 seconds for mongo.mysecretdomain.private:27017
kpi_1             | wait-for-it: mongo.mysecretdomain.private:27017 is available after 0 seconds
kpi_1             | Container `mongo` up.
kpi_1             | Waiting for container `postgres`.
kpi_1             | wait-for-it: waiting 20 seconds for postgres.mysecretdomain.private:5432
kpi_1             | wait-for-it: postgres.mysecretdomain.private:5432 is available after 0 seconds
kpi_1             | Container `postgres` up.
kpi_1             | Waiting for Postgres service.
kpi_1             | postgres.mysecretdomain.private:5432 - accepting connections
kpi_1             | Postgres service running; ensuring koboform database exists and has PostGIS extensions...
kpi_1             | CREATE DATABASE
kpi_1             | You are now connected to database "koboform" as user "kobo".
kpi_1             | CREATE EXTENSION
kpi_1             | CREATE EXTENSION
kpi_1             | CREATE EXTENSION
kpi_1             | CREATE EXTENSION
kpi_1             | Postgres database koboform ready for use!
kpi_1             | Running migrations...
kpi_1             | Expanding `change_submissions` into `change_submissions` and `delete_submissions`. This may take several minutes on large databases...
kpi_1             | Creating 0 model-level permission assignments...
kpi_1             | Creating 0 object-level permission assignments...
kpi_1             | Disabling `editors_can_change_permissions` on all assets and collections...Granting `manage_asset` to all asset owners. This may take several minutes on large databases...
kpi_1             | Creating 0 object-level permission assignments...
kpi_1             | Operations to perform:
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
kpi_1             | Running migrations:
kpi_1             |   Applying contenttypes.0001_initial... OK
kpi_1             |   Applying auth.0001_initial... OK
kpi_1             |   Applying admin.0001_initial... OK
kpi_1             |   Applying admin.0002_logentry_remove_auto_add... OK
kpi_1             |   Applying admin.0003_logentry_add_action_flag_choices... OK
kpi_1             |   Applying contenttypes.0002_remove_content_type_name... OK
kpi_1             |   Applying auth.0002_alter_permission_name_max_length... OK
kpi_1             |   Applying auth.0003_alter_user_email_max_length... OK
kpi_1             |   Applying auth.0004_alter_user_username_opts... OK
kpi_1             |   Applying auth.0005_alter_user_last_login_null... OK
kpi_1             |   Applying auth.0006_require_contenttypes_0002... OK
kpi_1             |   Applying auth.0007_alter_validators_add_error_messages... OK
kpi_1             |   Applying auth.0008_alter_user_username_max_length... OK
kpi_1             |   Applying auth.0009_alter_user_last_name_max_length... OK
kpi_1             |   Applying auth.0010_alter_group_name_max_length... OK
kpi_1             |   Applying auth.0011_update_proxy_permissions... OK
kpi_1             |   Applying authtoken.0001_initial... OK
kpi_1             |   Applying authtoken.0002_auto_20160226_1747... OK
kpi_1             |   Applying database.0001_initial... OK
kpi_1             |   Applying database.0002_auto_20190129_2304... OK
kpi_1             |   Applying django_celery_beat.0001_initial... OK
kpi_1             |   Applying django_celery_beat.0002_auto_20161118_0346... OK
kpi_1             |   Applying django_celery_beat.0003_auto_20161209_0049... OK
kpi_1             |   Applying django_celery_beat.0004_auto_20170221_0000... OK
kpi_1             |   Applying django_celery_beat.0005_add_solarschedule_events_choices... OK
kpi_1             |   Applying django_celery_beat.0006_auto_20180322_0932... OK
kpi_1             |   Applying django_celery_beat.0007_auto_20180521_0826... OK
kpi_1             |   Applying django_celery_beat.0008_auto_20180914_1922... OK
kpi_1             |   Applying django_celery_beat.0006_auto_20180210_1226... OK
kpi_1             |   Applying django_celery_beat.0006_periodictask_priority... OK
kpi_1             |   Applying django_celery_beat.0009_periodictask_headers... OK
kpi_1             |   Applying django_celery_beat.0010_auto_20190429_0326... OK
kpi_1             |   Applying django_celery_beat.0011_auto_20190508_0153... OK
kpi_1             |   Applying django_digest.0001_initial... OK
kpi_1             |   Applying external_integrations.0001_add_allowed_cors_origin_model... OK
kpi_1             |   Applying help.0001_initial... OK
kpi_1             |   Applying reversion.0001_squashed_0004_auto_20160611_1202... OK
kpi_1             |   Applying taggit.0001_initial... OK
kpi_1             |   Applying kpi.0001_initial... OK
kpi_1             |   Applying kpi.0002_auto_20150619_0603... OK
kpi_1             |   Applying kpi.0003_assetsnapshot... OK
kpi_1             |   Applying kpi.0004_default_permissions_1910... OK
kpi_1             |   Applying kpi.0005_taguid... OK
kpi_1             |   Applying kpi.0006_importtask_messages... OK
kpi_1             |   Applying kpi.0007_importtask_defaults... OK
kpi_1             |   Applying kpi.0008_authorizedapplication... OK
kpi_1             |   Applying kpi.0009_auto_20160315_0343... OK
kpi_1             |   Applying kpi.0010_asset_deployment_data... OK
kpi_1             |   Applying kpi.0011_explode_asset_deployments...  migrated 0 assets
kpi_1             |   !!! Only the most recent deployment of each asset has been
kpi_1             |   !!! retained. Use the command `./manage.py sync_kobocat_xforms`
kpi_1             |   !!! to create new assets for any orphaned KC forms.
kpi_1             |  OK
kpi_1             |   Applying kpi.0012_onetimeauthenticationkey... OK
kpi_1             |   Applying kpi.0013_uid_field... OK
kpi_1             |   Applying kpi.0014_discoverable_subscribable_collections... OK
kpi_1             |   Applying kpi.0015_assetversion...
kpi_1             |             This might take a while. If it is too slow, you may want to re-run the
kpi_1             |             migration with SKIP_HEAVY_MIGRATIONS=True and run the management command
kpi_1             |             (populate_assetversions) to prepare the versions.
kpi_1             |
kpi_1             | created 0 AssetVersion records
kpi_1             | migrated deployment ids
kpi_1             |  OK
kpi_1             |   Applying kpi.0016_asset_settings... OK
kpi_1             |   Applying kpi.0017_assetversion_uid_aliases_20170608... OK
kpi_1             |   Applying kpi.0018_export_task... OK
kpi_1             |   Applying kpi.0019_add_report_custom_field... OK
kpi_1             |   Applying kpi.0020_add_validate_submissions_permission_to_asset... OK
kpi_1             |   Applying kpi.0021_map-custom-styles... OK
kpi_1             |   Applying kpi.0022_assetfile... OK
kpi_1             |   Applying hook.0001_tables_creation... OK
kpi_1             |   Applying hook.0002_add_email_notifications_field... OK
kpi_1             |   Applying hook.0003_add_subset_fields_to_hook_model... OK
kpi_1             |   Applying hook.0004_add_payload_template... OK
kpi_1             |   Applying hook.0005_allow_blank_subset_fields... OK
kpi_1             |   Applying hook.0006_rename_instance_id_to_submission_id... OK
kpi_1             |   Applying hub.0001_initial... OK
kpi_1             |   Applying hub.0002_formbuilderpreference... OK
kpi_1             |   Applying hub.0003_auto_20160318_1808... OK
kpi_1             |   Applying hub.0004_configurationfile... OK
kpi_1             |   Applying hub.0005_perusersetting... OK
kpi_1             |   Applying hub.0006_remove_formbuilder_preference_table... OK
kpi_1             |   Applying hub.0007_alter_jsonfield_to_jsonbfield... OK
kpi_1             |   Applying kpi.0023_partial_permissions... OK
kpi_1             |   Applying kpi.0024_alter_jsonfield_to_jsonbfield...
kpi_1             |  Scanned                | # records need fixing
kpi_1             |  Asset._deployment_data | 0
kpi_1             |  Asset.content          | 0
kpi_1             |  Asset.summary          | 0
kpi_1             |  AssetSnapshot.details  | 0
kpi_1             |  AssetSnapshot.source   | 0
kpi_1             |  ExportTask.data        | 0
kpi_1             |  ExportTask.messages    | 0
kpi_1             |  ImportTask.data        | 0
kpi_1             |  ImportTask.messages    | 0
kpi_1             |
kpi_1             |     Database is ready.
kpi_1             |     Proceeding with migration 0024 (text -> jsonb)
kpi_1             |
kpi_1             |     This might take a while depending on your database size.
kpi_1             |     If it s too slow, consider stopping this and instead running
kpi_1             |         ./manage.py migrate_json_text_to_jsonb
kpi_1             |     to avoid downtime.
kpi_1             |
kpi_1             |  OK
kpi_1             |   Applying kpi.0025_assign_delete_submissions_permissions... OK
kpi_1             |   Applying kpi.0026_disable_editors_can_change_permissions... OK
kpi_1             |   Applying kpi.0027_add_manage_asset_permission... OK
kpi_1             |   Applying kpi.0028_assign_manage_asset_permissions... OK
kpi_1             |   Applying kpi.0029_copy_collections_to_assets... OK
kpi_1             |   Applying kpi.0030_delete_collections_fix_asset_parent_foreign_key... OK
kpi_1             |   Applying kpi.0031_remove_objectpermission_generic_relation... OK
kpi_1             |   Applying kpi.0032_asset_export_settings_model... OK
kpi_1             |   Applying kpi.0033_add_meta_ordering_export_task... OK
kpi_1             |   Applying kpi.0034_alter_asset_file_name_and_file_type... OK
kpi_1             |   Applying kpi.0035_nullable_asset_file_content... OK
kpi_1             |   Applying kpi.0036_add_date_deleted_field_to_asset_file... OK
kpi_1             |   Applying kpi.0037_add_sync_flag_to_asset_files... OK
kpi_1             |   Applying kpi.0038_add_data_sharing_to_asset... OK
kpi_1             |   Applying kpi.0039_add_support_paired_data_to_asset_file... OK
kpi_1             |   Applying oauth2_provider.0001_initial... OK
kpi_1             |   Applying oauth2_provider.0002_08_updates... OK
kpi_1             |   Applying oauth2_provider.0003_auto_20160316_1503... OK
kpi_1             |   Applying oauth2_provider.0004_auto_20160525_1623... OK
kpi_1             |   Applying oauth2_provider.0005_auto_20170514_1141... OK
kpi_1             |   Applying oauth2_provider.0006_auto_20171214_2232... OK
kpi_1             |   Applying registration.0001_initial... OK
kpi_1             |   Applying registration.0002_registrationprofile_activated... OK
kpi_1             |   Applying registration.0003_migrate_activatedstatus... OK
kpi_1             |   Applying registration.0004_supervisedregistrationprofile... OK
kpi_1             |   Applying sessions.0001_initial... OK
kpi_1             |   Applying taggit.0002_auto_20150616_2121... OK
kpi_1             |   Applying taggit.0003_taggeditem_add_unique_index... OK
kpi_1             | Creating superuser...
kpi_1             | Superuser successfully created.
kpi_1             | Copying static files to nginx volume...
kpi_1             | Cleaning up Celery PIDs...
kpi_1             | Restore permissions on Celery logs folder
kpi_1             | KoBoForm initialization completed.
kpi_1             | Running `kpi` container with uWSGI application server.
kpi_1             | [uWSGI] getting INI configuration from /srv/src/kpi/uwsgi.ini
nginx_1           | /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
nginx_1           | /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
nginx_1           | /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
nginx_1           | 10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf
nginx_1           | 10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf
nginx_1           | /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
nginx_1           | /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-init-kobo-nginx.sh
nginx_1           | Creating includes directory
nginx_1           | Overwriting default nginx configuration
nginx_1           | Clearing out any default configurations
nginx_1           | Proxying to `kobocat` through uWSGI.
nginx_1           | Proxying to `kpi` through uWSGI.
nginx_1           | /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh
nginx_1           | /docker-entrypoint.sh: Configuration complete; ready for start up
``

Hi @pierre.hardy, be careful sharing your .run.conf. It contains a lot of sensitive information. I replaced all the keys and passwords I could find with REDACTED and hid the edit history so that others won’t be able to see your original post. Luckily, the forum falsely flagged your post as spam, so I had the opportunity to edit it before it became public.

2 Likes

Hello, the solution was actually simple: I did not used the latest stable release of kobo-install. I used the master branch instead and now it works.

1 Like

@pierre.hardy, thank you for sharing the solution with the entire community! :clap: :heart: :partying_face: