Changemaker/reset.sh

177 lines
6.1 KiB
Bash
Executable File
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/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."