Acropolis is the infrastructure and operations layer for Parthenon, providing container management, monitoring, workflow automation, data catalog, BI dashboards, and SSO — all behind a unified reverse proxy with automatic SSL.
| Feature | Community | Enterprise |
|---|---|---|
| Parthenon (OHDSI research platform) | Yes | Yes |
| Portainer CE (container management) | Yes | Yes |
| pgAdmin 4 (database administration) | Yes | Yes |
| Grafana + Prometheus + Loki (observability) | Yes | Yes |
| n8n (workflow automation) | — | Yes |
| Apache Superset (BI & visualization) | — | Yes |
| DataHub (data catalog & lineage) | — | Yes |
| Authentik (SSO / SAML / OIDC) | — | Yes |
| Kubernetes Helm charts | — | Yes |
| Multi-node HA deployment | — | Yes |
| Priority support | — | Yes |
# 1. Clone
git clone https://github.com/sudoshi/Acropolis.git
cd Acropolis
# 2. Initialize (creates .env, Docker network, ACME dirs)
./acropolis.sh init
# 3. Edit .env with your domain and credentials
vim .env
# 4. Start Community Edition
./acropolis.sh up --edition community
# 5. Or Enterprise Edition
./acropolis.sh up --edition enterprise ┌──────────────────────────────────────┐
│ Traefik Reverse Proxy │
│ (Auto SSL via Let's Encrypt) │
└──────┬───────┬───────┬───────┬──────┘
│ │ │ │
┌───────────┘ │ │ └───────────┐
│ │ │ │
┌─────┴─────┐ ┌────────┴──┐ ┌┴────────┐ ┌─────┴─────┐
│ Parthenon │ │ Community │ │Enterprise│ │ Shared │
│ (OHDSI) │ │ Services │ │ Services │ │ Infra │
│ │ │ │ │ │ │ │
│ • PHP/API │ │ • Portainer│ │ • n8n │ │ • Grafana │
│ • React │ │ • pgAdmin │ │ • Super- │ │ • Prom │
│ • AI/LLM │ │ │ │ set │ │ • Loki │
│ • R HADES │ │ │ │ • DataHub│ │ • Alloy │
│ • Solr │ │ │ │ • Auth- │ │ • cAdv │
└───────────┘ └────────────┘ │ entik │ │ • NodeEx │
└──────────┘ └──────────┘
└──────────────────────────────────────┘
acropolis_network
| Service | URL | Edition |
|---|---|---|
| Parthenon | https://parthenon.{DOMAIN} |
Both |
| Portainer | https://portainer.{DOMAIN} |
Community |
| pgAdmin | https://pgadmin.{DOMAIN} |
Community |
| Grafana | https://grafana.{DOMAIN} |
Community |
| n8n | https://n8n.{DOMAIN} |
Enterprise |
| Superset | https://superset.{DOMAIN} |
Enterprise |
| DataHub | https://datahub.{DOMAIN} |
Enterprise |
| Authentik | https://auth.{DOMAIN} |
Enterprise |
./acropolis.sh init # Initialize project
./acropolis.sh up --edition community # Start community services
./acropolis.sh up --edition enterprise # Start all services
./acropolis.sh down # Stop everything
./acropolis.sh status # Service health overview
./acropolis.sh logs [service] # Follow logs
./acropolis.sh urls # Show all service URLs
./acropolis.sh backup # Backup volume data
./acropolis.sh smoke-test # Health check all servicesOr use make:
make init # Initialize
make community # Start Community Edition
make enterprise # Start Enterprise Edition
make status # Service status
make logs # Follow logs (SERVICE=grafana for specific)
make smoke-test # Run health checksAcropolis/
├── docker-compose.yml # Base: Traefik + network
├── docker-compose.community.yml # Community tier services
├── docker-compose.enterprise.yml # Enterprise tier services
├── acropolis.sh # CLI wrapper
├── Makefile # Make targets
├── .env.example # Configuration template
├── traefik/ # Reverse proxy config
│ ├── traefik.yml # Static config
│ ├── dynamic/ # Dynamic route configs
│ └── acme/ # Let's Encrypt certs (gitignored)
├── monitoring/ # Observability stack configs
│ ├── grafana/provisioning/ # Datasources + dashboards
│ ├── prometheus/prometheus.yml # Scrape targets
│ ├── loki/loki-config.yml # Log aggregation
│ └── alloy/config.alloy # Log collection
├── config/ # Per-service configs
│ ├── pgadmin/servers.json # Pre-configured DB connections
│ ├── superset/superset_config.py # Superset settings
│ ├── n8n/ # n8n workflows
│ ├── datahub/ # DataHub overrides
│ └── authentik/ # Authentik overrides
├── k8s/ # Kubernetes deployment
│ ├── helm/ # Helm charts
│ └── kustomize/ # Kustomize overlays
├── scripts/ # Utility scripts
│ └── migrate-from-parthenon.sh # Migration helper
├── tests/ # Smoke & integration tests
│ └── smoke-test.sh
└── docs/ # Documentation
├── editions.md # Edition comparison
├── architecture.md # Architecture details
└── quickstart.md # Getting started guide
- Docker Engine 24.0+
- Docker Compose v2.20+
- 16 GB RAM minimum (32 GB recommended for Enterprise)
- Domain with DNS pointing to your server (for SSL)
Parthenon joins the Acropolis network by adding to its docker-compose.yml:
networks:
parthenon:
driver: bridge
acropolis:
external: true
name: acropolis_networkThen add acropolis to the nginx service's networks. See scripts/migrate-from-parthenon.sh for the full migration guide.
- Community Edition: Apache License 2.0
- Enterprise Edition: Commercial license — contact sales@acumenus.net
- Parthenon — OHDSI Research Platform
- n8n Documentation
- Apache Superset Docs
- DataHub Documentation
- Authentik Documentation
- Traefik Documentation