Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 51 additions & 0 deletions .github/workflows/deploy-monitoring.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: Deploy Monitoring

on:
push:
branches:
- main
workflow_dispatch:

jobs:
deploy-monitoring:
runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@v5

- name: Create monitoring .env file
working-directory: monitoring
run: |
echo "PROMETHEUS_CONFIG_FILE_PATH=./prometheus/prometheus.yml" > .env
echo "GRAFANA_ADMIN_USER=${{ secrets.GRAFANA_ADMIN_USER }}" >> .env
echo "GRAFANA_ADMIN_PASSWORD=${{ secrets.GRAFANA_ADMIN_PASSWORD }}" >> .env

- name: Upload Monitoring Files to Server
uses: appleboy/scp-action@v1
with:
host: ${{ secrets.SERVER_HOST }}
username: ${{ secrets.SERVER_USERNAME }}
password: ${{ secrets.SERVER_PASSWORD }}
key: ${{ secrets.SSH_PRIVATE_KEY }}
source: "monitoring/"
target: "~/monitoring/"
overwrite: true
debug: true

- name: Apply Docker Compose Configuration
uses: appleboy/ssh-action@v1
with:
host: ${{ secrets.SERVER_HOST }}
username: ${{ secrets.SERVER_USERNAME }}
password: ${{ secrets.SERVER_PASSWORD }}
key: ${{ secrets.SSH_PRIVATE_KEY }}
script: |
DEPLOY_DIR=~/monitoring
mkdir -p $DEPLOY_DIR
cd $DEPLOY_DIR

echo "Applying docker-compose configuration for monitoring..."
docker compose pull
docker compose up -d
echo "Monitoring services deployed successfully."
3 changes: 3 additions & 0 deletions monitoring/.env
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
GRAFANA_ADMIN_USER=admin
GRAFANA_ADMIN_PASSWORD=1234
PROMETHEUS_CONFIG_FILE_PATH=./prometheus/prometheus.local.yml
35 changes: 35 additions & 0 deletions monitoring/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
services:
prometheus:
image: prom/prometheus:latest
container_name: gamchi-prometheus
ports:
- "9090:9090"
volumes:
- ${PROMETHEUS_CONFIG_FILE_PATH}:/etc/prometheus/prometheus.yml
command:
- '--config.file=/etc/prometheus/prometheus.yml'
networks:
- gamchi-network
restart: unless-stopped

grafana:
image: grafana/grafana:latest
container_name: gamchi-grafana
ports:
- "3000:3000"
volumes:
- ./grafana/provisioning:/etc/grafana/provisioning
- ./grafana/dashboards:/var/lib/grafana/dashboards
environment:
- GF_SECURITY_ADMIN_USER=${GRAFANA_ADMIN_USER}
- GF_SECURITY_ADMIN_PASSWORD=${GRAFANA_ADMIN_PASSWORD}
- GF_USERS_ALLOW_SIGN_UP=false
depends_on:
- prometheus
networks:
- gamchi-network
restart: unless-stopped

networks:
gamchi-network:
driver: bridge
Loading