Forge
3407750f
1FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build
2WORKDIR /src
3COPY forge.plugins.toml .
4COPY registry/ registry/
5COPY config/ config/
6COPY docker/forge-build.slnx docker/forge-build.slnx
7COPY src/AgentForge.Abstractions/ src/AgentForge.Abstractions/
8COPY src/AgentForge.Mcp.Core/ src/AgentForge.Mcp.Core/
9COPY src/AgentForge/ src/AgentForge/
10COPY src/AgentForge.Plugin.Sdk/ src/AgentForge.Plugin.Sdk/
11COPY src/AgentForge.Plugin.View/ src/AgentForge.Plugin.View/
12COPY src/AgentForge.Plugin.OAuth.Web/ src/AgentForge.Plugin.OAuth.Web/
13COPY src/AgentForge.Plugin.OAuth.GitHub/ src/AgentForge.Plugin.OAuth.GitHub/
14COPY src/AgentForge.Plugin.Org.Web/ src/AgentForge.Plugin.Org.Web/
15COPY src/AgentForge.Plugin.Grouping.Core/ src/AgentForge.Plugin.Grouping.Core/
16COPY src/AgentForge.Plugin.Grouping.Repositories/ src/AgentForge.Plugin.Grouping.Repositories/
17COPY src/AgentForge.Plugin.Grouping.Releases/ src/AgentForge.Plugin.Grouping.Releases/
18COPY src/AgentForge.Plugin.Issue/ src/AgentForge.Plugin.Issue/
19COPY src/AgentForge.Plugin.MergeRequest/ src/AgentForge.Plugin.MergeRequest/
20COPY src/AgentForge.Plugin.Lens/ src/AgentForge.Plugin.Lens/
21COPY src/AgentForge.Plugin.Ci/ src/AgentForge.Plugin.Ci/
22COPY src/AgentForge.Plugin.Releases/ src/AgentForge.Plugin.Releases/
23COPY src/AgentForge.Plugin.RepositoryImport.GitHub.Core/ src/AgentForge.Plugin.RepositoryImport.GitHub.Core/
24COPY src/AgentForge.Plugin.RepositoryImport.GitHub/ src/AgentForge.Plugin.RepositoryImport.GitHub/
25COPY src/AgentForge.Plugin.RepositoryImport.GitHub.User/ src/AgentForge.Plugin.RepositoryImport.GitHub.User/
26COPY src/AgentForge.Plugin.Org.Import.GitHub/ src/AgentForge.Plugin.Org.Import.GitHub/
27COPY src/AgentForge.Plugin.Instance.UserManagement/ src/AgentForge.Plugin.Instance.UserManagement/
28COPY src/AgentForge.Plugin.Organization.UserManagement/ src/AgentForge.Plugin.Organization.UserManagement/
29# One restore/build graph: each project compiled once; host publish copies plugin DLLs from bin/.
30RUN dotnet restore docker/forge-build.slnx
31RUN dotnet build docker/forge-build.slnx -c Release --no-restore
32RUN dotnet publish src/AgentForge/AgentForge.csproj -c Release -o /app/publish /p:UseAppHost=false --no-restore
33
34FROM mcr.microsoft.com/dotnet/aspnet:10.0
35RUN apt-get update \
36 && apt-get install -y --no-install-recommends git ca-certificates \
37 && rm -rf /var/lib/apt/lists/*
38WORKDIR /app
39ENV ASPNETCORE_URLS=http://0.0.0.0:8770
40ENV FORGE_DATABASE_PATH=/data/forge.witdb
41ENV FORGE_REPOS_PATH=/data/repos
42ENV FORGE_PUBLIC_BASE_URL=http://127.0.0.1:8770
43ENV FORGE_GIT_BASE_URL=ssh://git@127.0.0.1
44ENV FORGE_GIT_SSH_PORT=2222
45VOLUME /data
46EXPOSE 8770
47COPY --from=build /app/publish .
48ENTRYPOINT ["dotnet", "AgentForge.dll"]
49
View only · write via MCP/CIDE