chore: local dev tilt wip
All checks were successful
/ build (map[dockerfile:./services/api/Dockerfile name:api]) (push) Successful in 42s
/ build (map[dockerfile:./services/watchers/Dockerfile name:watchers]) (push) Successful in 1m20s
/ build (map[dockerfile:./services/web/Dockerfile name:web]) (push) Successful in 1m21s
/ build (map[dockerfile:./services/app/Dockerfile name:app]) (push) Successful in 49s
/ build (map[dockerfile:./services/files/Dockerfile name:files]) (push) Successful in 1m12s
/ build (map[dockerfile:./services/tasks/Dockerfile name:tasks]) (push) Successful in 53s
/ build (map[dockerfile:./services/hasura/Dockerfile name:hasura]) (push) Successful in 1m0s
/ deploy (push) Successful in 8s
All checks were successful
/ build (map[dockerfile:./services/api/Dockerfile name:api]) (push) Successful in 42s
/ build (map[dockerfile:./services/watchers/Dockerfile name:watchers]) (push) Successful in 1m20s
/ build (map[dockerfile:./services/web/Dockerfile name:web]) (push) Successful in 1m21s
/ build (map[dockerfile:./services/app/Dockerfile name:app]) (push) Successful in 49s
/ build (map[dockerfile:./services/files/Dockerfile name:files]) (push) Successful in 1m12s
/ build (map[dockerfile:./services/tasks/Dockerfile name:tasks]) (push) Successful in 53s
/ build (map[dockerfile:./services/hasura/Dockerfile name:hasura]) (push) Successful in 1m0s
/ deploy (push) Successful in 8s
This commit is contained in:
parent
4198dc3ad9
commit
fc0733998e
9 changed files with 170 additions and 31 deletions
54
.env
Normal file
54
.env
Normal file
|
|
@ -0,0 +1,54 @@
|
||||||
|
# DEV PORTS
|
||||||
|
API_PORT=4200
|
||||||
|
WEB_PORT=4203
|
||||||
|
SERVICE_APP_PORT=4209
|
||||||
|
FILES_PORT=4292
|
||||||
|
|
||||||
|
EXPOSE_API_PORT=4200
|
||||||
|
EXPOSE_HASURA_PORT=4201
|
||||||
|
EXPOSE_PG_PORT=4204
|
||||||
|
EXPOSE_MINO_PORT=4290
|
||||||
|
EXPOSE_MINIO_PORT=4290
|
||||||
|
EXPOSE_MINO_CONSOLE_PORT=4291
|
||||||
|
EXPOSE_MINIO_CONSOLE_PORT=4291
|
||||||
|
MINIO_ROOT_USER=minio-admin
|
||||||
|
MINIO_ROOT_PASSWORD=minio-admin
|
||||||
|
EXPOSE_FILES_PORT=4292
|
||||||
|
EXPOSE_REDIS_QD_PORT=4278
|
||||||
|
EXPOSE_REDIS_HG_PORT=4279
|
||||||
|
EXPOSE_KVROCKS_CG_PORT=4277
|
||||||
|
|
||||||
|
EXPOSE_RABBITMQ_NODE_PORT=4272
|
||||||
|
EXPOSE_RABBITMQ_MANAGEMENT_PORT_PORT=4273
|
||||||
|
|
||||||
|
OSRM_CAR_PORT=4261
|
||||||
|
OSRM_FOOT_PORT=4262
|
||||||
|
OSRM_BICYCLE_PORT=4263
|
||||||
|
|
||||||
|
TILESERVERGL_PORT=4282
|
||||||
|
NOMINATIM_PORT=4283
|
||||||
|
|
||||||
|
HASURA_CONSOLE_PORT=4295
|
||||||
|
HASURA_CONSOLE_API_PORT=4293
|
||||||
|
|
||||||
|
# JWT
|
||||||
|
CLAIMS_NAMESPACE=https://alertesecours.fr/claims
|
||||||
|
|
||||||
|
# APP
|
||||||
|
APP_OA_FILES_URL=http://10.0.2.2:4292/api/v1/oas
|
||||||
|
APP_GRAPHQL_URL=http://10.0.2.2:4201/v1/graphql
|
||||||
|
APP_GRAPHQL_WS_URL=ws://10.0.2.2:4201/v1/graphql
|
||||||
|
APP_OSRM_CAR_URL=http://10.0.2.2:4261
|
||||||
|
APP_OSRM_FOOT_URL=http://10.0.2.2:4262
|
||||||
|
APP_OSRM_BICYCLE_URL=http://10.0.2.2:4263
|
||||||
|
APP_GEOLOC_SYNC_URL=http://10.0.2.2:4200/api/v1/oas/geoloc/sync
|
||||||
|
# APP_MAPVIEW_STYLE_URL=https://tiles.alertesecours.fr/styles/basic-preview/style.json
|
||||||
|
APP_MAPVIEW_STYLE_URL=http://10.0.2.2:4203/app/style.json
|
||||||
|
# APP_MAPVIEW_STYLE_URL=https://openmaptiles.geo.data.gouv.fr/styles/osm-bright/style.json
|
||||||
|
|
||||||
|
# API KEY
|
||||||
|
WHAT3WORDS_API_KEY=
|
||||||
|
|
||||||
|
# GoogleServices
|
||||||
|
ANDROID_GOOGLE_SERVICES_FILE_PATH=/home/jo/.lab/alertesecours/google-services.json
|
||||||
|
ANDROID_GOOGLE_SERVICES_FILE_PATH=/home/jo/.lab/alertesecours/GoogleService-Info.plist
|
||||||
|
|
@ -8,7 +8,11 @@ EXPOSE_API_PORT=4200
|
||||||
EXPOSE_HASURA_PORT=4201
|
EXPOSE_HASURA_PORT=4201
|
||||||
EXPOSE_PG_PORT=4204
|
EXPOSE_PG_PORT=4204
|
||||||
EXPOSE_MINO_PORT=4290
|
EXPOSE_MINO_PORT=4290
|
||||||
|
EXPOSE_MINIO_PORT=4290
|
||||||
EXPOSE_MINO_CONSOLE_PORT=4291
|
EXPOSE_MINO_CONSOLE_PORT=4291
|
||||||
|
EXPOSE_MINIO_CONSOLE_PORT=4291
|
||||||
|
MINIO_ROOT_USER=minio-admin
|
||||||
|
MINIO_ROOT_PASSWORD=minio-admin
|
||||||
EXPOSE_FILES_PORT=4292
|
EXPOSE_FILES_PORT=4292
|
||||||
EXPOSE_REDIS_QD_PORT=4278
|
EXPOSE_REDIS_QD_PORT=4278
|
||||||
EXPOSE_REDIS_HG_PORT=4279
|
EXPOSE_REDIS_HG_PORT=4279
|
||||||
|
|
@ -47,4 +51,4 @@ WHAT3WORDS_API_KEY=
|
||||||
|
|
||||||
# GoogleServices
|
# GoogleServices
|
||||||
ANDROID_GOOGLE_SERVICES_FILE_PATH=/home/jo/.lab/alertesecours/google-services.json
|
ANDROID_GOOGLE_SERVICES_FILE_PATH=/home/jo/.lab/alertesecours/google-services.json
|
||||||
ANDROID_GOOGLE_SERVICES_FILE_PATH=/home/jo/.lab/alertesecours/GoogleService-Info.plist
|
ANDROID_GOOGLE_SERVICES_FILE_PATH=/home/jo/.lab/alertesecours/GoogleService-Info.plist
|
||||||
|
|
|
||||||
9
.tiltignore
Normal file
9
.tiltignore
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
**/node_modules/**
|
||||||
|
**/.git/**
|
||||||
|
**/.cache/**
|
||||||
|
**/.dev-secrets/**
|
||||||
|
**/android/**
|
||||||
|
**/ios/**
|
||||||
|
**/*.log
|
||||||
|
osm-files/**
|
||||||
|
tileserver-files/**
|
||||||
33
DEVELOPER.md
33
DEVELOPER.md
|
|
@ -41,22 +41,37 @@ cp .env.default .env
|
||||||
|
|
||||||
### Start Services
|
### Start Services
|
||||||
|
|
||||||
Start all services with:
|
Start all services with Tilt:
|
||||||
```sh
|
```sh
|
||||||
yarn dev:up
|
yarn dev
|
||||||
```
|
# or
|
||||||
Or using devbox scripts:
|
devbox run dev
|
||||||
```sh
|
# or run a subset of services:
|
||||||
devbox run dev:up
|
tilt up api files hasura
|
||||||
```
|
```
|
||||||
|
|
||||||
View logs:
|
View logs in Tilt UI (web HUD opens automatically). CLI alternative:
|
||||||
```sh
|
```sh
|
||||||
yarn dev:logs
|
yarn dev:logs
|
||||||
|
# or
|
||||||
|
tilt logs
|
||||||
```
|
```
|
||||||
Or using devbox:
|
|
||||||
|
Stop services:
|
||||||
```sh
|
```sh
|
||||||
devbox run dev:logs
|
# If running in the foreground terminal:
|
||||||
|
Ctrl-C
|
||||||
|
# Or explicitly:
|
||||||
|
tilt down
|
||||||
|
```
|
||||||
|
|
||||||
|
Compose fallback (legacy):
|
||||||
|
```sh
|
||||||
|
yarn compose:up
|
||||||
|
yarn compose:down
|
||||||
|
# or via devbox:
|
||||||
|
devbox run compose:up
|
||||||
|
devbox run compose:down
|
||||||
```
|
```
|
||||||
|
|
||||||
### Using Devbox
|
### Using Devbox
|
||||||
|
|
|
||||||
38
Tiltfile
Normal file
38
Tiltfile
Normal file
|
|
@ -0,0 +1,38 @@
|
||||||
|
# Tiltfile for as-services
|
||||||
|
# Orchestrates docker-compose services with Tilt, providing a unified UI/logs and incremental workflows.
|
||||||
|
|
||||||
|
# Watch ignores are configured via .tiltignore
|
||||||
|
|
||||||
|
# Ensure .env exists so docker-compose gets expected env
|
||||||
|
local_resource(
|
||||||
|
name="ensure-env",
|
||||||
|
cmd="bash -lc 'if [ ! -f .env ] && [ -f .env.default ]; then cp .env.default .env && echo Created .env from .env.default; fi'",
|
||||||
|
allow_parallel=True,
|
||||||
|
auto_init=True,
|
||||||
|
)
|
||||||
|
|
||||||
|
# Optional: pre-pull builder image used in Dockerfiles
|
||||||
|
local_resource(
|
||||||
|
name="pull-builder",
|
||||||
|
cmd="docker pull devthefuture/dockerfile-x",
|
||||||
|
allow_parallel=True,
|
||||||
|
auto_init=True,
|
||||||
|
)
|
||||||
|
|
||||||
|
# Drive docker-compose with Tilt
|
||||||
|
dc = docker_compose('./docker-compose.yaml')
|
||||||
|
|
||||||
|
# Compose services are registered via docker_compose; explicit resource dependencies
|
||||||
|
# removed for compatibility with Tilt v0.35 (resource_deps not available).
|
||||||
|
|
||||||
|
# Optional groups for readability (requires Tilt Teams; keep commented if not used)
|
||||||
|
# set_team_ui_settings({
|
||||||
|
# 'resource_groups': {
|
||||||
|
# 'core': ['db', 'rabbitmq', 'redis-q-dedup', 'redis-hot-geodata', 'kvrocks-cold-geodata', 'maildev'],
|
||||||
|
# 'object-storage': ['minio', 'minio-setup'],
|
||||||
|
# 'hasura': ['hasura', 'hasura_console'],
|
||||||
|
# 'api-stack': ['api', 'files', 'tasks', 'watchers'],
|
||||||
|
# 'geo': ['osrm-car', 'osrm-foot', 'tileserver-gl', 'nominatim', 'nominatim-pg'],
|
||||||
|
# 'frontends': ['web', 'app'],
|
||||||
|
# }
|
||||||
|
# })
|
||||||
|
|
@ -5,7 +5,8 @@
|
||||||
"yarn",
|
"yarn",
|
||||||
"git",
|
"git",
|
||||||
"curl",
|
"curl",
|
||||||
"jq"
|
"jq",
|
||||||
|
"tilt"
|
||||||
],
|
],
|
||||||
"shell": {
|
"shell": {
|
||||||
"init_hook": [
|
"init_hook": [
|
||||||
|
|
@ -49,4 +50,4 @@
|
||||||
"NODE_ENV": "development",
|
"NODE_ENV": "development",
|
||||||
"LOCAL_DEV": "true"
|
"LOCAL_DEV": "true"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -74,6 +74,10 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"tilt": {
|
||||||
|
"resolved": "github:NixOS/nixpkgs/ca77296380960cd497a765102eeb1356eb80fed0?narHash=sha256-PgLSZDBEWUHpfTRfFyklmiiLBE1i1aGCtz4eRA3POao%3D#tilt",
|
||||||
|
"source": "nixpkg"
|
||||||
|
},
|
||||||
"yarn": {
|
"yarn": {
|
||||||
"resolved": "github:NixOS/nixpkgs/ca77296380960cd497a765102eeb1356eb80fed0?narHash=sha256-PgLSZDBEWUHpfTRfFyklmiiLBE1i1aGCtz4eRA3POao%3D#yarn",
|
"resolved": "github:NixOS/nixpkgs/ca77296380960cd497a765102eeb1356eb80fed0?narHash=sha256-PgLSZDBEWUHpfTRfFyklmiiLBE1i1aGCtz4eRA3POao%3D#yarn",
|
||||||
"source": "nixpkg",
|
"source": "nixpkg",
|
||||||
|
|
|
||||||
|
|
@ -32,25 +32,25 @@ services:
|
||||||
minio-setup:
|
minio-setup:
|
||||||
image: minio/mc:latest
|
image: minio/mc:latest
|
||||||
depends_on:
|
depends_on:
|
||||||
- minio
|
minio:
|
||||||
|
condition: service_healthy
|
||||||
environment:
|
environment:
|
||||||
MINIO_ROOT_USER: ${MINIO_ROOT_USER:-minio-admin}
|
MINIO_ROOT_USER: ${MINIO_ROOT_USER:-minio-admin}
|
||||||
MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD:-minio-admin}
|
MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD:-minio-admin}
|
||||||
entrypoint: >
|
entrypoint:
|
||||||
/bin/sh -c '
|
- /bin/sh
|
||||||
set -e
|
- -ec
|
||||||
mc alias set myminio http://minio:9000 "$$MINIO_ROOT_USER" "$$MINIO_ROOT_PASSWORD";
|
- |
|
||||||
# wait for server to be ready
|
mc alias set myminio http://minio:9000 "$MINIO_ROOT_USER" "$MINIO_ROOT_PASSWORD"
|
||||||
until mc ls myminio >/dev/null 2>&1; do
|
until mc ls myminio >/dev/null 2>&1; do
|
||||||
echo "Waiting for MinIO to be ready...";
|
echo "Waiting for MinIO to be ready..."
|
||||||
sleep 1;
|
sleep 1
|
||||||
done;
|
done
|
||||||
echo "MinIO is up and running, configuring...";
|
echo "MinIO is up and running, configuring..."
|
||||||
mc mb -p myminio/avatar || true;
|
mc mb -p myminio/avatar || true
|
||||||
mc mb -p myminio/audio || true;
|
mc mb -p myminio/audio || true
|
||||||
mc anonymous set download myminio/avatar || true;
|
mc anonymous set download myminio/avatar || true
|
||||||
echo "MinIO bucket setup complete.";
|
echo "MinIO bucket setup complete."
|
||||||
'
|
|
||||||
|
|
||||||
rabbitmq:
|
rabbitmq:
|
||||||
image: docker.io/rabbitmq:4.1
|
image: docker.io/rabbitmq:4.1
|
||||||
|
|
@ -154,6 +154,12 @@ services:
|
||||||
HASURA_GRAPHQL_ENDPOINT: http://localhost:${EXPOSE_HASURA_PORT:-4201}
|
HASURA_GRAPHQL_ENDPOINT: http://localhost:${EXPOSE_HASURA_PORT:-4201}
|
||||||
HASURA_INTERNAL_HOSTNAME: ${HASURA_INTERNAL_HOSTNAME:-hasura}
|
HASURA_INTERNAL_HOSTNAME: ${HASURA_INTERNAL_HOSTNAME:-hasura}
|
||||||
HASURA_EXPOSE_PORT: ${EXPOSE_HASURA_PORT:-4201}
|
HASURA_EXPOSE_PORT: ${EXPOSE_HASURA_PORT:-4201}
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD-SHELL", "wget -qO- http://localhost:${HASURA_CONSOLE_PORT:-4295}/ >/dev/null 2>&1 || curl -sf http://localhost:${HASURA_CONSOLE_PORT:-4295}/ >/dev/null"]
|
||||||
|
interval: 10s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 10
|
||||||
|
start_period: 10s
|
||||||
|
|
||||||
api:
|
api:
|
||||||
image: helpme_api:prod
|
image: helpme_api:prod
|
||||||
|
|
@ -381,6 +387,12 @@ services:
|
||||||
- "${MAILDEV_SMTP_PORT:-4225}:1025"
|
- "${MAILDEV_SMTP_PORT:-4225}:1025"
|
||||||
- "${MAILDEV_WEB_PORT:-4226}:1080"
|
- "${MAILDEV_WEB_PORT:-4226}:1080"
|
||||||
restart: always
|
restart: always
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD-SHELL", "wget -qO- http://localhost:${MAILDEV_WEB_PORT:-1080}/ >/dev/null 2>&1 || curl -sf http://localhost:${MAILDEV_WEB_PORT:-1080}/ >/dev/null"]
|
||||||
|
interval: 10s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 10
|
||||||
|
start_period: 10s
|
||||||
|
|
||||||
web:
|
web:
|
||||||
image: helpme_web
|
image: helpme_web
|
||||||
|
|
|
||||||
|
|
@ -20,9 +20,11 @@
|
||||||
"tests/*"
|
"tests/*"
|
||||||
],
|
],
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "yarn dev:up && yarn dev:logs",
|
"dev": "tilt up",
|
||||||
"dev:up": "up",
|
"dev:up": "tilt up",
|
||||||
"dev:logs": "dev-logs",
|
"dev:logs": "tilt logs",
|
||||||
|
"compose:up": "scripts/up",
|
||||||
|
"compose:down": "docker compose down -v",
|
||||||
"up:modjo": "git stash && yarn up '@modjo/*' && git stash pop && yarn",
|
"up:modjo": "git stash && yarn up '@modjo/*' && git stash pop && yarn",
|
||||||
"release": "commit-and-tag-version",
|
"release": "commit-and-tag-version",
|
||||||
"lint": "eslint .",
|
"lint": "eslint .",
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue