feat: update installation script to update the server API hostname and port
This commit is contained in:
parent
f1a488d70a
commit
c9188a4e31
61
install.sh → install.py
Normal file → Executable file
61
install.sh → install.py
Normal file → Executable file
@ -2,6 +2,7 @@
|
|||||||
"""
|
"""
|
||||||
Wesal Social Media App - Installation Script
|
Wesal Social Media App - Installation Script
|
||||||
This script sets up all necessary configuration files and secrets for the Wesal app.
|
This script sets up all necessary configuration files and secrets for the Wesal app.
|
||||||
|
By Saleh Bubshait
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import os
|
import os
|
||||||
@ -131,6 +132,58 @@ def setup_database_config():
|
|||||||
create_env_files(hostname, port, db_name, password)
|
create_env_files(hostname, port, db_name, password)
|
||||||
return password
|
return password
|
||||||
|
|
||||||
|
def setup_server_config():
|
||||||
|
"""Setup server configuration for API base URL"""
|
||||||
|
print(f"\n{Colors.BOLD}🌐 Server Configuration{Colors.END}")
|
||||||
|
print("Setting up server hostname and port for API access...")
|
||||||
|
|
||||||
|
server_hostname = get_user_input("Server hostname", "server")
|
||||||
|
server_port = get_user_input("Server port", "8080")
|
||||||
|
|
||||||
|
# Update the API constants file
|
||||||
|
api_constants_path = Path("frontend/lib/constants/api_constants.dart")
|
||||||
|
|
||||||
|
if not api_constants_path.exists():
|
||||||
|
print_error(f"Could not find {api_constants_path}")
|
||||||
|
print_info("You'll need to manually update the API base URL in your constants file")
|
||||||
|
return
|
||||||
|
|
||||||
|
# Read the existing file
|
||||||
|
try:
|
||||||
|
with open(api_constants_path, 'r') as f:
|
||||||
|
content = f.read()
|
||||||
|
|
||||||
|
# Find and replace the baseUrl line
|
||||||
|
lines = content.split('\n')
|
||||||
|
updated_lines = []
|
||||||
|
found_base_url = False
|
||||||
|
|
||||||
|
for line in lines:
|
||||||
|
if 'static const String baseUrl' in line and '=' in line:
|
||||||
|
# Replace the line with the new hostname and port
|
||||||
|
indent = line[:len(line) - len(line.lstrip())] # Preserve indentation
|
||||||
|
new_line = f"{indent}static const String baseUrl = 'http://{server_hostname}:{server_port}';"
|
||||||
|
updated_lines.append(new_line)
|
||||||
|
found_base_url = True
|
||||||
|
print_info(f"Updated baseUrl to: http://{server_hostname}:{server_port}")
|
||||||
|
else:
|
||||||
|
updated_lines.append(line)
|
||||||
|
|
||||||
|
if not found_base_url:
|
||||||
|
print_error("Could not find 'static const String baseUrl' line in api_constants.dart")
|
||||||
|
print_info("You'll need to manually update the API base URL")
|
||||||
|
return
|
||||||
|
|
||||||
|
# Write the updated content back
|
||||||
|
with open(api_constants_path, 'w') as f:
|
||||||
|
f.write('\n'.join(updated_lines))
|
||||||
|
|
||||||
|
print_success(f"Updated {api_constants_path}")
|
||||||
|
|
||||||
|
except Exception as e:
|
||||||
|
print_error(f"Error updating API constants file: {e}")
|
||||||
|
print_info("You'll need to manually update the API base URL")
|
||||||
|
|
||||||
def setup_firebase_credentials():
|
def setup_firebase_credentials():
|
||||||
"""Setup Firebase service account credentials"""
|
"""Setup Firebase service account credentials"""
|
||||||
print(f"\n{Colors.BOLD}🔥 Firebase Configuration{Colors.END}")
|
print(f"\n{Colors.BOLD}🔥 Firebase Configuration{Colors.END}")
|
||||||
@ -188,15 +241,14 @@ def setup_firebase_credentials():
|
|||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def print_summary():
|
def print_summary():
|
||||||
"""Print installation summary"""
|
"""Print installation summary"""
|
||||||
print(f"\n{Colors.BOLD}{Colors.GREEN}🎉 Installation Complete!{Colors.END}")
|
print(f"\n{Colors.BOLD}{Colors.GREEN}🎉 Installation Complete!{Colors.END}")
|
||||||
print(f"\n{Colors.BOLD}Files created:{Colors.END}")
|
print(f"\n{Colors.BOLD}Files created/updated:{Colors.END}")
|
||||||
print("• .env (top level)")
|
print("• .env (top level)")
|
||||||
print("• backend/src/main/resources/env.properties")
|
print("• backend/src/main/resources/env.properties")
|
||||||
print("• backend/src/main/resources/firebase-service-account.json")
|
print("• backend/src/main/resources/firebase-service-account.json")
|
||||||
|
print("• frontend/lib/constants/api_constants.dart (updated)")
|
||||||
print(f"\n{Colors.BOLD}Next steps:{Colors.END}")
|
print(f"\n{Colors.BOLD}Next steps:{Colors.END}")
|
||||||
print("1. Run: docker-compose up --build")
|
print("1. Run: docker-compose up --build")
|
||||||
print("2. Access your app at: http://localhost:6060")
|
print("2. Access your app at: http://localhost:6060")
|
||||||
@ -216,6 +268,9 @@ def main():
|
|||||||
# Setup database
|
# Setup database
|
||||||
db_password = setup_database_config()
|
db_password = setup_database_config()
|
||||||
|
|
||||||
|
# Setup server configuration
|
||||||
|
setup_server_config()
|
||||||
|
|
||||||
# Setup Firebase
|
# Setup Firebase
|
||||||
firebase_success = setup_firebase_credentials()
|
firebase_success = setup_firebase_credentials()
|
||||||
|
|
||||||
Loading…
Reference in New Issue
Block a user