k-skill Docker & Self-Hosted Deployment

GitHub

한국인을 위한 스킬 모음집 - SRT, KTX, 카카오톡, 한글과컴퓨터, 날씨, 미세먼지, 법령, 주식정보, 조선왕조실록, KBO, K-리그, LCK, 특허 검색, 토스 증권, 맞춤법 검사, 중고차 가격, 쿠팡, 네이버 블로그, 다이소, 올리브영, 택배 송장 조회 등등...

6,468 stars JavaScript JavaScript 1 file · ~12,464 tokens
RAW Compose
1. Pull Image (DOCKERHUB) docker pull grafana/loki
2. Docker Run (1-Click Launch) docker run -d --name k-skill -p 3200:3200 --restart always grafana/loki:3.5.3
3. Podman Run podman run -d --name k-skill -p 3200:3200 --restart always grafana/loki:3.5.3
4. Skopeo Inspect (Zero-Pull Manifest) skopeo inspect docker://docker.io/grafana/loki:3.5.3
5. ORAS Pull (OCI Artifact) oras pull grafana/loki:3.5.3
6. Compose Deployment docker compose up -d
infra/k-skill-proxy-dashboard/docker-compose.yml
Download .yml
name: k-skill-proxy-dashboard

# Usage stats dashboard for k-skill-proxy.
# Loki stores the proxy's JSON logs, Promtail tails proxy.log, Grafana
# visualizes per-endpoint call counts. Grafana is the only exposed port and
# is meant to sit behind the cloudflared tunnel hostname
# k-skill-proxy-dashboard.nomadamas.org.

services:
  loki:
    image: grafana/loki:3.5.3
    command: -config.file=/etc/loki/local-config.yml
    volumes:
      - ./loki/local-config.yml:/etc/loki/local-config.yml:ro
      - loki-data:/loki
    restart: unless-stopped
    networks: [dashboard]

  promtail:
    image: grafana/promtail:3.5.3
    command: -config.file=/etc/promtail/config.yml
    volumes:
      - ./promtail/config.yml:/etc/promtail/config.yml:ro
      # Mount the directory that contains the systemd-managed proxy log.
      # Override KSKILL_PROXY_LOG_DIR in .env if the app lives elsewhere.
      - ${KSKILL_PROXY_LOG_DIR:-/data/home/jeffrey/apps/k-skill-proxy}:/var/log/k-skill-proxy:ro
      - promtail-positions:/positions
    depends_on: [loki]
    restart: unless-stopped
    networks: [dashboard]

  grafana:
    image: grafana/grafana:12.1.0
    environment:
      GF_SECURITY_ADMIN_USER: ${GRAFANA_ADMIN_USER:?set GRAFANA_ADMIN_USER in .env}
      GF_SECURITY_ADMIN_PASSWORD: ${GRAFANA_ADMIN_PASSWORD:?set GRAFANA_ADMIN_PASSWORD in .env}
      GF_USERS_ALLOW_SIGN_UP: "false"
      GF_AUTH_ANONYMOUS_ENABLED: "false"
      GF_AUTH_DISABLE_LOGIN_FORM: "false"
      GF_SERVER_ROOT_URL: ${GRAFANA_ROOT_URL:-http://localhost:3200}
    ports:
      - "127.0.0.1:3200:3000"
    volumes:
      - grafana-data:/var/lib/grafana
      - ./grafana/provisioning:/etc/grafana/provisioning:ro
      - ./grafana/dashboards:/var/lib/grafana/dashboards:ro
    depends_on: [loki]
    restart: unless-stopped
    networks: [dashboard]

volumes:
  loki-data:
  promtail-positions:
  grafana-data:

networks:
  dashboard: