{"id":44587306,"url":"https://github.com/studiofarzulla/resurrexi-io","last_synced_at":"2026-02-14T06:15:03.962Z","repository":{"id":328396080,"uuid":"1105688233","full_name":"studiofarzulla/resurrexi-io","owner":"studiofarzulla","description":"Resurrexi Labs  - resurrexi.io","archived":false,"fork":false,"pushed_at":"2026-02-07T21:16:48.000Z","size":7354,"stargazers_count":0,"open_issues_count":7,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-08T05:04:59.483Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://resurrexi.io","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/studiofarzulla.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-28T02:28:13.000Z","updated_at":"2026-02-07T21:16:52.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/studiofarzulla/resurrexi-io","commit_stats":null,"previous_names":["studiofarzulla/resurrexi-io"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/studiofarzulla/resurrexi-io","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/studiofarzulla%2Fresurrexi-io","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/studiofarzulla%2Fresurrexi-io/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/studiofarzulla%2Fresurrexi-io/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/studiofarzulla%2Fresurrexi-io/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/studiofarzulla","download_url":"https://codeload.github.com/studiofarzulla/resurrexi-io/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/studiofarzulla%2Fresurrexi-io/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29438641,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-14T05:24:35.651Z","status":"ssl_error","status_checked_at":"2026-02-14T05:24:34.830Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-02-14T06:15:03.363Z","updated_at":"2026-02-14T06:15:03.956Z","avatar_url":"https://github.com/studiofarzulla.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# resurrexi.io\n\n**Resurrexi Labs** main research site - publications, technical work, and autonomous compute access.\n\n## Structure\n\n```\nresurrexi-io/\n├── templates/          # Jinja2 templates\n│   ├── base.html\n│   ├── index.html\n│   ├── publications.html\n│   ├── technical-work.html\n│   ├── about.html\n│   └── compute.html\n├── content/            # Markdown content\n│   ├── publications/   # Research papers\n│   └── technical-work/ # Technical projects\n├── static/             # Static assets\n│   ├── css/\n│   ├── images/\n│   └── papers/         # Downloadable PDFs\n├── k8s/               # Kubernetes manifests\n├── build.py           # Static site generator\n├── app.py             # Flask backend\n└── deploy.sh          # Deployment script\n```\n\n## Local Development\n\n```bash\n# Install dependencies\npip install -r requirements.txt\n\n# Build static site\npython3 build.py\n\n# Run Flask dev server\npython3 app.py\n\n# Access at http://localhost:5000\n```\n\n## Deployment\n\n### Manual Deployment (rsync)\n\n```bash\n./deploy.sh\n```\n\nSyncs `public/` directory to SudoSenpai:/mnt/storage/resurrexi-io/\n\n### Kubernetes Deployment\n\n```bash\n# Apply manifests\nkubectl apply -f k8s/\n\n# Check status\nkubectl -n resurrexi-io get pods,svc\n\n# Access via NodePort\ncurl http://192.168.1.98:30801\n```\n\n### Docker Build\n\n```bash\n# Build image\ndocker build -t resurrexi-io:latest .\n\n# Run locally\ndocker run -p 5000:5000 resurrexi-io:latest\n```\n\n## Content Management\n\n### Adding Publications\n\nCreate markdown file in `content/publications/`:\n\n```markdown\n---\ntitle: \"Paper Title\"\nauthors: \"Author Name\"\ndate: \"Month Year\"\nvenue: \"Conference/Journal\"\ndoi: \"10.xxxx/xxxxx\"\npdf: \"/static/papers/filename.pdf\"\ngithub: \"https://github.com/org/repo\"\nabstract: \"Brief abstract...\"\n---\n\n## Section 1\nContent here...\n```\n\nCopy PDF to `static/papers/`.\n\n### Adding Technical Work\n\nCreate markdown file in `content/technical-work/`:\n\n```markdown\n---\ntitle: \"Project Title\"\ncategory: \"Offensive Security\" | \"Infrastructure Engineering\" | \"Experimental Systems\"\ndate: \"Month Year\"\ngithub: \"https://github.com/resurrexio/repo\"\ndescription: \"Brief description...\"\ntags: [\"tag1\", \"tag2\"]\n---\n\n## Overview\nProject details...\n```\n\n### Rebuild\n\n```bash\npython3 build.py\n./deploy.sh\n```\n\n## Form Submissions\n\nCompute interest forms saved to `submissions/` directory as JSON:\n\n```json\n{\n  \"name\": \"Researcher Name\",\n  \"email\": \"email@example.com\",\n  \"institution\": \"University\",\n  \"research_area\": \"ai-ml\",\n  \"project_description\": \"...\",\n  \"timeline\": \"asap\",\n  \"open_access\": true,\n  \"reproducible\": true,\n  \"submitted_at\": \"2025-11-24T16:00:00\",\n  \"ip_address\": \"192.168.1.X\"\n}\n```\n\n## Architecture\n\n- **Static site generation:** Jinja2 + Markdown → HTML\n- **Backend:** Flask (form handling, static file serving)\n- **Deployment:** K8s with 2 replicas, NodePort 30801\n- **Storage:** PersistentVolumes on SudoSenpai (pwnie-storage)\n- **Access:** Cloudflare Tunnel for public HTTPS\n\n## Tech Stack\n\n- Python 3.13\n- Flask 3.0\n- Jinja2 (templating)\n- Markdown (content)\n- Pico CSS (styling)\n- Kubernetes (deployment)\n\n## Site Structure\n\n- `/` - Homepage (research overview)\n- `/publications.html` - Published papers with PDFs\n- `/work.html` - Technical projects and write-ups\n- `/compute.html` - Autonomous research agent info + interest form\n- `/about.html` - Lab info, PI bio, infrastructure\n- `/api/compute-interest` - Form submission endpoint\n\n## Brand Identity\n\n- **resurrexi.io** - Main research site (this)\n- **resurrexi.dev** - Technical documentation, lab notes, sessions\n- **farzulla.org** - Academic research portfolio\n- **farzulla.com** - Personal site\n\n## License\n\n- **Content:** CC-BY-4.0\n- **Code:** MIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstudiofarzulla%2Fresurrexi-io","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstudiofarzulla%2Fresurrexi-io","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstudiofarzulla%2Fresurrexi-io/lists"}