PAMOLA System Guide
This guide provides step-by-step instructions on how to deploy and configure PAMOLA in a local or cloud environment. PAMOLA utilizes Docker containers for modular deployment and integrates DataHub for dataset management, with secure workspace and user group configurations.
System Requirements
Before deploying PAMOLA, ensure your system meets the following requirements:
✅ Minimum Hardware: - CPU: 4-core processor (recommended 8-core for production) - RAM: 16GB (recommended 32GB for large datasets) - Storage: 100GB SSD (expandable based on dataset size) - GPU (Optional): NVIDIA GPU with CUDA support for privacy-enhancing computations
✅ Software Dependencies: - Docker & Docker Compose (latest version) - Python 3.8+ - PostgreSQL 12+ (for DataHub metadata storage) - Keycloak (for local authentication) - NGINX (Optional) (for reverse proxy)
Deployment via Docker
PAMOLA is deployed as a set of Docker containers, ensuring easy setup and scalability.
Step 1: Clone the PAMOLA Repository
git clone https://github.com/realm-ai/pamola.git
cd pamola
**Step 2: Configure Environment Variables**
Edit the .env file to specify key configuration settings:
DATAHUB_DB_HOST=localhost
DATAHUB_DB_USER=pamola
DATAHUB_DB_PASS=securepassword
KEYCLOAK_ADMIN_USER=admin
KEYCLOAK_ADMIN_PASS=adminpassword
PAMOLA_WORKSPACE_DIR=/data/pamola
**Step 3: Start PAMOLA with Docker Compose**
Run the following command to start all services:
docker-compose up -d
**Step 4: Verify Running Services**
Check that all containers are running correctly:
docker ps
Expected output: .. code-block:: text
CONTAINER ID IMAGE STATUS PORTS 123abc pamola-core Up 2 minutes 5000->5000/tcp 456def datahub Up 2 minutes 9002->9002/tcp 789ghi keycloak Up 2 minutes 8080->8080/tcp
Step 5: Access PAMOLA UI
Web Interface: http://localhost:9002
Keycloak Admin Panel: http://localhost:8080
Configuring DataHub for PAMOLA
PAMOLA uses DataHub to manage metadata, dataset versions, and access control. After deployment, configure DataHub:
Step 1: Create a Service Account
curl -X POST "http://localhost:9002/api/accounts" \
-H "Content-Type: application/json" \
-d '{"username": "admin", "password": "securepassword"}'
**Step 2: Register a Dataset**
curl -X POST "http://localhost:9002/api/datasets/register" \
-H "Authorization: Bearer <TOKEN>" \
-H "Content-Type: application/json" \
-d '{"dataset_name": "financial_transactions", "owner": "data_science_team"}'
**Step 3: Manage Dataset Metadata**
Assign access policies (define user roles)
Track dataset lineage (data origins, transformations)
Monitor privacy annotations (PII detection, anonymization level)
User & Workspace Management
PAMOLA supports multi-tenant environments with secure workspaces and user groups.
Step 1: Define Workspaces
Each workspace is an isolated environment for dataset processing.
curl -X POST "http://localhost:9002/api/workspaces/create" \
-H "Authorization: Bearer <TOKEN>" \
-H "Content-Type: application/json" \
-d '{"workspace_name": "fraud_detection", "description": "Workspace for financial fraud analysis"}'
**Step 2: Assign Users to Workspaces**
Users belong to teams with role-based access controls.
curl -X POST "http://localhost:9002/api/workspaces/add_user" \
-H "Authorization: Bearer <TOKEN>" \
-H "Content-Type: application/json" \
-d '{"workspace_name": "fraud_detection", "user": "analyst1", "role": "editor"}'
**Step 3: Set Up User Roles**
PAMOLA supports Admin, Editor, and Viewer roles.
Role |
Permissions |
---|---|
Admin |
Full access (manage datasets, configure privacy policies) |
Editor |
Modify datasets, apply anonymization |
Viewer |
Read-only access to processed datasets |
Monitoring & Logs
PAMOLA logs all actions for compliance and auditing.
Step 1: View System Logs
docker logs pamola-core -f
**Step 2: Monitor Privacy Events**
curl -X GET "http://localhost:9002/api/logs/privacy-events"
**Step 3: Generate Compliance Reports**
curl -X POST "http://localhost:9002/api/reports/generate"
Shutting Down PAMOLA
To stop all running containers:
docker-compose down
To remove all associated volumes (warning: this deletes stored datasets):
docker-compose down -v
Next Steps
To explore PAMOLA’s security modeling features, see Security Modeling
🔧 For API integration details, check the Developer Guide 📊 To analyze privacy risks and attack simulations, refer to Privacy Risk & Attacks