frehrarri opened a new issue #3981:
URL: https://github.com/apache/couchdb/issues/3981


   I'm trying to run a premade Budibase image on Docker Compose. They use 
CouchDB as one of their services, but I keep getting an issue with it not 
passing environment variables. I've tried speaking with Budibase on this but 
they weren't able to replicate or solve the issue.
   
   **docker ps** - here i've already created my containers
   ```
   CONTAINER ID   IMAGE                                      COMMAND            
      CREATED        STATUS                  PORTS                              
NAMES
   670b535aef97   budibase/proxy                             
"/docker-entrypoint.…"   25 hours ago   Up 25 hours             80/tcp, 
0.0.0.0:10000->10000/tcp   bbproxy
   bbaefc6843bd   budibase.docker.scarf.sh/budibase/apps     
"docker-entrypoint.s…"   25 hours ago   Up 25 hours             4001/tcp        
                   bbapps
   edcab9ef2c8e   budibase.docker.scarf.sh/budibase/worker   
"docker-entrypoint.s…"   25 hours ago   Up 25 hours             4001/tcp        
                   bbworker
   4260ef9ff6e5   minio/minio                                
"/usr/bin/docker-ent…"   25 hours ago   Up 25 hours (healthy)   9000/tcp        
                   dockerconfigs_minio-service_1
   b249588cfec7   containrrr/watchtower                      "/watchtower 
--debug…"   25 hours ago   Up 25 hours             8080/tcp                     
      dockerconfigs_watchtower-service_1
   08d4d840bad7   ibmcom/couchdb3                            
"/docker-entrypoint.…"   25 hours ago   Up 25 hours             4369/tcp, 
5984/tcp, 9100/tcp       dockerconfigs_couchdb-service_1
   f15b53622546   redis                                      
"docker-entrypoint.s…"   25 hours ago   Up 25 hours             6379/tcp        
                   dockerconfigs_redis-service_1
   ```
   
   **Error message:**
   ```
   yarn run v1.22.17
   $ node dist/index.js
   /app/node_modules/@budibase/backend-core/src/db/utils.js:163
       throw new Error(
       ^
   
   Error: CouchDB configuration invalid. You must provide a fully qualified 
CouchDB url, or the COUCH_DB_USER and COUCH_DB_PASSWORD environment variables.
       at exports.getCouchUrl 
(/app/node_modules/@budibase/backend-core/src/db/utils.js:163:11)
       at Object.<anonymous> (/app/dist/db/client.js:8:22)
       at Module._compile (internal/modules/cjs/loader.js:1085:14)
       at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
       at Module.load (internal/modules/cjs/loader.js:950:32)
       at Function.Module._load (internal/modules/cjs/loader.js:790:12)
       at Module.require (internal/modules/cjs/loader.js:974:19)
       at require (internal/modules/cjs/helpers.js:101:18)
       at Object.<anonymous> (/app/dist/db/index.js:2:16)
       at Module._compile (internal/modules/cjs/loader.js:1085:14)
   error Command failed with exit code 1.
   info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this 
command.
   ```
   
   
   
   ## Expected Behaviour
   
   What should happen is that I should be able to go to http://localhost:10000 
