Mirror of https://github.com/roostorg/coop github.com/roostorg/coop
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

at main 184 lines 4.9 kB view raw
1services: 2 redis: 3 image: redis:8.6.1-trixie 4 volumes: 5 - redis_data:/data 6 ports: 7 - '6379:6379' 8 9 # Runs all migrations from scratch, after clearing the database(s). 10 migrations: 11 image: node:24.14.1-bullseye-slim 12 command: bash -c 'set -e 13 npm i && ( [ "$CI" = "true" ] && npm run db:clean -- --env staging || true ) 14 && for db in api-server-pg scylla clickhouse; do npm run db:create -- --db "$$db" --env staging; npm run db:update -- --db "$$db" --env staging; done' 15 working_dir: /src 16 env_file: ./.env.githubci 17 environment: 18 - MIGRATOR_DB_NAME 19 - CLICKHOUSE_DATABASE 20 volumes: 21 - .:/src 22 depends_on: 23 postgres: 24 condition: service_healthy 25 scylla: 26 condition: service_healthy 27 clickhouse: 28 condition: service_healthy 29 30 drop_dbs: 31 image: node:24.14.1-bullseye-slim 32 command: bash -c 'npm i && npm run db:drop -- --env staging' 33 working_dir: /src 34 env_file: ./.env.githubci 35 environment: 36 - CLICKHOUSE_DATABASE 37 - MIGRATOR_DB_NAME 38 volumes: 39 - .:/src 40 depends_on: 41 - postgres 42 43 postgres: 44 image: ankane/pgvector:v0.5.1 45 # image: postgres:15.3 46 volumes: 47 - pg_data:/var/lib/postgresql/data 48 ports: 49 - '5432:5432' 50 healthcheck: 51 test: ['CMD', 'pg_isready', '-U', 'postgres', '-d', 'postgres'] 52 interval: 2s 53 start_period: 2s 54 environment: 55 POSTGRES_PASSWORD: postgres123 56 POSTGRES_USER: postgres 57 POSTGRES_DB: postgres 58 59 hma: 60 build: 61 context: ./hma 62 dockerfile: Dockerfile 63 environment: 64 - POSTGRES_PASSWORD=postgres123 65 - POSTGRES_USER=postgres 66 - POSTGRES_DB=postgres 67 - POSTGRES_HOST=postgres 68 ports: 69 - '9876:9876' 70 depends_on: 71 - postgres 72 73 scylla: 74 image: scylladb/scylla:5.2 75 volumes: 76 - scylla_data:/var/lib/scylla 77 ports: 78 - '9042:9042' 79 healthcheck: 80 test: ['CMD-SHELL', 'nodetool status || exit 1'] 81 interval: 5s 82 timeout: 5s 83 retries: 28 84 start_period: 35s 85 86 # Runs the api server's tests 87 test: 88 build: 89 context: . 90 dockerfile: Dockerfile 91 target: server_base 92 command: bash -c 'npm run test:ci' 93 working_dir: /app 94 volumes: 95 - ./server/reports:/app/reports 96 env_file: ./.env.githubci 97 depends_on: 98 migrations: 99 condition: service_completed_successfully 100 redis: 101 condition: service_started 102 103 # Regenerate GraphQL types and fail if the working tree drifts. 104 # Mirrors the `check_generated_graphql` CI job. 105 # node_modules is in a dedicated volume so the install doesn't clobber the host's node_modules. 106 codegen-check: 107 build: 108 context: . 109 dockerfile: Dockerfile 110 target: server_base 111 working_dir: /src 112 command: bash -c 'set -e 113 && git config --global --add safe.directory /src 114 && npm ci 115 && npm run generate 116 && [[ -z "$(git status --porcelain)" ]]' 117 volumes: 118 - .:/src 119 - codegen_node_modules:/src/node_modules 120 121 backend: 122 build: 123 context: . 124 dockerfile: Dockerfile 125 target: server_base 126 127 client: 128 build: 129 context: client 130 target: client_base 131 volumes: 132 - ./client/eslint:/app/eslint 133 - ./client/.eslintrc.cjs:/app/.eslintrc.cjs 134 - ./client/eslint.config.mjs:/app/eslint.config.mjs 135 136 jaeger: 137 image: jaegertracing/all-in-one:1.76.0 138 ports: 139 - '16686:16686' 140 - '14268' 141 - '14250' 142 environment: 143 - LOG_LEVEL=info 144 145 otel-collector: 146 # We have to pin to this version of the collector, because versions beyond 147 # this do not support the Jaeger exporter. See here for details: 148 # https://github.com/open-telemetry/opentelemetry-specification/pull/2858 149 image: otel/opentelemetry-collector-contrib:0.71.0 150 volumes: 151 - ./otel-collector.yaml:/etc/otel-collector.yaml 152 command: ['--config=/etc/otel-collector.yaml'] 153 ports: 154 - '1888:1888' # pprof extension 155 - '13133:13133' # health_check extension 156 - '4317:4317' # OTLP gRPC receiver 157 - '55670:55679' # zpages extension 158 depends_on: 159 - jaeger 160 161 clickhouse: 162 image: clickhouse/clickhouse-server:24.3 163 container_name: clickhouse 164 ports: 165 - '8123:8123' # HTTP interface 166 - '9000:9000' # Native TCP interface 167 volumes: 168 - clickhouse_data:/var/lib/clickhouse 169 environment: 170 CLICKHOUSE_DB: analytics 171 CLICKHOUSE_USER: default 172 CLICKHOUSE_PASSWORD: 'clickhouse' 173 healthcheck: 174 test: ['CMD-SHELL', 'clickhouse-client --host localhost --query "SELECT 1"'] 175 interval: 5s 176 timeout: 3s 177 retries: 5 178 179volumes: 180 pg_data: 181 scylla_data: 182 redis_data: 183 clickhouse_data: 184 codegen_node_modules: