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]