and use the budibase app that would be hosted in the container at that url.
   
   ## Your Environment
   
   **.env**
   ```
   # Use the main port in the builder for your self hosting URL, e.g. 
localhost:10000
   MAIN_PORT=10000
   
   # This section contains all secrets pertaining to the system
   # These should be updated
   JWT_SECRET=testsecret
   MINIO_ACCESS_KEY=budibase
   MINIO_SECRET_KEY=budibase
   COUCH_DB_PASSWORD=budibase
   COUCH_DB_USER=budibase
   REDIS_PASSWORD=budibase
   INTERNAL_API_KEY=budibase
   
   # This section contains variables that do not need to be altered under 
normal circumstances
   APP_PORT=4002
   WORKER_PORT=4003
   MINIO_PORT=4004
   COUCH_DB_PORT=4005
   REDIS_PORT=6379
   WATCHTOWER_PORT=6161
   BUDIBASE_ENVIRONMENT=PRODUCTION
   ```
   
   **docker-compose.yaml**
   ```
   version: "3"
   
   # optional ports are specified throughout for more advanced use cases.
   
   services:
     app-service:
       restart: unless-stopped
       image: budibase.docker.scarf.sh/budibase/apps
       container_name: bbapps
       environment:
         SELF_HOSTED: 1
         COUCH_DB_URL: 
http://${COUCH_DB_USER}:${COUCH_DB_PASSWORD}@couchdb-service:5984
         WORKER_URL: http://worker-service:4003
         MINIO_URL: http://minio-service:9000
         MINIO_ACCESS_KEY: ${MINIO_ACCESS_KEY}
         MINIO_SECRET_KEY: ${MINIO_SECRET_KEY}
         INTERNAL_API_KEY: ${INTERNAL_API_KEY}
         BUDIBASE_ENVIRONMENT: ${BUDIBASE_ENVIRONMENT}
         PORT: 4002
         JWT_SECRET: ${JWT_SECRET}
         LOG_LEVEL: info
         SENTRY_DSN: 
https://[email protected]/5338131
         ENABLE_ANALYTICS: "true"
         REDIS_URL: redis-service:6379
         REDIS_PASSWORD: ${REDIS_PASSWORD}
       depends_on:
         - worker-service
         - redis-service
   
     worker-service:
       restart: unless-stopped
       image: budibase.docker.scarf.sh/budibase/worker
       container_name: bbworker
       environment:
         SELF_HOSTED: 1
         PORT: 4003
         CLUSTER_PORT: ${MAIN_PORT}
         JWT_SECRET: ${JWT_SECRET}
         MINIO_ACCESS_KEY: ${MINIO_ACCESS_KEY}
         MINIO_SECRET_KEY: ${MINIO_SECRET_KEY}
         MINIO_URL: http://minio-service:9000
         APPS_URL: http://app-service:4002
         COUCH_DB_USERNAME: ${COUCH_DB_USER}
         COUCH_DB_PASSWORD: ${COUCH_DB_PASSWORD}
         COUCH_DB_URL: 
http://${COUCH_DB_USER}:${COUCH_DB_PASSWORD}@couchdb-service:5984
         SENTRY_DSN: 
https://[email protected]/5338131
         INTERNAL_API_KEY: ${INTERNAL_API_KEY}
         REDIS_URL: redis-service:6379
         REDIS_PASSWORD: ${REDIS_PASSWORD}
       depends_on:
         - redis-service
         - minio-service
         - couch-init
   
     minio-service:
       restart: unless-stopped
       image: minio/minio
       volumes:
         - minio_data:/data
       environment:
         MINIO_ACCESS_KEY: ${MINIO_ACCESS_KEY}
         MINIO_SECRET_KEY: ${MINIO_SECRET_KEY}
         MINIO_BROWSER: "off"
       command: server /data
       healthcheck:
         test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live";]
         interval: 30s
         timeout: 20s
         retries: 3
   
     proxy-service:
       restart: unless-stopped
       ports:
         - "${MAIN_PORT}:10000"
       container_name: bbproxy
       image: budibase/proxy
       depends_on:
         - minio-service
         - worker-service
         - app-service
         - couchdb-service
   
     couchdb-service:
       restart: unless-stopped
       image: ibmcom/couchdb3
       environment:
         - COUCHDB_PASSWORD=${COUCH_DB_PASSWORD}
         - COUCHDB_USER=${COUCH_DB_USER}
       volumes:
         - couchdb3_data:/opt/couchdb/data
   
     couch-init:
       image: curlimages/curl
       environment:
         PUT_CALL: "curl -u ${COUCH_DB_USER}:${COUCH_DB_PASSWORD} -X PUT 
couchdb-service:5984"
       depends_on:
         - couchdb-service
       command: ["sh","-c","sleep 10 && $${PUT_CALL}/_users && 
$${PUT_CALL}/_replicator; fg;"]
   
     redis-service:
       restart: unless-stopped
       image: redis
       command: redis-server --requirepass ${REDIS_PASSWORD}
       volumes:
         - redis_data:/data
   
     watchtower-service:
       restart: always
       image: containrrr/watchtower
       volumes:
         - /var/run/docker.sock:/var/run/docker.sock
       command: --debug --http-api-update bbapps bbworker bbproxy
       environment:
         - WATCHTOWER_HTTP_API=true
         - WATCHTOWER_HTTP_API_TOKEN=budibase
         - WATCHTOWER_CLEANUP=true
       labels:
         - "com.centurylinklabs.watchtower.enable=false"
   
   
   volumes:
     couchdb3_data:
       driver: local
     minio_data:
       driver: local
     redis_data:
       driver: local
   ```
   
   * CouchDB version used:
   * Browser name and version:
   * Operating system and version:
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to