From 7d1cfdc44ec4a7bacf9bc7cf87dcbb6fd818c108 Mon Sep 17 00:00:00 2001 From: DoctoDre Date: Sun, 26 Jul 2026 10:42:21 +0200 Subject: [PATCH] chore: temporary workflow to patch server RAM limits --- .../.gitea/workflows/patch-ram.yml | 163 ++++++++++++++++++ 1 file changed, 163 insertions(+) create mode 100644 privat/CV/andreknie.de/.gitea/workflows/patch-ram.yml diff --git a/privat/CV/andreknie.de/.gitea/workflows/patch-ram.yml b/privat/CV/andreknie.de/.gitea/workflows/patch-ram.yml new file mode 100644 index 0000000..4dfd43f --- /dev/null +++ b/privat/CV/andreknie.de/.gitea/workflows/patch-ram.yml @@ -0,0 +1,163 @@ +name: Patch Server RAM Limits + +on: + push: + branches: + - master + paths: + - 'privat/CV/andreknie.de/.gitea/workflows/patch-ram.yml' + workflow_dispatch: + +jobs: + patch: + runs-on: ubuntu-latest + steps: + - name: Patch NoteGraph and OrgMyLife + uses: appleboy/ssh-action@v1.0.3 + with: + host: ${{ secrets.DEPLOY_SSH_HOST }} + username: ${{ secrets.DEPLOY_SSH_USER }} + key: ${{ secrets.DEPLOY_SSH_KEY }} + script: | + echo "Patching NoteGraph..." + if [ -d /opt/NoteGraph ]; then + cd /opt/NoteGraph + cat << 'EOF' > docker-compose.yml + services: + silverbullet: + image: zefhemel/silverbullet:latest + restart: unless-stopped + deploy: + resources: + limits: + memory: 256M + environment: + SB_USER: "${SB_USER:-admin:changeme}" + volumes: + - ./notes:/space + ports: + - "3000:3000" + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:3000"] + interval: 30s + timeout: 5s + retries: 3 + + git-sync: + image: alpine/git:latest + restart: unless-stopped + deploy: + resources: + limits: + memory: 64M + volumes: + - ./notes:/space + - ./.git:/repo-git:ro + entrypoint: /bin/sh + command: | + -c ' + cd /space + git init 2>/dev/null || true + git config user.name "NoteGraph Auto-Sync" + git config user.email "notegraph@andreknie.de" + while true; do + sleep 300 + cd /space + git add -A + if ! git diff --cached --quiet 2>/dev/null; then + git commit -m "auto: sync notes \$(date +%Y-%m-%d_%H:%M)" + fi + done + ' + + ingestion: + build: + context: ./ingestion + restart: unless-stopped + deploy: + resources: + limits: + memory: 256M + ports: + - "8001:8001" + volumes: + - ./notes:/app/notes + - ./ingestion/inbox:/app/inbox + env_file: + - .env + environment: + NOTES_DIR: /app/notes + INBOX_DIR: /app/inbox + depends_on: + - silverbullet + EOF + docker compose up -d + fi + + echo "Patching OrgMyLife..." + if [ -d /opt/OrgMyLife ]; then + cd /opt/OrgMyLife + cat << 'EOF' > docker-compose.yml + version: "3.8" + + services: + db: + image: postgres:16-alpine + restart: unless-stopped + command: postgres -c shared_buffers=32MB -c max_connections=20 + deploy: + resources: + limits: + memory: 256M + environment: + POSTGRES_DB: orgmylife + POSTGRES_USER: orgmylife + POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-changeme} + volumes: + - pgdata:/var/lib/postgresql/data + ports: + - "5432:5432" + healthcheck: + test: ["CMD-SHELL", "pg_isready -U orgmylife"] + interval: 5s + timeout: 3s + retries: 5 + + app: + build: . + restart: unless-stopped + deploy: + resources: + limits: + memory: 256M + depends_on: + db: + condition: service_healthy + ports: + - "8000:8000" + environment: + DATABASE_URL: postgresql://orgmylife:${POSTGRES_PASSWORD:-changeme}@db:5432/orgmylife + NEXTCLOUD_URL: ${NEXTCLOUD_URL} + NEXTCLOUD_USERNAME: ${NEXTCLOUD_USERNAME} + NEXTCLOUD_PASSWORD: ${NEXTCLOUD_PASSWORD} + IMAP_SERVER: ${IMAP_SERVER} + IMAP_PORT: ${IMAP_PORT:-993} + EMAIL_USERNAME: ${EMAIL_USERNAME} + EMAIL_PASSWORD: ${EMAIL_PASSWORD} + EMAIL_WEBMAIL_URL: ${EMAIL_WEBMAIL_URL:-} + GMAIL_USERNAME: ${GMAIL_USERNAME:-} + GMAIL_PASSWORD: ${GMAIL_PASSWORD:-} + API_SECRET: ${API_SECRET:-} + APP_USERNAME: ${APP_USERNAME:-admin} + APP_PASSWORD: ${APP_PASSWORD:-changeme} + volumes: + - ./BACKLOG.md:/app/BACKLOG.md:ro + command: > + sh -c "python -c 'from app.db.session import engine, Base; from app.models import *; Base.metadata.create_all(bind=engine)' && + uvicorn app.main:app --host 0.0.0.0 --port 8000" + + volumes: + pgdata: + EOF + docker compose up -d + fi