-
-
Notifications
You must be signed in to change notification settings - Fork 142
Container unhealthy reported during installation in 0.25.4 #1015
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
For easier reading, I attached my docker-compose.yml file below.
Details
ERROR: The Compose file './docker-compose.yml' is invalid because: As such, I edited the file with the aid of AI in the following 2 aspects. So it was a bit different from your file
|
Same issue here. 0.25.3 worked fine for me in docker, installed as a stack with portainer. Upgrade to 0.25.4 failed with "container unhealthy". networks:
dawarich:
services:
dawarich_redis:
image: redis:7.0-alpine
container_name: dawarich_redis
command: redis-server
networks:
- dawarich
volumes:
- dawarich_shared:/data
restart: always
healthcheck:
test: [ "CMD", "redis-cli", "--raw", "incr", "ping" ]
interval: 10s
retries: 5
start_period: 30s
timeout: 10s
dawarich_db:
image: postgis/postgis:14-3.5-alpine
shm_size: 1G
container_name: dawarich_db
volumes:
- dawarich_db_data:/var/lib/postgresql/data
- dawarich_shared:/var/shared
# - ./postgresql.conf:/etc/postgresql/postgresql.conf # Optional, uncomment if you want to use a custom config
networks:
- dawarich
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: password
restart: always
healthcheck:
test: [ "CMD-SHELL", "pg_isready -U postgres -d dawarich_development" ]
interval: 10s
retries: 5
start_period: 30s
timeout: 10s
# command: postgres -c config_file=/etc/postgresql/postgresql.conf # Use custom config, uncomment if you want to use a custom config
dawarich_app:
image: freikin/dawarich:latest
container_name: dawarich_app
volumes:
- dawarich_public:/var/app/public
- dawarich_watched:/var/app/tmp/imports/watched
- dawarich_storage:/var/app/storage
networks:
- dawarich
ports:
- 3000:3000
# - 9394:9394 # Prometheus exporter, uncomment if needed
stdin_open: true
tty: true
entrypoint: web-entrypoint.sh
command: ['bin/rails', 'server', '-p', '3000', '-b', '::']
restart: on-failure
environment:
RAILS_ENV: development
REDIS_URL: redis://dawarich_redis:6379/0
DATABASE_HOST: dawarich_db
DATABASE_USERNAME: postgres
DATABASE_PASSWORD: password
DATABASE_NAME: dawarich_development
MIN_MINUTES_SPENT_IN_CITY: 60
APPLICATION_HOSTS: localhost
TIME_ZONE: Europe/Zurich
APPLICATION_PROTOCOL: http
DISTANCE_UNIT: km
PROMETHEUS_EXPORTER_ENABLED: false
PROMETHEUS_EXPORTER_HOST: 0.0.0.0
PROMETHEUS_EXPORTER_PORT: 9394
ENABLE_TELEMETRY: false # More on telemetry: https://dawarich.app/docs/tutorials/telemetry
logging:
driver: "json-file"
options:
max-size: "100m"
max-file: "5"
healthcheck:
test: [ "CMD-SHELL", "wget -qO - http://127.0.0.1:3000/api/v1/health | grep -q '\"status\"\\s*:\\s*\"ok\"'" ]
interval: 10s
retries: 30
start_period: 30s
timeout: 10s
depends_on:
dawarich_db:
condition: service_healthy
restart: true
dawarich_redis:
condition: service_healthy
restart: true
deploy:
resources:
limits:
cpus: '0.50' # Limit CPU usage to 50% of one core
memory: '4G' # Limit memory usage to 4GB
dawarich_sidekiq:
image: freikin/dawarich:latest
container_name: dawarich_sidekiq
volumes:
- dawarich_public:/var/app/public
- dawarich_watched:/var/app/tmp/imports/watched
- dawarich_storage:/var/app/storage
networks:
- dawarich
stdin_open: true
tty: true
entrypoint: sidekiq-entrypoint.sh
command: ['sidekiq']
restart: on-failure
environment:
RAILS_ENV: development
REDIS_URL: redis://dawarich_redis:6379/0
DATABASE_HOST: dawarich_db
DATABASE_USERNAME: postgres
DATABASE_PASSWORD: *REDACTED*
DATABASE_NAME: dawarich_development
APPLICATION_HOSTS: localhost
BACKGROUND_PROCESSING_CONCURRENCY: 10
TIME_ZONE: Europe/Zurich
APPLICATION_PROTOCOL: http
DISTANCE_UNIT: km
PROMETHEUS_EXPORTER_ENABLED: false
PROMETHEUS_EXPORTER_HOST: dawarich_app
PROMETHEUS_EXPORTER_PORT: 9394
ENABLE_TELEMETRY: false # More on telemetry: https://dawarich.app/docs/tutorials/telemetry
logging:
driver: "json-file"
options:
max-size: "100m"
max-file: "5"
healthcheck:
test: [ "CMD-SHELL", "bundle exec sidekiqmon processes | grep $${HOSTNAME}" ]
interval: 10s
retries: 30
start_period: 30s
timeout: 10s
depends_on:
dawarich_db:
condition: service_healthy
restart: true
dawarich_redis:
condition: service_healthy
restart: true
dawarich_app:
condition: service_healthy
restart: true
deploy:
resources:
limits:
cpus: '0.50' # Limit CPU usage to 50% of one core
memory: '4G' # Limit memory usage to 4GB
volumes:
dawarich_db_data:
dawarich_shared:
dawarich_public:
dawarich_watched:
dawarich_storage: |
I tried to delete the latest version, or pull the version 0.25.3 by changing the docker-compose.yml.
|
@lonelypandaa you can completely remove prometheus related env vars from your compose file and try again, it should probably fix it, based on logs you provided @janexner can't say much without proper logs |
@Freika , thank you for your help. I converted all the Prometheus-related env vars into comments and tried again. The same issue still exists. dawarich_sidekiq and dawarich_app cannot be installed due to an unhealthy container (so no log about them can be provided). Notably, different containers were reported as unhealthy in various attempts (like this time A is unhealthy, next time is B unhealthy). They all terminated the installation. dawarich_redis and dawarich_db should look fine. I attached my docker-compose.yml file below. Different from your file on github, I modified it a bit, as it shouted "ENABLE_TELEMETRY contains false, which is an invalid type, it should be a string, number, or a null" and "contains unsupported option: 'restart'". I am not sure if this matters.
The following is my compose-docker.yml file.
|
Sorry, you are right about logs. Even more so because once I looked at them and saw that it was a credentials issue, I also worked out that I could not just change the POSTGRES_PASSWORD to something I fancy. So, with standard password, portainer was able to create the stack, and dawarich is now running. Thank you, and sorry for the false alert! |
@lonelypandaa ``
try log the container to see what errors were encountered |
Thanks for your advice @Liujony As different containers were reported as unhealthy in various attempts (like this time A is unhealthy, next time is B unhealthy), and I tried to reinstall it multiple times. So this container no longer exists, and I try to check the log of another unhealthy container instead. It shouts /exec usr/local/bin/docker-entrypoint.sh: exec format error. I think it is less likely due to a hardware architecture issue, as the readme file mentioned that A server running on AMD64 or ARM64 architecture. 2GB of RAM and more is recommended. My machine is an Orange Pi 3b, running on a Rockchip RK3566 quad-core 64-bit processor, which should be compatible with the ARM64. The dawarich_redis and dawarich_db seem to be running as well. Logs is attached below. Details
orangepi@orangepi3b:~$ docker-compose up -d ERROR: for dawarich_app Container "0f7ace287d0e" is unhealthy. orangepi@orangepi3b:~$ docker logs 0f7ace287d0e |
@lonelypandaa I'm not sure why your logs contains |
It keeps trying to call a file which does not exist at all, which is very weird. The log is for your reference. Details
orangepi@orangepi3b:~$ cd /usr/local/bin/docker-entrypoint.sh Instead, I use a virtual machine running on Ubuntu (on my own PC, not that orange Pi), and it works. May I ask if it is a hardware architecture issue? |
I think I'm in the same boat here. Brand-new fresh install, running on ARM64 in Oracle Cloud, getting the same "unhealthy" errors.
The
Running
Any ideas on what I might try? |
I reset the whole system and started from the very first system.
|
If you're using ARM64, try using this image instead for postgis
|
Uh oh!
There was an error while loading. Please reload this page.
Hello. I have an issue during the installation of Dawarich. My machine is an Orange Pi 3b, running on Orange Pi 1.0.6 Jammy with Linux 5.10.160-rockchip-rk356, with a docker portal software called CasaOS
After running this command, it was initially able to download and extract some containers.
After some time, it pops up an error message pops up, and the installation is terminated.
It seems that the dawarich_redis and dawarich_db are fine. But not for the dawarich_app and dawarich_sidekiq. Both containers b8d5ecb16957 and 548c742a8e62, were reported unhealthy in separate installations.
I tired to edit the docker-compose.yml according to the releases update of 0.25.4, but it does not help.
Would you mind helping me to solve this issue. Thank you so much for your kind help.
The text was updated successfully, but these errors were encountered: