Swetrix

Swetrix is a fully open source, privacy focused and cookieless alternative to Google Analytics.

Directory Structure

    • .env
    • docker-compose.yml

docker-compose.yml

version: '3.9'
 
services:
  # This is the frontend, you can remove it if you want
  swetrix:
    image: swetrix/swetrix-fe:v3.2.0
    restart: always
    depends_on:
      - swetrix-api
    ports:
      - '80:3000'
    environment:
      - API_URL=http://localhost:8080/
      - SELFHOSTED=true
 
  # This is the analytics API
  swetrix-api:
    image: swetrix/swetrix-api:v3.2.3
    restart: always
    container_name: swetrix-api
    ports:
      - '8080:5005'
    environment:
      - JWT_ACCESS_TOKEN_SECRET=jwt-access-token-secret
      - JWT_REFRESH_TOKEN_SECRET=jwt-refresh-token-secret
      - REDIS_HOST=redis
      - CLICKHOUSE_HOST=http://clickhouse
      - API_ORIGINS=
      - EMAIL=test@test.com
      - PASSWORD=12345678
      - API_KEY=
      - DEBUG_MODE=false
      - CLOUDFLARE_PROXY_ENABLED=false
    links:
      - 'redis'
      - 'clickhouse'
    depends_on:
      - 'redis'
      - 'clickhouse'
  redis:
    image: redis:7.2-alpine
    restart: always
    environment:
      - REDIS_PORT=6379
      - REDIS_USER=default
      - REDIS_PASSWORD=
    # ports:
    #   - 6379:6379
  #   volumes:
  #     - '/opt/redis-volume:/data'
  clickhouse:
    image: clickhouse/clickhouse-server:24.8-alpine
    container_name: clickhouse
    cap_add:
      - SYS_NICE
    environment:
      - CLICKHOUSE_DATABASE=analytics
      - CLICKHOUSE_USER=default
      - CLICKHOUSE_PORT=8123
      - CLICKHOUSE_PASSWORD=
    # ports:
    #   - 8123:8123
    restart: always
    volumes:
      - ./swetrix-events-data:/var/lib/clickhouse
    ulimits:
      nofile:
        soft: 262144
        hard: 262144

Resources

Website: https://swetrix.com/

GitHub: https://github.com/Swetrix

Docker Hub: https://hub.docker.com/u/swetrix

Configuration: https://github.com/Swetrix/selfhosting