92 lines
2.4 KiB
YAML
92 lines
2.4 KiB
YAML
services:
|
|
rybbit_clickhouse:
|
|
mem_limit: 2g
|
|
memswap_limit: 3g
|
|
container_name: rybbit_clickhouse
|
|
image: clickhouse/clickhouse-server:25.4.2
|
|
volumes:
|
|
- /srv/appdata/rybbit/clickhouse:/var/lib/clickhouse
|
|
- ./clickhouse_config:/etc/clickhouse-server/config.d:ro
|
|
env_file:
|
|
- /srv/docker/secrets/rybbit/.env
|
|
healthcheck:
|
|
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:8123/ping"]
|
|
interval: 3s
|
|
timeout: 5s
|
|
retries: 5
|
|
start_period: 10s
|
|
restart: unless-stopped
|
|
networks:
|
|
- internal
|
|
tmpfs:
|
|
- /sys
|
|
|
|
rybbit_postgres:
|
|
image: postgres:17.4
|
|
container_name: rybbit_postgres
|
|
env_file:
|
|
- /srv/docker/secrets/rybbit/.env
|
|
volumes:
|
|
- /srv/appdata/rybbit/postgres:/var/lib/postgresql/data
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
|
|
interval: 3s
|
|
timeout: 5s
|
|
retries: 5
|
|
start_period: 10s
|
|
restart: unless-stopped
|
|
networks:
|
|
- internal
|
|
|
|
rybbit_backend:
|
|
mem_limit: 1g
|
|
memswap_limit: 1.5g
|
|
image: ghcr.io/rybbit-io/rybbit-backend:latest
|
|
container_name: rybbit_backend
|
|
env_file:
|
|
- /srv/docker/secrets/rybbit/.env
|
|
environment:
|
|
- NODE_ENV=production
|
|
- CLICKHOUSE_HOST=http://rybbit_clickhouse:8123
|
|
- POSTGRES_HOST=rybbit_postgres
|
|
- POSTGRES_PORT=5432
|
|
- BASE_URL=https://analytics.yoonect.com
|
|
- DISABLE_SIGNUP=true
|
|
depends_on:
|
|
rybbit_clickhouse:
|
|
condition: service_healthy
|
|
rybbit_postgres:
|
|
condition: service_healthy
|
|
healthcheck:
|
|
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://127.0.0.1:3001/api/health"]
|
|
interval: 3s
|
|
timeout: 5s
|
|
retries: 5
|
|
start_period: 10s
|
|
restart: unless-stopped
|
|
networks:
|
|
internal:
|
|
npm_proxy:
|
|
ipv4_address: 192.168.98.20
|
|
|
|
rybbit_client:
|
|
image: ghcr.io/rybbit-io/rybbit-client:latest
|
|
container_name: rybbit_client
|
|
environment:
|
|
- NODE_ENV=production
|
|
- NEXT_PUBLIC_BACKEND_URL=https://analytics.yoonect.com
|
|
- NEXT_PUBLIC_DISABLE_SIGNUP=true
|
|
depends_on:
|
|
- rybbit_backend
|
|
restart: unless-stopped
|
|
networks:
|
|
internal:
|
|
npm_proxy:
|
|
ipv4_address: 192.168.98.21
|
|
|
|
networks:
|
|
internal:
|
|
driver: bridge
|
|
npm_proxy:
|
|
external: true
|