Projekt hinzugefügt
This commit is contained in:
95
setupowner.sh
Normal file
95
setupowner.sh
Normal file
@@ -0,0 +1,95 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
# Install Docker and Docker Compose
|
||||
echo "Installing Docker and Docker Compose..."
|
||||
apt-get update
|
||||
apt-get install -y ca-certificates curl gnupg lsb-release
|
||||
|
||||
# Add Docker's official GPG key
|
||||
mkdir -p /etc/apt/keyrings
|
||||
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
|
||||
|
||||
# Add Docker repository
|
||||
echo \
|
||||
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
|
||||
$(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
|
||||
|
||||
# Update package index
|
||||
apt-get update
|
||||
|
||||
# Install Docker Engine
|
||||
apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
|
||||
|
||||
# Create directories for data persistence
|
||||
echo "Creating data directories..."
|
||||
mkdir -p /var/lib/n8n/data /var/lib/n8n/ssl
|
||||
|
||||
# Generate random passwords
|
||||
echo "Generating random passwords..."
|
||||
POSTGRES_PASSWORD=$(openssl rand -hex 16)
|
||||
N8N_ENCRYPTION_KEY=$(openssl rand -hex 16)
|
||||
|
||||
# Create docker-compose.yml
|
||||
echo "Creating docker-compose.yml..."
|
||||
cat > /root/docker-compose.yml << EOF
|
||||
version: '3.8'
|
||||
services:
|
||||
db:
|
||||
image: ankane/pgvector:latest
|
||||
container_name: n8n-db
|
||||
environment:
|
||||
POSTGRES_PASSWORD: $POSTGRES_PASSWORD
|
||||
POSTGRES_DB: n8n
|
||||
POSTGRES_USER: n8n
|
||||
volumes:
|
||||
- /var/lib/n8n/data/postgres:/var/lib/postgresql/data
|
||||
networks:
|
||||
- n8n-network
|
||||
restart: unless-stopped
|
||||
|
||||
n8n:
|
||||
image: docker.n8n.io/n8nio/n8n:latest
|
||||
container_name: n8n-app
|
||||
environment:
|
||||
DB_TYPE: postgresdb
|
||||
DB_POSTGRESDB_HOST: db
|
||||
DB_POSTGRESDB_PORT: 5432
|
||||
DB_POSTGRESDB_USER: n8n
|
||||
DB_POSTGRESDB_PASSWORD: $POSTGRES_PASSWORD
|
||||
DB_POSTGRESDB_DATABASE: n8n
|
||||
N8N_ENCRYPTION_KEY: $N8N_ENCRYPTION_KEY
|
||||
TIMEZONE: Europe/Berlin
|
||||
volumes:
|
||||
- /var/lib/n8n/data/n8n:/home/n8n/.n8n
|
||||
networks:
|
||||
- n8n-network
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- db
|
||||
|
||||
networks:
|
||||
n8n-network:
|
||||
driver: bridge
|
||||
EOF
|
||||
|
||||
# Start Docker stack
|
||||
echo "Starting Docker stack..."
|
||||
cd /root
|
||||
docker compose up -d
|
||||
|
||||
# Wait for n8n to be ready
|
||||
echo "Waiting for n8n to be ready..."
|
||||
sleep 30
|
||||
|
||||
# Output credentials as JSON
|
||||
echo "Outputting credentials..."
|
||||
cat << EOF
|
||||
{
|
||||
"ctid": "$CTID",
|
||||
"ip": "$IP",
|
||||
"postgres_password": "$POSTGRES_PASSWORD",
|
||||
"n8n_encryption_key": "$N8N_ENCRYPTION_KEY"
|
||||
}
|
||||
EOF
|
||||
Reference in New Issue
Block a user