Files
osmedeus/build/docker/Dockerfile
T
j3ssie 23ede677c4 feat: add extract_to function and optimize docker builds
- Add extract_to() utility function for auto-detecting archive formats (.zip, .tar.gz, .tar.bz2, .tar.xz, .tgz) and extracting with automatic destination cleanup
- Refactor Dockerfile to use slim debian base with install script, reducing image complexity and improving build reproducibility
- Update Dockerfile.dev to match production environment (Go 1.25 with full toolchain) while adding preset workflow initialization
- Update trivy binary registry metadata from v0.69.0 to v0.69.1 with direct platform-specific download URLs replacing dual curl installation script
2026-02-10 17:09:27 +07:00

45 lines
1.3 KiB
Docker

# Osmedeus Production Dockerfile
# Ubuntu/Debian-based image with essential tools for security scanning
FROM debian:bookworm-slim
# Install essential tools (retry on transient network failures for large packages like chromium)
RUN apt-get update && \
for i in 1 2 3; do \
apt-get install -y --no-install-recommends \
build-essential \
git \
curl \
wget \
ca-certificates \
python3 \
python3-pip \
chromium \
&& break || { echo "Attempt $i failed, retrying..."; apt-get update; }; \
done && \
rm -rf /var/lib/apt/lists/* && \
ln -sf /usr/bin/python3 /usr/bin/python
# Install osmedeus via official install script
RUN curl -fsSL https://www.osmedeus.org/install.sh | bash
# Create base directories
RUN mkdir -p /root/osmedeus-base /root/workspaces-osmedeus
WORKDIR /root
# Initialize osmedeus base folder with preset workflows
RUN osmedeus install base --preset
# Set up PATH for external binaries
ENV PATH="/root/osmedeus-base/external-binaries:${PATH}"
# Expose default server port
EXPOSE 8002
# Default entrypoint - exposes osmedeus CLI only
ENTRYPOINT ["osmedeus"]
# Default command shows help (user can override with run/server/etc.)
CMD ["--help"]