One-line installer for maillayer — a self-hosted email marketing platform.
Requires Docker + Docker Compose v2 already installed (curl -fsSL https://get.docker.com | sudo sh if not).
curl -fsSL https://install.maillayer.com/install.sh | sudo bash
The script:
AUTH_SECRET (saved at /opt/maillayer/.env, mode 600).ghcr.io/mddanishyusuf/maillayer-pro:1./api/health and prints the URL.curl -fsSL https://install.maillayer.com/install.sh -o install.sh
less install.sh
sudo bash install.sh
MAILLAYER_PORT=8080 \
MAILLAYER_URL=https://mail.example.com \
MAILLAYER_DIR=/var/lib/maillayer \
curl -fsSL https://install.maillayer.com/install.sh | sudo bash
After install, manage with normal Docker Compose commands:
# Logs
docker compose -f /opt/maillayer/docker-compose.yml logs -f
# Update to the latest 1.x image
cd /opt/maillayer && docker compose pull && docker compose up -d
# Stop
cd /opt/maillayer && docker compose down
/opt/maillayer/.env — your AUTH_SECRET and any other operator-set env vars (mode 600)./opt/maillayer/docker-compose.yml — the service definition.maillayer_maillayer-data — holds the SQLite database and nightly backups.curl | sudo bash runs a remote script as root. The script in this repo:
openssl rand -base64 48.It does NOT install Docker itself, modify firewall rules, edit other system services, or make outbound calls beyond pulling the Docker image. Read install.sh before running.
The encryption key in /opt/maillayer/.env (AUTH_SECRET) decrypts every stored Stripe / Firebase / Supabase / Airtable credential. Back it up alongside your SQLite DB.
# Quick offsite backup of secret + DB volume
tar czf maillayer-backup-$(date +%F).tar.gz \
/opt/maillayer/.env \
$(docker volume inspect maillayer_maillayer-data --format '')
Image source: https://github.com/mddanishyusuf/maillayer-pro (private).