| 1 | # Use the pre-built base image for A0 |
| 2 | # FROM agent-zero-base:local |
| 3 | FROM agent0ai/agent-zero-base:latest |
| 4 | |
| 5 | # Set BRANCH to "local" if not provided |
| 6 | ARG BRANCH=local |
| 7 | ENV BRANCH=$BRANCH |
| 8 | |
| 9 | # Copy filesystem files to root |
| 10 | COPY ./docker/run/fs/ / |
| 11 | # Copy current development files to git, they will only be used in "local" branch |
| 12 | COPY ./ /git/agent-zero |
| 13 | |
| 14 | # pre installation steps |
| 15 | RUN bash /ins/pre_install.sh $BRANCH |
| 16 | |
| 17 | # install A0 |
| 18 | RUN bash /ins/install_A0.sh $BRANCH |
| 19 | |
| 20 | # install additional software |
| 21 | RUN bash /ins/install_additional.sh $BRANCH |
| 22 | |
| 23 | # cleanup repo and install A0 without caching, this speeds up builds |
| 24 | ARG CACHE_DATE=none |
| 25 | RUN echo "cache buster $CACHE_DATE" && bash /ins/install_A02.sh $BRANCH |
| 26 | |
| 27 | # post installation steps |
| 28 | RUN bash /ins/post_install.sh $BRANCH |
| 29 | |
| 30 | # Expose ports |
| 31 | EXPOSE 22 80 9000-9009 |
| 32 | |
| 33 | RUN chmod +x /exe/initialize.sh /exe/run_A0.sh /exe/run_searxng.sh /exe/run_tunnel_api.sh |
| 34 | |
| 35 | # initialize runtime and switch to supervisord |
| 36 | CMD ["/exe/initialize.sh", "$BRANCH"] |