-
Notifications
You must be signed in to change notification settings - Fork 33
Open
Description
I don't see anyone else having these kinds of issues, so it may be as a result of my slightly altered setup.
- All services can reach each other
- I'm using Coolify with Docker Compose, which is why I don't use the .env files
- Manifold version is v8.1.1
- I removed the "network" stuff from the default Docker Compose config, which doesn't seem like it should produce any of these issues
Apologies if this is the wrong place to put this issue, I couldn't get in the Slack (it requires an email from castironcoding.com)
Images having issues
The Sidekiq API seems to fail with this error, which is odd, as Elasticsearch is indeed Elasticsearch and should be reachable. Elasticsearch is running:
2025-07-30T22:27:48.223Z 1 TID-1d6l WARN: {"context":"Job raised exception","job":{"class":"ActiveJob::QueueAdapters::SidekiqAdapter::JobWrapper","wrapped":"Searchkick::ReindexV2Job","queue":"searchkick","args":[{"job_class":"Searchkick::ReindexV2Job","job_id":"9929c950-cbb0-4652-adf9-4a3188006aad","provider_job_id":null,"queue_name":"searchkick","priority":null,"arguments":["User","e77bdaca-7c10-4bb0-a30a-725848c89f4d",null,{"routing":null,"index_name":"users_production","_aj_ruby2_keywords":["routing","index_name"]}],"executions":0,"exception_executions":{},"locale":"en","timezone":"UTC","enqueued_at":"2025-07-30T22:16:38Z"}],"retry":true,"jid":"9d194a2aa5089beec848efcb","created_at":1753913798.032209,"enqueued_at":1753914468.187799,"error_message":"The client noticed that the server is not Elasticsearch and we do not support this unknown product.","error_class":"Elasticsearch::UnsupportedProductError","failed_at":1753913798.085063,"retry_count":4,"retried_at":1753914160.706319},"jobstr":"{\"class\":\"ActiveJob::QueueAdapters::SidekiqAdapter::JobWrapper\",\"wrapped\":\"Searchkick::ReindexV2Job\",\"queue\":\"searchkick\",\"args\":[{\"job_class\":\"Searchkick::ReindexV2Job\",\"job_id\":\"9929c950-cbb0-4652-adf9-4a3188006aad\",\"provider_job_id\":null,\"queue_name\":\"searchkick\",\"priority\":null,\"arguments\":[\"User\",\"e77bdaca-7c10-4bb0-a30a-725848c89f4d\",null,{\"routing\":null,\"index_name\":\"users_production\",\"_aj_ruby2_keywords\":[\"routing\",\"index_name\"]}],\"executions\":0,\"exception_executions\":{},\"locale\":\"en\",\"timezone\":\"UTC\",\"enqueued_at\":\"2025-07-30T22:16:38Z\"}],\"retry\":true,\"jid\":\"9d194a2aa5089beec848efcb\",\"created_at\":1753913798.032209,\"enqueued_at\":1753914468.187799,\"error_message\":\"The client noticed that the server is not Elasticsearch and we do not support this unknown product.\",\"error_class\":\"Elasticsearch::UnsupportedProductError\",\"failed_at\":1753913798.085063,\"retry_count\":4,\"retried_at\":1753914160.706319}"}
[rest of stack trace...]
The Clockwork API fails with this error:
Postgres is up - executing command
Activating bundler (2.2.19) failed:
Could not find 'bundler' (2.2.19) required by your /opt/manifold/api/Gemfile.lock.
To update to the latest version installed on your system, run `bundle update --bundler`.
To install the missing version, run `gem install bundler:2.2.19`
Checked in 'GEM_PATH=/root/.gem/ruby/2.7.0:/usr/local/lib/ruby/gems/2.7.0:/usr/local/bundle', execute `gem env` for more information
To install the version of bundler this project requires, run `gem install bundler -v '2.2.19'`
Config
My Docker Compose config (a lot is duplicated, some stuff is removed):
version: '3'
services:
postgres:
image: 'postgres:13-alpine'
volumes:
- 'postgres:/var/lib/postgresql/data'
environment:
POSTGRES_DB: manifold_production
POSTGRES_HOST_AUTH_METHOD: trust
POSTGRES_PASSWORD: harmlessifrevealedasitsalllocal
elasticsearch:
image: 'docker.elastic.co/elasticsearch/elasticsearch:5.6.7'
environment:
ES_JAVA_OPTS: '-Xms512m -Xmx512m'
xpack.security.enabled: 'false'
redis:
image: 'redis:alpine'
volumes:
- 'redis:/data'
api_cable:
image: 'manifoldscholarship/manifold-api:v8.1.1'
volumes:
- 'public-api-data:/opt/manifold/api/public'
- 'manifold-sockets:/manifold_sockets'
environment:
- 'DOMAIN=${FQDN_CLIENT}'
- SSL_ENABLED=true
- API_SOCKET=/manifold_sockets/manifold-api
- API_CABLE_SOCKET=/manifold_sockets/manifold-cable
- 'ELASTICSEARCH_URL=http://elasticsearch:9200'
- RAILS_ENV=production
- RAILS_SECRET_KEY=REDACTED
- RAILS_DB_USER=postgres
- RAILS_DB_PASS=harmlessifrevealedasitsalllocal
- RAILS_DB_HOST=postgres
- RAILS_DB_PORT=5432
- RAILS_DB_NAME=manifold_production
- 'RAILS_REDIS_URL=redis://redis:6379'
- 'DATABASE_URL=postgres://postgres:harmlessifrevealedasitsalllocal@postgres:5432/manifold_production'
command:
- ./start-and-run
- bin/cable
api_clockwork:
image: 'manifoldscholarship/manifold-api:v8.1.1'
volumes:
- 'public-api-data:/opt/manifold/api/public'
- 'manifold-sockets:/manifold_sockets'
environment:
- 'DOMAIN=${FQDN_CLIENT}'
- SSL_ENABLED=true
- API_SOCKET=/manifold_sockets/manifold-api
- API_CABLE_SOCKET=/manifold_sockets/manifold-cable
- 'ELASTICSEARCH_URL=http://elasticsearch:9200'
- RAILS_ENV=production
- RAILS_SECRET_KEY=REDACTED
- RAILS_DB_USER=postgres
- RAILS_DB_PASS=harmlessifrevealedasitsalllocal
- RAILS_DB_HOST=postgres
- RAILS_DB_PORT=5432
- RAILS_DB_NAME=manifold_production
- 'RAILS_REDIS_URL=redis://redis:6379'
- 'DATABASE_URL=postgres://postgres:harmlessifrevealedasitsalllocal@postgres:5432/manifold_production'
command:
- ./start-and-run
- 'bin/zhong zhong.rb'
api_rails:
image: 'manifoldscholarship/manifold-api:v8.1.1'
volumes:
- 'public-api-data:/opt/manifold/api/public'
- 'manifold-sockets:/manifold_sockets'
environment:
- 'DOMAIN=${FQDN_CLIENT}'
- SSL_ENABLED=true
- API_SOCKET=/manifold_sockets/manifold-api
- API_CABLE_SOCKET=/manifold_sockets/manifold-cable
- 'ELASTICSEARCH_URL=http://elasticsearch:9200'
- RAILS_ENV=production
- RAILS_SECRET_KEY=REDACTED
- RAILS_DB_USER=postgres
- RAILS_DB_PASS=harmlessifrevealedasitsalllocal
- RAILS_DB_HOST=postgres
- RAILS_DB_PORT=5432
- RAILS_DB_NAME=manifold_production
- 'RAILS_REDIS_URL=redis://redis:6379'
- 'DATABASE_URL=postgres://postgres:harmlessifrevealedasitsalllocal@postgres:5432/manifold_production'
command:
- ./start-and-run
- 'bin/puma -C config/puma.rb'
api_sidekiq:
image: 'manifoldscholarship/manifold-api:v8.1.1'
volumes:
- 'public-api-data:/opt/manifold/api/public'
- 'manifold-sockets:/manifold_sockets'
environment:
- 'DOMAIN=${FQDN_CLIENT}'
- SSL_ENABLED=true
- API_SOCKET=/manifold_sockets/manifold-api
- API_CABLE_SOCKET=/manifold_sockets/manifold-cable
- 'ELASTICSEARCH_URL=http://elasticsearch:9200'
- RAILS_ENV=production
- RAILS_SECRET_KEY=REDACTED
- RAILS_DB_USER=postgres
- RAILS_DB_PASS=harmlessifrevealedasitsalllocal
- RAILS_DB_HOST=postgres
- RAILS_DB_PORT=5432
- RAILS_DB_NAME=manifold_production
- 'RAILS_REDIS_URL=redis://redis:6379'
- 'DATABASE_URL=postgres://postgres:harmlessifrevealedasitsalllocal@postgres:5432/manifold_production'
command:
- ./start-and-run
- bin/sidekiq
client:
image: 'manifoldscholarship/manifold-client:v8.1.1'
environment:
- 'DOMAIN=${FQDN_CLIENT}'
- 'CLIENT_BROWSER_API_URL=${FQDN_CLIENT}'
- 'CLIENT_BROWSER_API_CABLE_URL=${FQDN_CLIENT}/cable'
- SSL_ENABLED=true
- API_SOCKET=/manifold_sockets/manifold-api
- API_CABLE_SOCKET=/manifold_sockets/manifold-cable
- CLIENT_SERVER_PORT=8080
- NODE_ENV=production
- 'ELASTICSEARCH_URL=http://elasticsearch:9200'
- CLIENT_SERVER_PROXIES=true
volumes:
- 'public-api-data:/opt/manifold/api/public'
- 'manifold-sockets:/manifold_sockets'
command: 'yarn run start-docker'
volumes:
manifold-data:
manifold-sockets:
postgres:
redis:Metadata
Metadata
Assignees
Labels
No labels