feat: add auto-generated install.sh scripts for all self-hosted deployments

This commit is contained in:
AltStack Bot
2026-02-26 01:05:44 +05:30
parent f1a498fd9d
commit 92f8c1d22d
65 changed files with 4548 additions and 0 deletions

131
deployments/supabase/install.sh Executable file
View File

@@ -0,0 +1,131 @@
#!/bin/bash
# 🚀 Auto-generated by The AltStack
# https://thealtstack.com
echo "🔵 Starting AltStack Deployment..."
# 1. Check/Install Docker
if ! command -v docker &> /dev/null; then
echo "📦 Docker not found. Installing..."
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
rm get-docker.sh
echo "✅ Docker installed."
else
echo "✅ Docker is already installed."
fi
# 2. Setup Directory
APP_DIR="supabase-deploy"
mkdir -p $APP_DIR
cd $APP_DIR
echo "📂 Created directory: $APP_DIR"
# 3. Create docker-compose.yml
echo "📄 Writing configuration..."
cat << 'INNER_EOF' > docker-compose.yml
# -------------------------------------------------------------------------
# 🚀 Created and distributed by The AltStack
# 🌍 https://thealtstack.com
# -------------------------------------------------------------------------
# Supabase Production-Ready Docker Compose
# Note: Supabase is a collection of services. Official images are the standard.
# This setup includes the core services: PostgREST, GoTrue, Realtime, Storage, and PostgreSQL.
version: '3.8'
services:
db:
container_name: supabase-db
image: supabase/postgres:15.1.1.78
command: postgres -c config_file=/etc/postgresql/postgresql.conf -c log_min_messages=fatal
healthcheck:
test: ["CMD", "pg_isready", "-U", "postgres"]
interval: 5s
timeout: 5s
retries: 3
environment:
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-postgres}
PGDATA: /var/lib/postgresql/data/pgdata
volumes:
- supabase_db_data:/var/lib/postgresql/data
networks:
- supabase_net
auth:
container_name: supabase-auth
image: supabase/gotrue:v2.143.0
depends_on:
db:
condition: service_healthy
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9999/health"]
interval: 5s
timeout: 5s
retries: 3
environment:
GOTRUE_DB_DRIVER: postgres
GOTRUE_DB_DATABASE_URL: postgres://postgres:${POSTGRES_PASSWORD:-postgres}@db:5432/postgres?sslmode=disable
GOTRUE_SITE_URL: ${SITE_URL:-http://localhost:3000}
GOTRUE_JWT_SECRET: ${JWT_SECRET:-super-secret-jwt-token-don-not-use-in-prod}
networks:
- supabase_net
rest:
container_name: supabase-rest
image: postgrest/postgrest:v11.2.2
depends_on:
db:
condition: service_healthy
environment:
PGRST_DB_URI: postgres://postgres:${POSTGRES_PASSWORD:-postgres}@db:5432/postgres
PGRST_DB_SCHEMA: public
PGRST_DB_ANON_ROLE: anon
networks:
- supabase_net
realtime:
container_name: supabase-realtime
image: supabase/realtime:v2.25.56
depends_on:
db:
condition: service_healthy
environment:
DB_HOST: db
DB_PASSWORD: ${POSTGRES_PASSWORD:-postgres}
JWT_SECRET: ${JWT_SECRET:-super-secret-jwt-token-don-not-use-in-prod}
networks:
- supabase_net
storage:
container_name: supabase-storage
image: supabase/storage-api:v0.43.12
depends_on:
db:
condition: service_healthy
environment:
ANON_KEY: ${ANON_KEY}
SERVICE_KEY: ${SERVICE_KEY}
PGRST_JWT_SECRET: ${JWT_SECRET:-super-secret-jwt-token-don-not-use-in-prod}
DATABASE_URL: postgres://postgres:${POSTGRES_PASSWORD:-postgres}@db:5432/postgres
networks:
- supabase_net
networks:
supabase_net:
driver: bridge
volumes:
supabase_db_data:
name: supabase_db_data
INNER_EOF
# 4. Start Services
echo "🚀 Starting services..."
docker compose up -d
echo ""
echo "✅ Deployment Complete!"
echo "👉 Your supabase stack is running."