You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
124 lines
3.4 KiB
124 lines
3.4 KiB
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 |
|
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 |
|
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
|
|
|