Central install not completing

1. What is the problem? Be very detailed.
I can not upgrade idk central to 1.3.3 from 1.2.1
2. What app or server are you using and on what device and operating system? Include version numbers.
Ubuntu 18.04.5 LTS VM on azure
3. What you have you tried to fix the problem?
first I got a problem with ; RUN apt-get update; apt-get install gettext-base
I installed the package manually and edited the line in enketo.dockerfile

4. What steps can we take to reproduce the problem?
I just followed the upgrade process

5. Anything else we should know or have? If you have a test form or screenshots or logs, attach below.

odk@odk:~/central$ docker-compose build
postgres uses an image, skipping
mail uses an image, skipping
pyxform uses an image, skipping
enketo_redis_main uses an image, skipping
enketo_redis_cache uses an image, skipping
Building secrets
Sending build context to Docker daemon  26.56MB
Step 1/2 : FROM node:12.6.0
 ---> 7c412a558705
Step 2/2 : COPY files/enketo/generate-secrets.sh ./
 ---> Using cache
 ---> 539b9b711e06
Successfully built 539b9b711e06
Successfully tagged central_secrets:latest
Building enketo
Sending build context to Docker daemon  26.56MB
Step 1/14 : FROM ghcr.io/enketo/enketo-express:3.0.4
 ---> 76a1e82f6d44
Step 2/14 : ENV ENKETO_SRC_DIR=/srv/src/enketo_express
 ---> Using cache
 ---> 6972c7f93fa7
Step 3/14 : WORKDIR ${ENKETO_SRC_DIR}
 ---> Using cache
 ---> b91927d8736a
Step 4/14 : COPY files/enketo/config.json.template ${ENKETO_SRC_DIR}/config/config.json.template
 ---> Using cache
 ---> 807c03ba52e1
Step 5/14 : COPY files/enketo/config.json.template ${ENKETO_SRC_DIR}/config/config.json
 ---> Using cache
 ---> dfd6e9361afc
Step 6/14 : COPY files/enketo/start-enketo.sh ${ENKETO_SRC_DIR}/start-enketo.sh
 ---> Using cache
 ---> a10002147904
Step 7/14 : ENV http_proxy=http:...
 ---> Using cache
 ---> 9cb731e1a087
Step 8/14 : ENV https_proxy=http:...
 ---> Using cache
 ---> c0c29489ba5b
Step 9/14 : RUN apt-get update
 ---> Using cache
 ---> b5b668eb7ff7
Step 10/14 : RUN npm install
 ---> Using cache
 ---> 6ec4a1bbd3cb
Step 11/14 : RUN grunt
 ---> Using cache
 ---> 6ed07cda00b9
Step 12/14 : RUN npm prune --production
 ---> Using cache
 ---> b4c4037e2e79
Step 13/14 : EXPOSE 8005
 ---> Using cache
 ---> 92a408ddba1f
Step 14/14 : CMD ./start-enketo.sh
 ---> Using cache
 ---> 2b4c2b7b7ee4
Successfully built 2b4c2b7b7ee4
Successfully tagged central_enketo:latest
Building service
Sending build context to Docker daemon  26.56MB
Step 1/13 : FROM node:14.17.6
 ---> 9dc0768a6295
Step 2/13 : WORKDIR /usr/odk
 ---> Using cache
 ---> 32e9c897eb4d
Step 3/13 : RUN echo "deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main" | tee /etc/apt/sources.list.d/pgdg.list;   wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -;   apt-get update;   apt-get install -y cron gettext postgresql-client-9.6
 ---> Running in e2db05844fe7
deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main
Warning: apt-key output should not be parsed (stdout is not a terminal)

We don’t expect people to go backwards in versions. Why are you downgrading from 1.3 to 1.2?

I can't bypass the 3/ 13 step , and the build just stop at ; the message
Warning: apt-key output should not be parsed (stdout is not a terminal)

sorry I mistook in the writing , I wanted to say i can not upgrade from v1.2.1
versions:
1a97f79eed549aca24f4686ea5dff61109e17ecd
cdd42946d96fdd96e18cfbba94080ac2500de3d8 client (v1.2.1)
59556ecea91f0a25678cd6da0084adb7e66ca099 server (v1.2.1)

to
v1.3.3
, because I'm having my forms unable to be downloaded or seen in oak collect due Let's Encrypt Expiry cert bug

@mz0in How much RAM does your machine have? If you have 1GB, does it work if you upgrade to 2GB?

my machine spec :Standard B2s vCPUs 2 RAM 4 GiB

I tried stoping docker compose , rebooted , logged in the system load is ok , and I got the same result the build process just stoped .

System load: 0.0 Users logged in: 0
Usage of /: 62.7% of 28.90GB
Memory usage: 9%
Swap usage: 0%
Processes: 124

Does your VM have unrestricted outgoing network access? What does docker-compose logs service report?

regarding unrestricted network access it should since I did not apply any additional confirmation to network during odd central setup I will check any way ,
the logs are too much to post , I will post a small piece from diffrent places in the log and removing my email address info.


Attaching to central_service_1
service_1             | wait-for-it.sh: waiting 15 seconds for postgres:5432
service_1             | wait-for-it.sh: postgres:5432 is available after 0 seconds
service_1             | generating local service configuration..
service_1             | running migrations..
service_1             | starting cron..
service_1             | using 4 worker(s) based on available memory (4030816)..
service_1             | starting server.
service_1             | ::ffff:172.18.0.9 - - [19/Nov/2021:05:13:50 +0000] "GET /v1/sessions/restore HTTP/1.0" 200 302
service_1             | ::ffff:172.18.0.9 - - [19/Nov/2021:05:13:51 +0000] "GET /v1/users/current HTTP/1.0" 304 -
service_1             | ::ffff:172.18.0.9 - - [19/Nov/2021:05:13:51 +0000] "GET /v1/users HTTP/1.0" 200 1039
service_1             | ::ffff:172.18.0.9 - - [19/Nov/2021:05:13:51 +0000] "GET /v1/projects HTTP/1.0" 200 776
-----

ojects/2/formList HTTP/1.0" 200 2400
service_1             | ::ffff:172.18.0.5 - email[20/Nov/2021:07:34:44 +0000] "GET /v1/projects/2/forms/Anthro/submissions.csv HTTP/1.0" 200 -
service_1             | Error [ERR_STREAM_PREMATURE_CLOSE]: Premature close
service_1             |     at ServerResponse.onclose (internal/streams/end-of-stream.js:65:15)
service_1             |     at ServerResponse.emit (events.js:208:15)
service_1             |     at ServerResponse.EventEmitter.emit (domain.js:494:23)
service_1             |     at Socket.onServerResponseClose (_http_server.js:184:44)
service_1             |     at Socket.emit (events.js:208:15)
service_1             |     at Socket.EventEmitter.emit (domain.js:471:20)
service_1             |     at TCP.<anonymous> (net.js:588:12)
service_1             | ::ffff:172.18.0.5 - email[20/Nov/2021:07:34:48 +0000] "GET /v1/projects/2/forms/clinicPatientRegistyForm/submissions.csv HTTP/1.0" 200 -
service_1             | Error [ERR_STREAM_PREMATURE_CLOSE]: Premature close
service_1             |     at ServerResponse.onclose (internal/streams/end-of-stream.js:65:15)
service_1             |     at ServerResponse.emit (events.js:208:15)
service_1             |     at ServerResponse.EventEmitter.emit (domain.js:494:23)
service_1             |     at Socket.onServerResponseClose (_http_server.js:184:44)
service_1             |     at Socket.emit (events.js:208:15)
service_1             |     at Socket.EventEmitter.emit (domain.js:471:20)
service_1             |     at TCP.<anonymous> (net.js:588:12)
service_1             | ::ffff:172.18.0.5 - email[20/Nov/2021:07:35:01 +0000] "GET /v1/projects/2/forms/PLW/submissions.csv HTTP/1.0" 200 -
service_1             | Error [ERR_STREAM_PREMATURE_CLOSE]: Premature close
service_1             |     at ServerResponse.onclose (internal/streams/end-of-stream.js:65:15)
service_1             |     at ServerResponse.emit (events.js:208:15)
service_1             |     at ServerResponse.EventEmitter.emit (domain.js:494:23)
service_1             |     at Socket.onServerResponseClose (_http_server.js:184:44)
service_1             |     at Socket.emit (events.js:208:15)
service_1             |     at Socket.EventEmitter.emit (domain.js:471:20)
service_1             |     at TCP.<anonymous> (net.js:588:12)

