Skip to content

oidebrett/manidae

Repository files navigation

πŸš€ Manidae - Simple Docker Deployment Generator

One command. Complete deployments. Generate production-ready Docker stacks for Pangolin, Coolify, and more with automatic security, monitoring, and backup features.

Docker Pangolin Coolify CrowdSec


✨ What is Manidae?

Manidae is a smart deployment generator that creates complete Docker Compose stacks with just a few environment variables. No complex configuration files, no manual setup - just specify what you want and get a production-ready deployment.

🎯 Perfect for:

  • DevOps Engineers setting up new environments quickly
  • Self-hosters wanting secure, monitored applications
  • Teams needing consistent, reproducible deployments
  • Anyone who wants Docker deployments without the complexity

πŸ—οΈ Supported Platforms

Platform Description Best For
🦎 Pangolin Application platform + WireGuard VPN Secure app hosting with VPN access
🦎+ Pangolin+ Pangolin + CrowdSec security Production apps needing threat protection
🐳 Coolify Self-hosted deployment platform Teams managing multiple applications

πŸ”§ Optional Add-ons

  • πŸ›‘οΈ CrowdSec - Collaborative security engine
  • πŸ“Š Log Dashboard - Real-time analytics with GeoIP
  • πŸ” OAuth - Google authentication integration
  • πŸ€– AI Interface - Natural language management
  • πŸ“„ Landing Pages - Custom static pages
  • πŸ’Ύ Automated Backups - Git-based configuration backups

πŸš€ Quick Start

1️⃣ Basic Pangolin (2 minutes)

# Minimal setup - just domain and email
DOMAIN=yourdomain.com \
EMAIL=admin@yourdomain.com \
docker compose -f docker-compose-setup.yml up

# Start your stack
docker compose up -d

Access: https://pangolin.yourdomain.com

2️⃣ Pangolin+ with Security (3 minutes)

# Enhanced security with CrowdSec protection
DOMAIN=yourdomain.com \
EMAIL=admin@yourdomain.com \
ADMIN_USERNAME=admin@yourdomain.com \
ADMIN_PASSWORD=YourSecurePassword123! \
CROWDSEC_ENROLLMENT_KEY=your-crowdsec-key \
docker compose -f docker-compose-setup.yml up

# Start your stack
docker compose up -d

Features: Automatic threat detection, IP blocking, CAPTCHA challenges

3️⃣ Coolify Platform (2 minutes)

# Self-hosted app deployment platform
DB_PASSWORD=$(openssl rand -hex 32) \
REDIS_PASSWORD=$(openssl rand -hex 32) \
PUSHER_APP_KEY=$(openssl rand -hex 16) \
docker compose -f docker-compose-setup.yml up

# Start your stack
docker compose up -d

Access: http://your-server-ip:8000


πŸŽ›οΈ Smart Auto-Detection

No need to specify components! Manidae automatically detects what you want based on your environment variables:

# This automatically includes CrowdSec because you provided the enrollment key
DOMAIN=example.com \
EMAIL=admin@example.com \
CROWDSEC_ENROLLMENT_KEY=your-key \
docker compose -f docker-compose-setup.yml up

Auto-detected components:

  • πŸ›‘οΈ CrowdSec (when CROWDSEC_ENROLLMENT_KEY is set)
  • πŸ“Š Log Dashboard (when MAXMIND_LICENSE_KEY is set)
  • πŸ” OAuth (when CLIENT_ID + CLIENT_SECRET are set)
  • πŸ€– AI Interface (when OPENAI_API_KEY is set)
  • πŸ’Ύ Backups (when MAX_BACKUPS > 0)

πŸ’Ύ Automated Backups

Enable automatic Git-based configuration backups:

# Backup your config to Git every 24 hours, keep 7 days
MAX_BACKUPS=7 \
DOMAIN=yourdomain.com \
EMAIL=admin@yourdomain.com \
docker compose -f docker-compose-setup.yml up

What gets backed up:

  • All configuration files
  • Database schemas and data
  • SSL certificates
  • Custom settings

