From aed65f008f1d08a067e0f082bb307c89fc0c84dc Mon Sep 17 00:00:00 2001 From: Kappeh Date: Tue, 9 Dec 2025 19:00:41 +0000 Subject: [PATCH] Add loki container --- .gitea/workflows/deploy.yml | 33 +++++++++++++++++++++ compose.yml | 57 +++++++++++++++++++++++++++++++++++++ loki/config.yml | 30 +++++++++++++++++++ 3 files changed, 120 insertions(+) create mode 100644 .gitea/workflows/deploy.yml create mode 100644 compose.yml create mode 100644 loki/config.yml diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml new file mode 100644 index 0000000..7353098 --- /dev/null +++ b/.gitea/workflows/deploy.yml @@ -0,0 +1,33 @@ +name: Deploy + +on: + push: + branches: + - main + +jobs: + deploy: + name: Deploy + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v5 + + - name: Setup ssh-agent + uses: webfactory/ssh-agent@v0.9.0 + with: + ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }} + + - name: Deploy to remote + env: + REMOTE_USER: ${{ secrets.REMOTE_USER }} + REMOTE_HOST: ${{ secrets.REMOTE_HOST }} + REMOTE_PATH: ${{ secrets.REMOTE_PATH }} + run: | + ssh -o StrictHostKeyChecking=no "$REMOTE_USER"@"$REMOTE_HOST" "mkdir -p \"$REMOTE_PATH\"" + scp -r ./* "$REMOTE_USER"@"$REMOTE_HOST":"$REMOTE_PATH" + ssh "$REMOTE_USER"@"$REMOTE_HOST" "docker compose -f $REMOTE_PATH/compose.yml down" + ssh "$REMOTE_USER"@"$REMOTE_HOST" "docker compose -f $REMOTE_PATH/compose.yml pull" + ssh "$REMOTE_USER"@"$REMOTE_HOST" "docker compose -f $REMOTE_PATH/compose.yml up -d --force-recreate" + diff --git a/compose.yml b/compose.yml new file mode 100644 index 0000000..dacebc7 --- /dev/null +++ b/compose.yml @@ -0,0 +1,57 @@ +networks: + monitoring_network: + name: monitoring_network + +services: + loki: + container_name: loki + image: grafana/loki:3.6.2 + restart: unless-stopped + user: 2003:2003 # loki:loki + networks: + - monitoring_network + ports: + - "3100:3100" + volumes: + - ./loki/config.yml:/etc/loki/config.yml:ro + - ./loki/data:/loki:rw + command: -config.file=/etc/loki/config.yml + + #promtail: + # image: grafana/promtail:latest + # volumes: + # - /var/log:/var/log + # command: -config.file=/etc/promtail/config.yml + # networks: + # - loki + + #grafana: + # environment: + # - GF_PATHS_PROVISIONING=/etc/grafana/provisioning + # - GF_AUTH_ANONYMOUS_ENABLED=true + # - GF_AUTH_ANONYMOUS_ORG_ROLE=Admin + # - GF_FEATURE_TOGGLES_ENABLE=alertingSimplifiedRouting,alertingQueryAndExpressionsStepMode + # entrypoint: + # - sh + # - -euc + # - | + # mkdir -p /etc/grafana/provisioning/datasources + # cat < /etc/grafana/provisioning/datasources/ds.yaml + # apiVersion: 1 + # datasources: + # - name: Loki + # type: loki + # access: proxy + # orgId: 1 + # url: http://loki:3100 + # basicAuth: false + # isDefault: true + # version: 1 + # editable: false + # EOF + # /run.sh + # image: grafana/grafana:latest + # ports: + # - "3000:3000" + # networks: + # - loki diff --git a/loki/config.yml b/loki/config.yml new file mode 100644 index 0000000..5276421 --- /dev/null +++ b/loki/config.yml @@ -0,0 +1,30 @@ +# This is a complete configuration to deploy Loki backed by the filesystem. +# The index will be shipped to the storage via tsdb-shipper. + +auth_enabled: false + +server: + http_listen_port: 3100 + +common: + instance_addr: 127.0.0.1 + path_prefix: /loki + storage: + filesystem: + chunks_directory: /loki/chunks + rules_directory: /loki/rules + replication_factor: 1 + ring: + kvstore: + store: inmemory + +schema_config: + configs: + - from: 2020-05-15 + store: tsdb + object_store: filesystem + schema: v13 + index: + prefix: index_ + period: 24h +