------
service_1             | Error [ERR_STREAM_PREMATURE_CLOSE]: Premature close
service_1             |     at ServerResponse.onclose (internal/streams/end-of-stream.js:65:15)
service_1             |     at ServerResponse.emit (events.js:208:15)
service_1             |     at ServerResponse.EventEmitter.emit (domain.js:494:23)
service_1             |     at Socket.onServerResponseClose (_http_server.js:184:44)
service_1             |     at Socket.emit (events.js:208:15)
service_1             |     at Socket.EventEmitter.emit (domain.js:471:20)
service_1             |     at TCP.<anonymous> (net.js:588:12)
service_1             | Error [ERR_STREAM_PREMATURE_CLOSE]: Premature close
service_1             |     at ServerResponse.onclose (internal/streams/end-of-stream.js:65:15)
service_1             |     at ServerResponse.emit (events.js:208:15)
service_1             |     at ServerResponse.EventEmitter.emit (domain.js:494:23)
service_1             |     at Socket.onServerResponseClose (_http_server.js:184:44)
service_1             |     at Socket.emit (events.js:208:15)
service_1             |     at Socket.EventEmitter.emit (domain.js:471:20)
service_1             |     at TCP.<anonymous> (net.js:588:12)
service_1             | ::ffff:172.18.0.5 - email[20/Nov/2021:07:37:00 +0000] "GET /v1/projects/2/forms/PLW/submissions.csv HTTP/1.0" 200 -
service_1             | Error [ERR_STREAM_PREMATURE_CLOSE]: Premature close
service_1             |     at ServerResponse.onclose (internal/streams/end-of-stream.js:65:15)
service_1             |     at ServerResponse.emit (events.js:208:15)
service_1             |     at ServerResponse.EventEmitter.emit (domain.js:494:23)
service_1             |     at Socket.onServerResponseClose (_http_server.js:184:44)
service_1             |     at Socket.emit (events.js:208:15)
service_1             |     at Socket.EventEmitter.emit (domain.js:471:20)
service_1             |     at TCP.<anonymous> (net.js:588:12)
----------------
service_1             | Error [ERR_STREAM_PREMATURE_CLOSE]: Premature close
service_1             |     at ServerResponse.onclose (internal/streams/end-of-stream.js:65:15)
service_1             |     at ServerResponse.emit (events.js:208:15)
service_1             |     at ServerResponse.EventEmitter.emit (domain.js:494:23)
service_1             |     at Socket.onServerResponseClose (_http_server.js:184:44)
service_1             |     at Socket.emit (events.js:208:15)
service_1             |     at Socket.EventEmitter.emit (domain.js:471:20)
service_1             |     at TCP.<anonymous> (net.js:588:12)
service_1             | ::ffff:172.18.0.5 - email[20/Nov/2021:07:43:16 +0000] "GET /v1/projects/2/forms/Anthro/submissions.csv HTTP/1.0" 200 -
service_1             | Error [ERR_STREAM_PREMATURE_CLOSE]: Premature close
service_1             |     at ServerResponse.onclose (internal/streams/end-of-stream.js:65:15)
service_1             |     at ServerResponse.emit (events.js:208:15)
service_1             |     at ServerResponse.EventEmitter.emit (domain.js:494:23)
service_1             |     at Socket.onServerResponseClose (_http_server.js:184:44)
service_1             |     at Socket.emit (events.js:208:15)
service_1             |     at Socket.EventEmitter.emit (domain.js:471:20)
service_1             |     at TCP.<anonymous> (net.js:588:12)
service_1             | ::ffff:172.18.0.5 - - [20/Nov/2021:07:43:19 +0000] "GET /v1/projects/2/forms/Anthro/submissions/submitters HTTP/1.0" 200 114
service_1             | ::ffff:172.18.0.5 - email[20/Nov/2021:07:43:33 +0000] "GET /v1/projects/2/forms/PLW/submissions.csv HTTP/1.0" 200 -
service_1             | Error [ERR_STREAM_PREMATURE_CLOSE]: Premature close
service_1             |     at ServerResponse.onclose (internal/streams/end-of-stream.js:65:15)
service_1             |     at ServerResponse.emit (events.js:208:15)
service_1             |     at ServerResponse.EventEmitter.emit (domain.js:494:23)
service_1             |     at Socket.onServerResponseClose (_http_server.js:184:44)
service_1             |     at Socket.emit (events.js:208:15)
service_1             |     at Socket.EventEmitter.emit (domain.js:471:20)
service_1             |     at TCP.<anonymous> (net.js:588:12)
service_1             | ::ffff:172.18.0.5 - - [20/Nov/2021:07:43:46 +0000] "GET /v1/projects/2/forms HTTP/1.0" 200 9533
service_1             | ::ffff:172.18.0.5 - - [20/Nov/2021:07:43:50 +0000] "GET /v1/sessions/restore HTTP/1.0" 304 -
service_1             | ::ffff:172.18.0.5 - - [20/Nov/2021:07:43:50 +0000] "GET /v1/users/current HTTP/1.0" 304 -
service_1             | ::ffff:172.18.0.5 - - [20/Nov/2021:07:43:50 +0000] "GET /v1/projects/2/forms/Anthro/draft HTTP/1.0" 404 76
service_1             | ::ffff:172.18.0.5 - - [20/Nov/2021:07:43:50 +0000] "GET /v1/projects/2/forms/Anthro/draft/attachments HTTP/1.0" 404 76
service_1             | ::ffff:172.18.0.5 - - [20/Nov/2021:07:43:50 +0000] "GET /v1/projects/2/forms/Anthro/submissions/keys HTTP/1.0" 304 -
service_1             | ::ffff:172.18.0.5 - - [20/Nov/2021:07:43:51 +0000] "GET /v1/projects/2/forms/Anthro/fields?odata=true HTTP/1.0" 304 -
service_1             | ::ffff:172.18.0.5 - - [20/Nov/2021:07:43:51 +0000] "GET /v1/projects/2/forms/Anthro/submissions/submitters HTTP/1.0" 304 -
service_1             | ::ffff:172.18.0.5 - - [20/Nov/2021:07:43:51 +0000] "GET /v1/projects/2/forms/Anthro HTTP/1.0" 304 -
service_1             | ::ffff:172.18.0.5 - - [20/Nov/2021:07:43:51 +0000] "GET /v1/projects/2 HTTP/1.0" 304 -```

What does docker ps report?

odk@odkc:~/central$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e8c9002f213d central_nginx "/bin/bash /scripts/…" 2 days ago Up 14 hours (healthy) 0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp central_nginx_1
4c3e084b87e1 central_service "docker-entrypoint.s…" 2 days ago Up 14 hours 8383/tcp central_service_1
3437949ccbfb central_enketo "docker-entrypoint.s…" 2 days ago Up 14 hours 8005/tcp central_enketo_1
906440db11de itsissa/namshi-smtp:4.92-8.deb10u6 "/bin/entrypoint.sh …" 2 days ago Up 14 hours 25/tcp central_mail_1
9d4df5e53a32 ghcr.io/getodk/pyxform-http:v1.7.0 "gunicorn --bind 0.0…" 3 weeks ago Up 14 hours central_pyxform_1
fdcee25b67dc redis:5 "docker-entrypoint.s…" 5 months ago Up 14 hours 6379/tcp central_enketo_redis_main_1
7af31f52c030 postgres:9.6 "docker-entrypoint.s…" 5 months ago Up 14 hours 5432/tcp central_postgres_1
d4f244bfca8f redis:5 "docker-entrypoint.s…" 5 months ago Up 14 hours 6379/tcp central_enketo_redis_cache_1
odk@odkc:~/central$