2022-01-18 09:35:45 +00:00
|
|
|
version: "3.4"
|
2021-04-22 11:51:15 +00:00
|
|
|
|
|
|
|
services:
|
2021-07-15 09:15:44 +00:00
|
|
|
db:
|
2024-05-24 07:16:57 +00:00
|
|
|
# use lowest supported version for dev to check compatibility
|
|
|
|
image: postgres:${POSTGRES_IMAGE_VERSION:-12}
|
2021-07-15 09:15:44 +00:00
|
|
|
ports:
|
|
|
|
- "${HOST_PUBLISH_IP:-127.0.0.1}:${POSTGRES_PORT:-5432}:5432"
|
2024-05-06 08:06:03 +00:00
|
|
|
command: "${POSTGRES_DEV_EXTRA_ARGS}"
|
2021-07-15 09:15:44 +00:00
|
|
|
|
2022-04-19 09:50:23 +00:00
|
|
|
redis:
|
|
|
|
ports:
|
2022-07-01 15:43:28 +00:00
|
|
|
- "${HOST_PUBLISH_IP:-127.0.0.1}:${DEBUG_REDIS_PORT:-6379}:6379"
|
2022-04-19 09:50:23 +00:00
|
|
|
|
2022-03-03 14:12:20 +00:00
|
|
|
# Override with the dev caddy file which switches Caddy to only be the media file
|
|
|
|
# server in the dev env. Devs will instead directly connect to the backend and
|
|
|
|
# web frontend services.
|
|
|
|
caddy:
|
|
|
|
volumes:
|
|
|
|
- $PWD/Caddyfile.dev:/etc/caddy/Caddyfile
|
|
|
|
|
2021-04-22 11:51:15 +00:00
|
|
|
backend:
|
2022-02-22 14:51:38 +00:00
|
|
|
image: baserow_backend_dev:latest
|
2022-04-13 07:56:43 +00:00
|
|
|
environment:
|
|
|
|
- BASEROW_BACKEND_DEBUGGER_ENABLED=${BASEROW_BACKEND_DEBUGGER_ENABLED:-True}
|
|
|
|
- BASEROW_BACKEND_DEBUGGER_PORT=${BASEROW_BACKEND_DEBUGGER_PORT:-5678}
|
2023-02-21 06:04:18 +00:00
|
|
|
- BASEROW_DANGEROUS_SILKY_ANALYZE_QUERIES
|
2023-03-03 16:58:45 +00:00
|
|
|
- OTEL_EXPORTER_OTLP_ENDPOINT=http://otel-collector:4318
|
2021-04-22 11:51:15 +00:00
|
|
|
build:
|
2022-02-22 14:51:38 +00:00
|
|
|
dockerfile: ./backend/Dockerfile
|
|
|
|
context: .
|
2022-01-18 09:35:45 +00:00
|
|
|
target: dev
|
2021-04-22 11:51:15 +00:00
|
|
|
args:
|
|
|
|
# We allow configuring the UID/GID here so you can run as the dev's actual user
|
|
|
|
# reducing the chance the containers screw up the bind mounted folders.
|
2021-12-15 12:26:02 +00:00
|
|
|
UID: $UID
|
|
|
|
GID: $GID
|
2022-03-03 14:12:20 +00:00
|
|
|
ports:
|
|
|
|
- "${HOST_PUBLISH_IP:-127.0.0.1}:8000:8000"
|
2022-04-13 07:56:43 +00:00
|
|
|
- "${HOST_PUBLISH_IP:-127.0.0.1}:${BASEROW_BACKEND_DEBUGGER_PORT:-5678}:${BASEROW_BACKEND_DEBUGGER_PORT:-5678}"
|
2021-04-22 11:51:15 +00:00
|
|
|
volumes:
|
|
|
|
- ./backend:/baserow/backend
|
2021-11-24 13:45:20 +00:00
|
|
|
- ./premium/backend/:/baserow/premium/backend
|
2022-09-20 15:31:46 +02:00
|
|
|
- ./enterprise/backend/:/baserow/enterprise/backend
|
2022-07-03 17:28:50 +00:00
|
|
|
- ./deploy/plugins/install_plugin.sh:/baserow/plugins/install_plugin.sh
|
2023-06-15 10:28:18 +00:00
|
|
|
- ./tests:/baserow/tests
|
2021-04-22 11:51:15 +00:00
|
|
|
# Open stdin and tty so when attaching key input works as expected.
|
|
|
|
stdin_open: true
|
|
|
|
tty: true
|
2023-03-03 16:58:45 +00:00
|
|
|
depends_on:
|
|
|
|
- otel-collector
|
2021-04-22 11:51:15 +00:00
|
|
|
|
2022-02-22 14:51:38 +00:00
|
|
|
web-frontend:
|
|
|
|
image: baserow_web-frontend_dev:latest
|
2021-05-06 10:52:48 +00:00
|
|
|
build:
|
2022-02-22 14:51:38 +00:00
|
|
|
dockerfile: ./web-frontend/Dockerfile
|
|
|
|
context: .
|
2022-01-18 09:35:45 +00:00
|
|
|
target: dev
|
2021-05-06 10:52:48 +00:00
|
|
|
args:
|
|
|
|
# We allow configuring the UID/GID here so you can run as the dev's actual user
|
|
|
|
# reducing the chance the containers screw up the bind mounted folders.
|
2021-12-15 12:26:02 +00:00
|
|
|
UID: $UID
|
|
|
|
GID: $GID
|
2022-03-03 14:12:20 +00:00
|
|
|
ports:
|
|
|
|
- "${HOST_PUBLISH_IP:-127.0.0.1}:3000:3000"
|
2024-08-06 17:47:23 +00:00
|
|
|
volumes:
|
|
|
|
- ./web-frontend:/baserow/web-frontend
|
|
|
|
# Override the above mounts for node_modules so we use the node_modules built
|
|
|
|
# directly into the image instead of whatever is on your local filesystem.
|
|
|
|
- /baserow/web-frontend/node_modules
|
|
|
|
- ./premium/web-frontend/:/baserow/premium/web-frontend
|
|
|
|
- ./enterprise/web-frontend/:/baserow/enterprise/web-frontend
|
|
|
|
- ./tests/:/baserow/tests
|
|
|
|
# Open stdin and tty so when attaching key input works as expected.
|
|
|
|
stdin_open: true
|
|
|
|
tty: true
|
|
|
|
|
|
|
|
web-frontend-storybook:
|
|
|
|
image: baserow_web-frontend_dev:latest
|
|
|
|
restart: unless-stopped
|
|
|
|
environment:
|
|
|
|
FEATURE_FLAGS:
|
|
|
|
networks:
|
|
|
|
local:
|
|
|
|
build:
|
|
|
|
dockerfile: ./web-frontend/Dockerfile
|
|
|
|
context: .
|
|
|
|
target: dev
|
|
|
|
args:
|
|
|
|
# We allow configuring the UID/GID here so you can run as the dev's actual user
|
|
|
|
# reducing the chance the containers screw up the bind mounted folders.
|
|
|
|
UID: $UID
|
|
|
|
GID: $GID
|
|
|
|
command: "storybook-dev"
|
|
|
|
ports:
|
|
|
|
- "${HOST_PUBLISH_IP:-127.0.0.1}:6006:6006"
|
2021-06-01 09:30:30 +00:00
|
|
|
volumes:
|
2022-02-22 14:51:38 +00:00
|
|
|
- ./web-frontend:/baserow/web-frontend
|
|
|
|
# Override the above mounts for node_modules so we use the node_modules built
|
|
|
|
# directly into the image instead of whatever is on your local filesystem.
|
2024-01-16 12:30:54 +00:00
|
|
|
- /baserow/web-frontend/node_modules
|
2022-02-22 14:51:38 +00:00
|
|
|
- ./premium/web-frontend/:/baserow/premium/web-frontend
|
2022-09-20 15:31:46 +02:00
|
|
|
- ./enterprise/web-frontend/:/baserow/enterprise/web-frontend
|
2023-06-15 10:28:18 +00:00
|
|
|
- ./tests/:/baserow/tests
|
2021-06-01 09:30:30 +00:00
|
|
|
# Open stdin and tty so when attaching key input works as expected.
|
|
|
|
stdin_open: true
|
|
|
|
tty: true
|
|
|
|
|
2022-02-22 14:51:38 +00:00
|
|
|
celery:
|
2021-06-01 09:30:30 +00:00
|
|
|
image: baserow_backend_dev:latest
|
|
|
|
build:
|
2022-02-22 14:51:38 +00:00
|
|
|
dockerfile: ./backend/Dockerfile
|
|
|
|
context: .
|
2022-01-18 09:35:45 +00:00
|
|
|
target: dev
|
2021-06-01 09:30:30 +00:00
|
|
|
args:
|
|
|
|
# We allow configuring the UID/GID here so you can run as the dev's actual user
|
|
|
|
# reducing the chance the containers screw up the bind mounted folders.
|
2021-12-15 12:26:02 +00:00
|
|
|
UID: $UID
|
|
|
|
GID: $GID
|
2022-02-22 14:51:38 +00:00
|
|
|
command: "watch-py celery-worker"
|
2023-02-21 06:04:18 +00:00
|
|
|
environment:
|
2023-03-03 16:58:45 +00:00
|
|
|
- OTEL_EXPORTER_OTLP_ENDPOINT=http://otel-collector:4318
|
2023-02-21 06:04:18 +00:00
|
|
|
- BASEROW_DANGEROUS_SILKY_ANALYZE_QUERIES
|
2021-06-01 09:30:30 +00:00
|
|
|
volumes:
|
|
|
|
- ./backend:/baserow/backend
|
2021-11-24 13:45:20 +00:00
|
|
|
- ./premium/backend/:/baserow/premium/backend
|
2022-09-20 15:31:46 +02:00
|
|
|
- ./enterprise/backend/:/baserow/enterprise/backend
|
2021-06-01 09:30:30 +00:00
|
|
|
# Open stdin and tty so when attaching key input works as expected.
|
|
|
|
stdin_open: true
|
|
|
|
tty: true
|
2023-03-03 16:58:45 +00:00
|
|
|
depends_on:
|
|
|
|
- otel-collector
|
2021-06-01 09:30:30 +00:00
|
|
|
|
2022-02-22 14:51:38 +00:00
|
|
|
celery-export-worker:
|
2021-06-01 09:30:30 +00:00
|
|
|
image: baserow_backend_dev:latest
|
2023-03-03 16:58:45 +00:00
|
|
|
environment:
|
|
|
|
- OTEL_EXPORTER_OTLP_ENDPOINT=http://otel-collector:4318
|
|
|
|
- BASEROW_DANGEROUS_SILKY_ANALYZE_QUERIES
|
2021-06-01 09:30:30 +00:00
|
|
|
build:
|
2022-02-22 14:51:38 +00:00
|
|
|
dockerfile: ./backend/Dockerfile
|
|
|
|
context: .
|
2022-01-18 09:35:45 +00:00
|
|
|
target: dev
|
2021-06-01 09:30:30 +00:00
|
|
|
args:
|
|
|
|
# We allow configuring the UID/GID here so you can run as the dev's actual user
|
|
|
|
# reducing the chance the containers screw up the bind mounted folders.
|
2021-12-15 12:26:02 +00:00
|
|
|
UID: $UID
|
|
|
|
GID: $GID
|
2022-02-22 14:51:38 +00:00
|
|
|
command: "watch-py celery-exportworker"
|
2021-04-22 11:51:15 +00:00
|
|
|
volumes:
|
|
|
|
- ./backend:/baserow/backend
|
2021-11-24 13:45:20 +00:00
|
|
|
- ./premium/backend/:/baserow/premium/backend
|
2022-09-20 15:31:46 +02:00
|
|
|
- ./enterprise/backend/:/baserow/enterprise/backend
|
2021-04-22 11:51:15 +00:00
|
|
|
# Open stdin and tty so when attaching key input works as expected.
|
|
|
|
stdin_open: true
|
|
|
|
tty: true
|
2023-03-03 16:58:45 +00:00
|
|
|
depends_on:
|
|
|
|
- otel-collector
|
2021-04-22 11:51:15 +00:00
|
|
|
|
2022-02-22 14:51:38 +00:00
|
|
|
celery-beat-worker:
|
|
|
|
image: baserow_backend_dev:latest
|
2023-03-03 16:58:45 +00:00
|
|
|
environment:
|
|
|
|
- OTEL_EXPORTER_OTLP_ENDPOINT=http://otel-collector:4318
|
2021-04-22 11:51:15 +00:00
|
|
|
build:
|
2022-02-22 14:51:38 +00:00
|
|
|
dockerfile: ./backend/Dockerfile
|
|
|
|
context: .
|
2022-01-18 09:35:45 +00:00
|
|
|
target: dev
|
2021-04-22 11:51:15 +00:00
|
|
|
args:
|
|
|
|
# We allow configuring the UID/GID here so you can run as the dev's actual user
|
|
|
|
# reducing the chance the containers screw up the bind mounted folders.
|
2021-12-15 12:26:02 +00:00
|
|
|
UID: $UID
|
|
|
|
GID: $GID
|
2022-02-22 14:51:38 +00:00
|
|
|
command: "watch-py celery-beat"
|
2021-04-22 11:51:15 +00:00
|
|
|
volumes:
|
2022-02-22 14:51:38 +00:00
|
|
|
- ./backend:/baserow/backend
|
|
|
|
- ./premium/backend/:/baserow/premium/backend
|
2022-09-20 15:31:46 +02:00
|
|
|
- ./enterprise/backend/:/baserow/enterprise/backend
|
2022-02-08 16:10:51 +00:00
|
|
|
# Open stdin and tty so when attaching key input works as expected.
|
|
|
|
stdin_open: true
|
|
|
|
tty: true
|
2021-04-22 11:51:15 +00:00
|
|
|
|
2024-06-25 11:35:04 +00:00
|
|
|
celery-flower:
|
|
|
|
image: baserow_backend_dev:latest
|
|
|
|
build:
|
|
|
|
dockerfile: ./backend/Dockerfile
|
|
|
|
context: .
|
|
|
|
target: dev
|
|
|
|
args:
|
|
|
|
# We allow configuring the UID/GID here so you can run as the dev's actual user
|
|
|
|
# reducing the chance the containers screw up the bind mounted folders.
|
|
|
|
UID: $UID
|
|
|
|
GID: $GID
|
|
|
|
restart: unless-stopped
|
|
|
|
stop_signal: SIGQUIT
|
|
|
|
environment:
|
|
|
|
REDIS_HOST:
|
|
|
|
REDIS_PORT:
|
|
|
|
REDIS_PROTOCOL:
|
|
|
|
REDIS_URL:
|
|
|
|
REDIS_USER:
|
|
|
|
REDIS_PASSWORD: ${REDIS_PASSWORD:?}
|
|
|
|
depends_on:
|
|
|
|
- backend
|
|
|
|
volumes:
|
|
|
|
- media:/baserow/media
|
|
|
|
ports:
|
|
|
|
- "5555:5555" # web ui
|
|
|
|
command: "celery-flower"
|
|
|
|
networks:
|
|
|
|
local:
|
|
|
|
# Open stdin and tty so when attaching key input works as expected.
|
|
|
|
stdin_open: true
|
|
|
|
tty: true
|
|
|
|
|
2022-02-08 16:10:51 +00:00
|
|
|
mjml-email-compiler:
|
|
|
|
build:
|
|
|
|
target: dev
|
|
|
|
args:
|
|
|
|
# We allow configuring the UID/GID here so you can run as the dev's actual user
|
|
|
|
# reducing the chance the containers screw up the bind mounted folders.
|
|
|
|
UID: $UID
|
|
|
|
GID: $GID
|
|
|
|
context: .
|
|
|
|
dockerfile: ./web-frontend/Dockerfile
|
|
|
|
image: baserow_web-frontend:latest
|
|
|
|
command: "bash -c 'cd /baserow/backend/email_compiler/ && yarn install && yarn run watch'"
|
|
|
|
volumes:
|
|
|
|
- ./backend:/baserow/backend
|
2021-04-22 11:51:15 +00:00
|
|
|
# Open stdin and tty so when attaching key input works as expected.
|
|
|
|
stdin_open: true
|
|
|
|
tty: true
|
|
|
|
|
2022-02-08 16:10:51 +00:00
|
|
|
mailhog:
|
|
|
|
image: mailhog/mailhog
|
|
|
|
logging:
|
2023-11-10 13:20:57 +00:00
|
|
|
driver: "none" # disable saving logs
|
2022-02-08 16:10:51 +00:00
|
|
|
ports:
|
|
|
|
- "8025:8025" # web ui
|
|
|
|
networks:
|
|
|
|
local:
|
|
|
|
|
2024-06-25 11:35:04 +00:00
|
|
|
# When switching between dev and local the media files in the media volume will be
|
|
|
|
# owned by different users. Ensure that we chown them to the user appropriate for the
|
|
|
|
# environment here.
|
2022-02-22 14:51:38 +00:00
|
|
|
volume-permissions-fixer:
|
|
|
|
image: bash:4.4
|
2021-12-15 12:26:02 +00:00
|
|
|
command: chown ${UID:-1000}:${GID:-1000} -R /baserow/media
|
2022-02-22 14:51:38 +00:00
|
|
|
volumes:
|
|
|
|
- media:/baserow/media
|
|
|
|
- caddy_config:/config
|
|
|
|
- caddy_data:/data
|
|
|
|
networks:
|
|
|
|
local:
|
2023-03-03 16:58:45 +00:00
|
|
|
|
|
|
|
otel-collector:
|
2025-01-20 09:05:05 +00:00
|
|
|
image: otel/opentelemetry-collector:0.106.1
|
2023-11-10 13:20:57 +00:00
|
|
|
command: ["--config=/etc/otel-collector-config.yaml"]
|
2023-03-03 16:58:45 +00:00
|
|
|
environment:
|
|
|
|
HONEYCOMB_API_KEY:
|
|
|
|
HONEYCOMB_METRICS_DATASET: baserow-dev-metrics
|
|
|
|
volumes:
|
|
|
|
- $PWD/deploy/otel/otel-collector-config.yaml:/etc/otel-collector-config.yaml
|
|
|
|
networks:
|
|
|
|
local:
|
|
|
|
ports:
|
|
|
|
- "4318:4318"
|