generated from Templates/Docker_Image
Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 4430348168 | |||
| 578be7b6f4 | |||
| dbcd3fba91 | |||
| 0eb0bc0d41 | |||
| a73644b1da | |||
| 4c7a089753 | |||
| 4d70a98902 |
@@ -1,6 +1,43 @@
|
|||||||
FROM alpine
|
# AI Software Factory Dockerfile
|
||||||
|
FROM python:3.11-slim
|
||||||
|
|
||||||
|
# Set environment variables
|
||||||
|
ENV PYTHONDONTWRITEBYTECODE=1 \
|
||||||
|
PYTHONUNBUFFERED=1 \
|
||||||
|
PIP_NO_CACHE_DIR=1 \
|
||||||
|
PIP_DISABLE_PIP_VERSION_CHECK=1
|
||||||
|
|
||||||
|
# Set work directory
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
COPY ./ai_software_factory/* /app
|
|
||||||
|
|
||||||
CMD ["sh", "/app/hello_world.sh"]
|
# Install system dependencies
|
||||||
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||||
|
curl \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
# Install dependencies
|
||||||
|
COPY ./ai_software_factory/requirements.txt .
|
||||||
|
RUN pip install --no-cache-dir -r requirements.txt
|
||||||
|
|
||||||
|
# Copy application code
|
||||||
|
COPY ./ai_software_factory .
|
||||||
|
|
||||||
|
# Set up environment file if it exists, otherwise use .env.example
|
||||||
|
# RUN if [ -f .env ]; then \
|
||||||
|
# cat .env; \
|
||||||
|
# elif [ -f .env.example ]; then \
|
||||||
|
# cp .env.example .env; \
|
||||||
|
# fi
|
||||||
|
|
||||||
|
# Initialize database tables (use SQLite by default, can be overridden by DB_POOL_SIZE env var)
|
||||||
|
# RUN python database.py || true
|
||||||
|
|
||||||
|
# Expose port
|
||||||
|
EXPOSE 8000
|
||||||
|
|
||||||
|
# Health check
|
||||||
|
HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
|
||||||
|
CMD curl -f http://localhost:8000/health || exit 1
|
||||||
|
|
||||||
|
# Run application
|
||||||
|
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000", "--reload"]"]
|
||||||
|
|||||||
32
HISTORY.md
32
HISTORY.md
@@ -5,6 +5,38 @@ Changelog
|
|||||||
(unreleased)
|
(unreleased)
|
||||||
------------
|
------------
|
||||||
|
|
||||||
|
Fix
|
||||||
|
~~~
|
||||||
|
- Broken python module references, refs NOISSUE. [Simon Diesenreiter]
|
||||||
|
|
||||||
|
|
||||||
|
0.1.7 (2026-04-04)
|
||||||
|
------------------
|
||||||
|
|
||||||
|
Fix
|
||||||
|
~~~
|
||||||
|
- More bugfixes, refs NOISSUE. [Simon Diesenreiter]
|
||||||
|
|
||||||
|
Other
|
||||||
|
~~~~~
|
||||||
|
|
||||||
|
|
||||||
|
0.1.6 (2026-04-04)
|
||||||
|
------------------
|
||||||
|
|
||||||
|
Fix
|
||||||
|
~~~
|
||||||
|
- Proper containerfile, refs NOISSUE. [Simon Diesenreiter]
|
||||||
|
|
||||||
|
Other
|
||||||
|
~~~~~
|
||||||
|
- Chore: update Containerfile to start the app instead of hello world
|
||||||
|
refs NOISSUE. [Simon Diesenreiter]
|
||||||
|
|
||||||
|
|
||||||
|
0.1.5 (2026-04-04)
|
||||||
|
------------------
|
||||||
|
|
||||||
Fix
|
Fix
|
||||||
~~~
|
~~~
|
||||||
- Bugfix in version generation, refs NOISSUE. [Simon Diesenreiter]
|
- Bugfix in version generation, refs NOISSUE. [Simon Diesenreiter]
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
0.1.5
|
0.1.8
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
"""AI Software Factory agents."""
|
"""AI Software Factory agents."""
|
||||||
|
|
||||||
from ai_software_factory.agents.orchestrator import AgentOrchestrator
|
from agents.orchestrator import AgentOrchestrator
|
||||||
from ai_software_factory.agents.git_manager import GitManager
|
from agents.git_manager import GitManager
|
||||||
from ai_software_factory.agents.ui_manager import UIManager
|
from agents.ui_manager import UIManager
|
||||||
from ai_software_factory.agents.telegram import TelegramHandler
|
from agents.telegram import TelegramHandler
|
||||||
from ai_software_factory.agents.gitea import GiteaAPI
|
from agents.gitea import GiteaAPI
|
||||||
from ai_software_factory.agents.database_manager import DatabaseManager
|
from agents.database_manager import DatabaseManager
|
||||||
|
|
||||||
__all__ = [
|
__all__ = [
|
||||||
"AgentOrchestrator",
|
"AgentOrchestrator",
|
||||||
|
|||||||
@@ -2,8 +2,8 @@
|
|||||||
|
|
||||||
from sqlalchemy.orm import Session
|
from sqlalchemy.orm import Session
|
||||||
from sqlalchemy import text
|
from sqlalchemy import text
|
||||||
from ai_software_factory.database import get_db
|
from database import get_db
|
||||||
from ai_software_factory.models import (
|
from models import (
|
||||||
ProjectHistory, ProjectLog, UISnapshot, PullRequestData, SystemLog, UserAction, AuditTrail, PullRequest, ProjectStatus
|
ProjectHistory, ProjectLog, UISnapshot, PullRequestData, SystemLog, UserAction, AuditTrail, PullRequest, ProjectStatus
|
||||||
)
|
)
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
import json
|
import json
|
||||||
from typing import Optional
|
from typing import Optional
|
||||||
from ai_software_factory.config import settings
|
from config import settings
|
||||||
|
|
||||||
|
|
||||||
class N8NSetupAgent:
|
class N8NSetupAgent:
|
||||||
|
|||||||
@@ -2,11 +2,11 @@
|
|||||||
|
|
||||||
import asyncio
|
import asyncio
|
||||||
from typing import Optional
|
from typing import Optional
|
||||||
from ai_software_factory.agents.git_manager import GitManager
|
from agents.git_manager import GitManager
|
||||||
from ai_software_factory.agents.ui_manager import UIManager
|
from agents.ui_manager import UIManager
|
||||||
from ai_software_factory.agents.gitea import GiteaAPI
|
from agents.gitea import GiteaAPI
|
||||||
from ai_software_factory.agents.database_manager import DatabaseManager
|
from agents.database_manager import DatabaseManager
|
||||||
from ai_software_factory.config import settings
|
from config import settings
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
import os
|
import os
|
||||||
|
|
||||||
|
|||||||
@@ -2,8 +2,8 @@
|
|||||||
|
|
||||||
from sqlalchemy import create_engine, event
|
from sqlalchemy import create_engine, event
|
||||||
from sqlalchemy.orm import sessionmaker, Session
|
from sqlalchemy.orm import sessionmaker, Session
|
||||||
from ai_software_factory.config import settings
|
from config import settings
|
||||||
from ai_software_factory.models import Base
|
from models import Base
|
||||||
|
|
||||||
|
|
||||||
def get_engine() -> create_engine:
|
def get_engine() -> create_engine:
|
||||||
|
|||||||
@@ -4,15 +4,15 @@ from fastapi import FastAPI, Depends, HTTPException, status
|
|||||||
from fastapi.middleware.cors import CORSMiddleware
|
from fastapi.middleware.cors import CORSMiddleware
|
||||||
from fastapi.responses import JSONResponse
|
from fastapi.responses import JSONResponse
|
||||||
from sqlalchemy.orm import Session
|
from sqlalchemy.orm import Session
|
||||||
from ai_software_factory.database import get_db, init_db, get_engine
|
from database import get_db, init_db, get_engine
|
||||||
from ai_software_factory.models import (
|
from models import (
|
||||||
ProjectHistory, ProjectStatus, AuditTrail, UserAction, ProjectLog, SystemLog,
|
ProjectHistory, ProjectStatus, AuditTrail, UserAction, ProjectLog, SystemLog,
|
||||||
PullRequestData, UISnapshot
|
PullRequestData, UISnapshot
|
||||||
)
|
)
|
||||||
from ai_software_factory.agents.orchestrator import AgentOrchestrator
|
from agents.orchestrator import AgentOrchestrator
|
||||||
from ai_software_factory.agents.ui_manager import UIManager
|
from agents.ui_manager import UIManager
|
||||||
from ai_software_factory.agents.database_manager import DatabaseManager
|
from agents.database_manager import DatabaseManager
|
||||||
from ai_software_factory.config import settings
|
from config import settings
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
import json
|
import json
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ from sqlalchemy import (
|
|||||||
)
|
)
|
||||||
from sqlalchemy.orm import relationship, declarative_base
|
from sqlalchemy.orm import relationship, declarative_base
|
||||||
|
|
||||||
from ai_software_factory.config import settings
|
from config import settings
|
||||||
|
|
||||||
Base = declarative_base()
|
Base = declarative_base()
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|||||||
Reference in New Issue
Block a user