add new Readme with new structure and .env sample
AlpineConsent CI/CD Pipeline / Build and Test AlpineConsent (push) Failing after 45s
AlpineConsent CI/CD Pipeline / Build and Test AlpineConsent (push) Failing after 45s
This commit is contained in:
@@ -1,46 +1,48 @@
|
||||
# 🍪 Kuki SaaS - Cookie Consent Solution
|
||||
A lightweight, GDPR/CCPA compliant Cookie Consent banner widget, management dashboard, and backend API.
|
||||
# 🏗 AlpineSAAS — Infrastructure & Orchestration
|
||||
|
||||
Core infrastructure layer for the AlpineConsent ecosystem. Manages container orchestration, reverse proxy, relational databases, in-memory caching, and self-hosted CI/CD runners.
|
||||
|
||||
---
|
||||
|
||||
## 🚀 Features
|
||||
## 💤 Stack Overview
|
||||
|
||||
- **⚡ Ultra-lightweight Client (`kuki.js`):** Vanilla JS under 10KB with Shadow DOM isolation.
|
||||
- **🛡️ Privacy & Compliance:** GDPR, CCPA, and ePrivacy directive ready.
|
||||
- **🐳 Dockerized Infrastructure:** One-command startup using PostgreSQL and Redis.
|
||||
- **⚡ Fast API:** High-performance backend for consent logging and license verification.
|
||||
| Service | Technology | Internal Port | Host Binding | Purpose |
|
||||
| :--- | :--- | :--- | :--- | :--- |
|
||||
| **Edge Gateway** | Caddy 2 | 80, 443 | 0.0.0.0:80, 443 | Auto TLS termination & Reverse Proxy |
|
||||
| **Git Server** | Gitea | 3000, 22 | 0.0.0.0:2222->22 | Git server & VCS API |
|
||||
| **CI/CD Runner** | Act Runner | - | Worker | Executes Actions workflows in Docker |
|
||||
| **Primary DB** | PostgreSQL 15 | 5432 | Internal only | Multi-tenant persistent relational store |
|
||||
| **Cache & Queue** | Redis 7 | 6379 | Internal only | Rate limiting & session store |
|
||||
|
||||
---
|
||||
|
||||
## 🛠️ Project Structure
|
||||
## 🚨 Deployment & Operations
|
||||
|
||||
```text
|
||||
kuki-saas/
|
||||
├── client/ # Lightweight embeddable JavaScript widget (kuki.js)
|
||||
├── backend/ # Node.js / Go API for consent & user settings
|
||||
├── docker-compose.yml # Infrastructure setup (PostgreSQL, Redis)
|
||||
└── README.md # Documentation
|
||||
### Prerequisites
|
||||
* Docker Engine 24+ & Docker Compose v2+
|
||||
* Open inbound TCP ports on host/firewall: 80, 443, 2222
|
||||
|
||||
### 1. Setup Environment
|
||||
```bash
|
||||
cp .env.example .env
|
||||
nano .env
|
||||
```
|
||||
|
||||
|
||||
## ⚙️ Quick Start (Development)
|
||||
|
||||
1. Clone the repository
|
||||
```Bash
|
||||
git clone [https://github.com/YOUR_USERNAME/kuki-saas.git](https://github.com/YOUR_USERNAME/kuki-saas.git)
|
||||
cd kuki-saas
|
||||
```
|
||||
|
||||
2. Start Services with Docker
|
||||
```Bash
|
||||
### 2. Launch Infrastructure
|
||||
```bash
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
3. Verify Containers
|
||||
```Bash
|
||||
docker ps
|
||||
### 3. Verify Health & Logs
|
||||
```bash
|
||||
docker compose ps
|
||||
logs: docker compose logs -f caddy
|
||||
```
|
||||
|
||||
## 📝 License
|
||||
---
|
||||
|
||||
Proprietary - All rights reserved.
|
||||
## Security & Networking
|
||||
|
||||
* **Internal Isolation:** PostgreSQL and Redis containers do *not* expose ports to the public host. They communicate exclusively over the isolated bridge network `alpine_net`.
|
||||
* **Database Auth:** Native password authentication enabled with dedicated health checks.
|
||||
* **TLS:** Handled automatically by Caddy at the edge.
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjFkNmlmTUlzRlpTcU5GTzdkWDBkeTltanBqX21qX1NnZ084bng2ektQTHcifQ.eyJpc3MiOiJodHRwczovL2V4dGVybmFsYXV0b3NzbC5zZXJ2aWNlLnNwYWNlc2hpcC5jb20iLCJuYmYiOjE3ODY5MTQ1MzQsImlhdCI6MTc4NjkxNDUzNCwiZXhwIjoxNzg3MDAwOTM0LCJhdWQiOlsiZXh0ZXJuYWxhdXRvc3NsIl0sInNjb3BlIjpbImV4dGVybmFsYXV0b3NzbC5leHRlcm5hbGF1dG9zc2wiLCJleHRlcm5hbGF1dG9zc2wudXNlci1pbnRlZ3JhdGlvbi1jcmVhdGUiXSwiY2xpZW50X2lkIjoiZXh0ZXJuYWwtc3NsLWNsaWVudCIsInN1YiI6IjU2NzY3ODNiLTljNjYtNGUwNC04MDI1LWI1OWMwNWQyZjcxYSJ9.lTqonvJFOlUMMKUC8kVjXT0PE0J4Zz9wk7EsG8v74FlQxNuCjGk0wombnenTXuU7NzZIIZsusWocvmxf1vUaBBtZMpfJ04ObbHxlGf1TUpynLww5ZN6SDsqRUyJZrZUzfpKo7tAWe9jVZocJr3i-jvmQyrtX_wg5mlPmixAA_4VUfhghO7zMN5pcg9VgfeM1FglclW4yPZs5_Gm2xjouoFYzkcrZX14U7yDabiFgwMvR0bylCFeFN-DJa-45fEgyUMiPSnridPBg9VKpYejJ3zoIBE6UgKRx-NBIJObfhfIL2NPM0cSCBOGBnJ71evQyKsvqLIUUUdKHzzvJ_CC7vg
|
||||
@@ -0,0 +1,17 @@
|
||||
# Database Credentials
|
||||
DB_USER=alpine_user
|
||||
DB_PASSWORD=PASSWORD
|
||||
DB_NAME=alpine_db
|
||||
|
||||
# Redis Credentials
|
||||
REDIS_PASSWORD=YOUR_REDIS_PASSWORD_HERE
|
||||
|
||||
# Domains
|
||||
GIT_DOMAIN=git.alpineconsent.site
|
||||
GITEA_RUNNER_TOKEN=TOKEN_HERE
|
||||
|
||||
# Versions
|
||||
GITEA_VERSION=1.22
|
||||
RUNNER_VERSION=0.6.1
|
||||
POSTGRES_VERSION=16-alpine
|
||||
REDIS_VERSION=7-alpine
|
||||
Reference in New Issue
Block a user