mirror of
https://github.com/myronblair/ProxMailcow
synced 2026-07-28 05:24:42 -05:00
Simplify cloud-init to SSH-only; add separate install scripts for NPM and Mailcow
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
#!/bin/bash
|
||||
# Nginx Proxy Manager install script
|
||||
# Run on the NPM VM (10.48.200.80) after first SSH login:
|
||||
# ssh ubuntu@10.48.200.80
|
||||
# bash <(curl -s https://raw.githubusercontent.com/myronblair/ProxMailcow/main/nginx-proxy-manager/install.sh)
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
echo "=== Installing Docker ==="
|
||||
curl -fsSL https://get.docker.com | sh
|
||||
usermod -aG docker ubuntu
|
||||
systemctl enable docker
|
||||
|
||||
echo "=== Setting up Nginx Proxy Manager ==="
|
||||
mkdir -p /opt/npm/data /opt/npm/letsencrypt
|
||||
|
||||
cat > /opt/npm/docker-compose.yml << 'COMPOSE'
|
||||
version: '3.8'
|
||||
services:
|
||||
npm:
|
||||
image: jc21/nginx-proxy-manager:latest
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "80:80"
|
||||
- "443:443"
|
||||
- "81:81"
|
||||
volumes:
|
||||
- ./data:/data
|
||||
- ./letsencrypt:/etc/letsencrypt
|
||||
environment:
|
||||
DISABLE_IPV6: "true"
|
||||
COMPOSE
|
||||
|
||||
echo "=== Starting NPM ==="
|
||||
cd /opt/npm && docker compose up -d
|
||||
|
||||
echo "=== Creating systemd service ==="
|
||||
cat > /etc/systemd/system/npm.service << 'SERVICE'
|
||||
[Unit]
|
||||
Description=Nginx Proxy Manager
|
||||
After=docker.service
|
||||
Requires=docker.service
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
RemainAfterExit=yes
|
||||
WorkingDirectory=/opt/npm
|
||||
ExecStart=/usr/bin/docker compose up -d
|
||||
ExecStop=/usr/bin/docker compose down
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
SERVICE
|
||||
|
||||
systemctl daemon-reload
|
||||
systemctl enable npm.service
|
||||
|
||||
echo ""
|
||||
echo "=== NPM INSTALL COMPLETE ==="
|
||||
echo "Admin UI: http://10.48.200.80:81"
|
||||
echo "Default login: admin@example.com / changeme"
|
||||
echo "CHANGE THE PASSWORD IMMEDIATELY."
|
||||
echo ""
|
||||
echo "Next step: Configure proxy hosts per nginx-proxy-manager/npm-proxy-setup.md"
|
||||
Reference in New Issue
Block a user