Repository: git@github.com:ManidaeCloud/{deployment-name}_syncresources.git


πŸ›‘οΈ Security Features

Pangolin+ Security Stack

  • Real-time threat detection with CrowdSec
  • Automatic IP blocking for malicious actors
  • CAPTCHA challenges for suspicious traffic
  • Collaborative intelligence from global threat feeds
  • SSL/TLS encryption with automatic certificate management

Built-in Security

  • Traefik reverse proxy with security headers
  • Let's Encrypt SSL certificates
  • Network isolation between services
  • Secure defaults for all components

πŸ“Š What You Get

After running the setup, you'll have:

πŸ“ Your Deployment
β”œβ”€β”€ 🐳 compose.yaml              # Complete Docker Compose stack
β”œβ”€β”€ βš™οΈ config/                   # All configuration files
β”‚   β”œβ”€β”€ 🦎 pangolin/            # App configuration
β”‚   β”œβ”€β”€ πŸ”€ traefik/             # Reverse proxy rules
β”‚   β”œβ”€β”€ πŸ›‘οΈ crowdsec/            # Security configuration
β”‚   └── πŸ” letsencrypt/         # SSL certificates
β”œβ”€β”€ πŸ“‹ DEPLOYMENT_INFO.txt       # Access URLs and credentials
└── πŸ”§ container-setup.sh       # Post-deployment scripts

🎯 Use Cases

🏒 Business Applications

# Secure business app with monitoring
COMPONENTS="pangolin+" \
DOMAIN=company.com \
MAXMIND_LICENSE_KEY=your-key \
CROWDSEC_ENROLLMENT_KEY=your-key \
docker compose -f docker-compose-setup.yml up

🏠 Home Lab

# Simple home server setup
DOMAIN=homelab.local \
EMAIL=admin@homelab.local \
docker compose -f docker-compose-setup.yml up

πŸ‘₯ Team Development

# Coolify for team app deployments
DB_PASSWORD=secure123 \
REDIS_PASSWORD=redis123 \
docker compose -f docker-compose-setup.yml up

**OpenAI chatkit (openai hosted workflows)

COMPONENTS=openai-chatkit DOMAIN=yourdomain.com EMAIL=admin@yourdomain.com OPENAI_API_KEY=sk-proj-your-key WORKFLOW_ID=wf_your-workflow docker compose -f docker-compose-setup.yml up

**AgentGateway (self hosted workflows)

COMPONENTS=agentgateway \
DOMAIN=yourdomain.com \
EMAIL=admin@yourdomain.com \
ADMIN_USERNAME=admin@yourdomain.com \
ADMIN_PASSWORD=your-secure-password \
OPENAI_API_KEY=sk-proj-your-key \
WORKFLOW_ID=wf_your-workflow \
docker compose -f docker-compose-setup.yml up

πŸ“š Post-Installation Steps

If you want Pangolin to be prepopulated with the resources/targets for your deployment, you use the contents of the postgres_export directory. You can run this automatically but first you will need an initial admin user.

docker exec PANGOLIN_CONTAINER_NAME pangctl set-admin-credentials --email "admin@yourdomain.com" --password "YourPassword"

 
chmod +x ./components/pangolin/initialize_sqlite.sh
./components/pangolin/initialize_sqlite.sh
chmod +x ./components/crowdsec/update-bouncer-post-install.sh
./components/crowdsec/update-bouncer-post-install.sh CROWDSEC_CONTAINER_NAME

πŸ“š Need More Details?


🀝 Requirements

  • Docker and Docker Compose installed
  • Domain name pointing to your server (for Pangolin)
  • Ports 80, 443, 51820 open on your firewall
  • Basic knowledge of Docker and domain management

πŸ’‘ Why Manidae?

βœ… Simple - One command deployments βœ… Secure - Built-in security best practices βœ… Smart - Automatic component detection βœ… Complete - Everything you need included βœ… Flexible - Easy to customize and extend βœ… Reliable - Production-tested configurations

Get started in minutes, not hours. πŸš€

About

Docker generator for VPS hosted apps like Pangolin and Coolify

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published