sets up docker compose

This commit is contained in:
2025-08-04 10:05:23 -07:00
parent 31088cf112
commit e1b7da3dbe
12 changed files with 400 additions and 1 deletions

View File

@@ -1,4 +1,6 @@
import sys
import os
import subprocess
from app import create_app, db
from app.models import Folder, User
from flask.cli import with_appcontext
@@ -13,6 +15,29 @@ def shell():
import code
code.interact(local=dict(globals(), **locals()))
@app.cli.command("setup-dev")
def setup_dev():
"""Set up development environment with Docker Compose."""
# Create tmp directory for IMAP data if it doesn't exist
os.makedirs('tmp/imap-data', exist_ok=True)
# Start the services
try:
subprocess.run(['docker-compose', 'up', '-d'], check=True)
print("Services started successfully:")
print("- PostgreSQL: localhost:5432 (database: email_organizer_dev, user: postgres, password: password)")
print("- IMAP Server: localhost:1143")
print(" Users:")
print(" - user1@example.com / password1")
print(" - user2@example.com / password2")
print(" Folders: INBOX, Pending, Work, Personal, Receipts, Marketing, Archived")
except subprocess.CalledProcessError as e:
print(f"Error starting services: {e}")
sys.exit(1)
except FileNotFoundError:
print("Docker Compose not found. Please install Docker and Docker Compose.")
sys.exit(1)
def mock_process_emails():
"""Simulate processing emails with defined rules."""
with app.app_context():
@@ -44,4 +69,5 @@ if __name__ == '__main__':
if len(sys.argv) > 1 and sys.argv[1] == 'mock-process':
mock_process_emails()
else:
print("Usage: python manage.py mock-process")
print("Usage: python manage.py mock-process")
print(" flask setup-dev")