I am using "docker-stellar-core-horizon" on Ubuntu-18.04, RAM -16GB (I have also tried the entire thing on CentOS-7, please provide a solution that works for both Ubuntu and CentOS).
Docker version- Docker version 19.03.5, build 633a0ea838
Starting the stellar/quickstart container like this:
sudo docker run --rm -it -p "8000:8000" -v "$HOME/stellar:/opt/stellar" --name stellar stellar/quickstart --testnet
running `/start --testnet'
pids are [6]
Starting Stellar Quickstart
mode: persistent
network: testnet (Test SDF Network ; September 2015)
postgres: config directory exists, skipping copy
supervisor: config directory exists, skipping copy
stellar-core: config directory exists, skipping copy
horizon: config directory exists, skipping copy
postgres user: stellar
Enter New Postgresql Password:
Confirm:
finalize-pgpass: ok
init-postgres: ok
postgres: up
create-horizon-db: ok
create-core-db: ok
stellar-postgres-user: ok
chown-core: ok
finalize-core-config: ok
init-core-db: ok
chown-horizon: ok
init-horizon-db: ok
postgres: down
starting supervisor
2020-05-14 11:29:06,188 CRIT Supervisor running as root (no user in config file)
2020-05-14 11:29:06,249 INFO RPC interface 'supervisor' initialized
2020-05-14 11:29:06,249 CRIT Server 'unix_http_server' running without any HTTP authentication checking
2020-05-14 11:29:06,250 INFO supervisord started with pid 6
2020-05-14 11:29:07,257 INFO spawned: 'postgresql' with pid 114
2020-05-14 11:29:07,262 INFO spawned: 'stellar-core' with pid 115
2020-05-14 11:29:07,264 INFO spawned: 'horizon' with pid 116
2020-05-14 11:29:07,264 INFO reaped unknown pid 111
2020-05-14 11:29:08,455 INFO success: postgresql entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2020-05-14 11:29:08,455 INFO success: stellar-core entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2020-05-14 11:29:08,456 INFO success: horizon entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
^C2020-05-14 11:34:16,059 WARN received SIGINT indicating exit request
This is when i make request to- http://localhost:8000
...................... // more text here
"horizon_version": "v1.2.0",
"core_version": "v13.0.0",
"ingest_latest_ledger": 243438,
"history_latest_ledger": 243438,
"history_elder_ledger": 239040,
"core_latest_ledger": 250114,
"network_passphrase": "Test SDF Network ; September 2015",
"current_protocol_version": 13,
"core_supported_protocol_version": 13
I don't know why "ingest_latest_ledger" and "history_latest_ledger" seems to freeze after some time I start the container.
Stellar supervisor logs:
docker exec -it stellar /bin/bash
root@b01a864d3425:/# supervisorctl
horizon RUNNING pid 22, uptime 16:56:59
postgresql RUNNING pid 20, uptime 16:56:59
stellar-core RUNNING pid 21, uptime 16:56:59
supervisor> tail stellar-core
5T04:31:51.137 GD2OL [Ledger INFO] Closed ledger: [seq=250267, hash=7ba31c]
2020-05-15T04:31:56.243 GD2OL [Herder INFO] Quorum information for 250266 : {"agree":3,"delayed":0,"disagree":0,"fail_at":2,"hash":"59d361","ledger":250266,"missing":0,"phase":"EXTERNALIZE"}
2020-05-15T04:31:56.245 GD2OL [Ledger INFO] Got consensus: [seq=250268, prev=7ba31c, txs=2, ops=79, sv: [ txH: c0ab86, ct: 1589517115, upgrades: [ ] ]]
2020-05-15T04:31:56.246 GD2OL [Tx INFO] applying ledger 250268 (txs:2, ops:79)
2020-05-15T04:31:56.285 GD2OL [Ledger INFO] Closed ledger: [seq=250268, hash=fb2223]
2020-05-15T04:32:01.182 GD2OL [Herder INFO] Quorum information for 250267 : {"agree":3,"delayed":0,"disagree":0,"fail_at":2,"hash":"59d361","ledger":250267,"missing":0,"phase":"EXTERNALIZE"}
2020-05-15T04:32:01.184 GD2OL [Ledger INFO] Got consensus: [seq=250269, prev=fb2223, txs=2, ops=57, sv: [ txH: 592b30, ct: 1589517120, upgrades: [ ] ]]
2020-05-15T04:32:01.185 GD2OL [Tx INFO] applying ledger 250269 (txs:2, ops:57)
2020-05-15T04:32:01.216 GD2OL [Ledger INFO] Closed ledger: [seq=250269, hash=6ad124]
2020-05-15T04:32:06.219 GD2OL [Herder INFO] Quorum information for 250268 : {"agree":3,"delayed":0,"disagree":0,"fail_at":2,"hash":"59d361","ledger":250268,"missing":0,"phase":"EXTERNALIZE"}
2020-05-15T04:32:06.221 GD2OL [Ledger INFO] Got consensus: [seq=250270, prev=6ad124, txs=1, ops=50, sv: [ txH: ff8386, ct: 1589517125, upgrades: [ ] ]]
2020-05-15T04:32:06.222 GD2OL [Tx INFO] applying ledger 250270 (txs:1, ops:50)
2020-05-15T04:32:06.244 GD2OL [Ledger INFO] Closed ledger: [seq=250270, hash=3fc69c]
supervisor> tail horizon
Waiting for postgres to be available...
Waiting for postgres to be available...
Waiting for postgres to be available...
Waiting for postgres to be available...
Waiting for postgres to be available...
starting horizon...
supervisor> tail postgresql
Docker container logs:
sudo docker logs b01a864d3425
running `/start --testnet'
pids are [6]
Starting Stellar Quickstart
mode: persistent
network: testnet (Test SDF Network ; September 2015)
postgres: config directory exists, skipping copy
supervisor: config directory exists, skipping copy
stellar-core: config directory exists, skipping copy
horizon: config directory exists, skipping copy
postgres: already initialized
chown-core: ok
core: already initialized
horizon: already initialized
starting supervisor
2020-05-14 11:35:01,048 CRIT Supervisor running as root (no user in config file)
2020-05-14 11:35:01,103 INFO RPC interface 'supervisor' initialized
2020-05-14 11:35:01,103 CRIT Server 'unix_http_server' running without any HTTP authentication checking
2020-05-14 11:35:01,103 INFO supervisord started with pid 6
2020-05-14 11:35:02,105 INFO spawned: 'postgresql' with pid 20
2020-05-14 11:35:02,106 INFO spawned: 'stellar-core' with pid 21
2020-05-14 11:35:02,107 INFO spawned: 'horizon' with pid 22
2020-05-14 11:35:02,108 INFO reaped unknown pid 17
2020-05-14 11:35:03,457 INFO success: postgresql entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2020-05-14 11:35:03,457 INFO success: stellar-core entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2020-05-14 11:35:03,458 INFO success: horizon entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
I have tried it several times, removing the container, image and unmount the docker volume and start everything freshly again, but always this problem of fetching new blocks exists. Can anyone please help resolve this issue. Need a solution that fits for testnet and production both.