177 lines
6.1 KiB
Bash
Executable File
177 lines
6.1 KiB
Bash
Executable File
#!/bin/bash
|
||
|
||
cat << "EOF"
|
||
██████╗██╗ ██╗ █████╗ ███╗ ██╗ ██████╗ ███████╗
|
||
██╔════╝██║ ██║██╔══██╗████╗ ██║██╔════╝ ██╔════╝
|
||
██║ ███████║███████║██╔██╗ ██║██║ ███╗█████╗
|
||
██║ ██╔══██║██╔══██║██║╚██╗██║██║ ██║██╔══╝
|
||
╚██████╗██║ ██║██║ ██║██║ ╚████║╚██████╔╝███████╗
|
||
╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═══╝ ╚═════╝ ╚══════╝
|
||
|
||
███╗ ███╗ █████╗ ██╗ ██╗███████╗██████╗
|
||
████╗ ████║██╔══██╗██║ ██╔╝██╔════╝██╔══██╗
|
||
██╔████╔██║███████║█████╔╝ █████╗ ██████╔╝
|
||
██║╚██╔╝██║██╔══██║██╔═██╗ ██╔══╝ ██╔══██╗
|
||
██║ ╚═╝ ██║██║ ██║██║ ██╗███████╗██║ ██║
|
||
╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝
|
||
Reset Wizard
|
||
EOF
|
||
|
||
echo -e "\n\nWelcome to the Changemaker Reset Wizard!\n"
|
||
echo "This script will help you reset your Changemaker instance."
|
||
|
||
# Ask for confirmation
|
||
echo -e "\nThis will stop all running containers, delete all files in configs/code-server and configs/ferdium directories"
|
||
echo "and reset the .env file to base values."
|
||
echo -e "\n⚠️ WARNING: This action cannot be undone! ⚠️"
|
||
read -p "Do you want to continue? (y/n): " confirm
|
||
if [[ $confirm != [yY]* ]]; then
|
||
echo "Reset canceled."
|
||
exit 0
|
||
fi
|
||
|
||
# Stop all running containers
|
||
echo -e "\nStopping all running containers..."
|
||
docker compose down
|
||
echo "All containers have been stopped."
|
||
|
||
# Create a timestamp for backups
|
||
timestamp=$(date +"%Y%m%d_%H%M%S")
|
||
|
||
# Backup the .env file
|
||
if [ -f .env ]; then
|
||
echo -e "\nCreating backup of .env file..."
|
||
cp .env ".env.backup_$timestamp"
|
||
echo "Backup created as .env.backup_$timestamp"
|
||
fi
|
||
|
||
# Delete specified directories
|
||
echo -e "\nDeleting files in configs/code-server and configs/ferdium..."
|
||
|
||
# Check if directories exist before attempting to delete
|
||
if [ -d "configs/code-server" ]; then
|
||
rm -rf configs/code-server/*
|
||
echo "- Cleared configs/code-server/"
|
||
else
|
||
mkdir -p configs/code-server
|
||
echo "- Created configs/code-server/ (directory didn't exist)"
|
||
fi
|
||
|
||
if [ -d "configs/ferdium" ]; then
|
||
rm -rf configs/ferdium/*
|
||
echo "- Cleared configs/ferdium/"
|
||
else
|
||
mkdir -p configs/ferdium
|
||
echo "- Created configs/ferdium/ (directory didn't exist)"
|
||
fi
|
||
|
||
# Reset the .env file to base values
|
||
echo -e "\nResetting .env file to base values..."
|
||
cat > .env << 'ENVEOF'
|
||
DOMAIN=hello.com
|
||
|
||
# Listmonk Admin Credentials
|
||
LISTMONK_ADMIN_USER=test
|
||
LISTMONK_ADMIN_PASSWORD=password
|
||
|
||
# OpenWebUI Configuration
|
||
OPEN_WEBUI_PORT=3005
|
||
|
||
# Database Credentials
|
||
POSTGRES_USER=listmonk
|
||
POSTGRES_PASSWORD=password
|
||
POSTGRES_DB=listmonk
|
||
|
||
# Application Configuration
|
||
LISTMONK_PORT=9000
|
||
LISTMONK_HOSTNAME=listmonk.hello.com
|
||
|
||
# Monica CRM Configuration
|
||
MONICA_APP_KEY=base64:random-key
|
||
MONICA_DB_USERNAME=monica
|
||
MONICA_DB_PASSWORD=password
|
||
|
||
# Monica Database Configuration
|
||
MONICA_MYSQL_DATABASE=monica
|
||
MONICA_MYSQL_USER=monica
|
||
MONICA_MYSQL_PASSWORD=password
|
||
|
||
# MkDocs Configuration
|
||
USER_ID=1000
|
||
GROUP_ID=1000
|
||
MKDOCS_PORT=4000
|
||
BASE_DOMAIN=https://hello.com
|
||
|
||
# Flatnotes Configuration
|
||
FLATNOTES_PUID=1000
|
||
FLATNOTES_PGID=1000
|
||
FLATNOTES_AUTH_TYPE=password
|
||
FLATNOTES_USERNAME=test
|
||
FLATNOTES_PASSWORD=test
|
||
FLATNOTES_SECRET_KEY=random-secret-key
|
||
FLATNOTES_PORT=8089
|
||
|
||
# Gitea Configuration
|
||
GITEA_DB_TYPE=mysql
|
||
GITEA_DB_HOST=gitea-db:3306
|
||
GITEA_DB_NAME=gitea
|
||
GITEA_DB_USER=gitea
|
||
GITEA_DB_PASSWD=password
|
||
GITEA_DB_ROOT_PASSWORD=password
|
||
GITEA_WEB_PORT=3030
|
||
GITEA_SSH_PORT=2225
|
||
GITEA_ROOT_URL=https://gitea.hello.com
|
||
GITEA_DOMAIN=gitea.hello.com
|
||
|
||
# Apache Answer Configuration
|
||
ANSWER_APP_PORT=9080
|
||
|
||
# Excalidraw Configuration
|
||
EXCALIDRAW_PORT=3333
|
||
EXCALIDRAW_LIBRARY_URL=https://libraries.excalidraw.com
|
||
EXCALIDRAW_LIBRARY_BACKEND=https://us-central1-excalidraw-room-persistence.cloudfunctions.net/libraries
|
||
# For Cloudflare Tunnel - update these values with your Cloudflare Tunnel domain
|
||
EXCALIDRAW_PUBLIC_URL=https://excalidraw.hello.com
|
||
EXCALIDRAW_PUBLIC_SOCKET_URL=https://excalidraw.hello.com
|
||
|
||
# Code Server Configuration
|
||
CODE_SERVER_PORT=8888
|
||
USER_NAME=coder
|
||
|
||
# Cloudflare Credentials - Replace with your actual values
|
||
CF_AUTH_EMAIL=your_cloudflare_email@example.com
|
||
CF_AUTH_KEY=your_cloudflare_global_api_key
|
||
CF_ZONE_ID=your_cloudflare_zone_id
|
||
CF_TUNNEL_ID=your_cloudflared_tunnel_id
|
||
CF_DOMAIN=yourdomain.com
|
||
|
||
# NocoDB Configuration
|
||
NOCODB_PORT=8090
|
||
NOCODB_JWT_SECRET=replace-with-secure-random-string
|
||
NOCODB_DB_NAME=nocodb
|
||
NOCODB_DB_USER=noco
|
||
NOCODB_DB_PASSWORD=password
|
||
# Connection string format: pg://nocodb-db:5432?u=noco&p=password&d=nocodb
|
||
|
||
# n8n Configuration
|
||
N8N_PORT=5678
|
||
N8N_HOST=n8n.hello.com
|
||
GENERIC_TIMEZONE=UTC
|
||
N8N_ENCRYPTION_KEY=change-me-please
|
||
N8N_USER_EMAIL=admin@example.com
|
||
N8N_USER_PASSWORD=changeMe
|
||
|
||
# ConvertX Configuration
|
||
CONVERTX_PORT=3100
|
||
CONVERTX_JWT_SECRET=aLongAndSecretStringUsedToSignTheJSONWebToken1234
|
||
ENVEOF
|
||
|
||
echo -e "\n✅ Reset completed successfully!"
|
||
echo "The following actions were performed:"
|
||
echo " - All Docker containers were stopped"
|
||
echo " - Directories configs/code-server and configs/ferdium were cleared"
|
||
echo " - .env file was reset to base values"
|
||
echo " - A backup of your original .env file was created (if it existed)"
|
||
echo -e "\nYour Changemaker instance is now reset to default settings."
|
||
echo "You can restart your services with 'docker compose up -d' when ready."
|