corol-server / Dockerfile
NitinBot002's picture
Update Dockerfile
f5360be verified
# Base image with JDK 21
FROM openjdk:21-jdk-slim
# Install all required packages including unzip
RUN apt-get update && \
apt-get install -y \
python3 \
python3-pip \
git \
curl \
wget \
unzip \
&& rm -rf /var/lib/apt/lists/*
# Set Python3 as default
RUN ln -s /usr/bin/python3 /usr/bin/python
# Install Gradle
ENV GRADLE_VERSION=8.5
RUN wget -q https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-bin.zip && \
unzip -q gradle-${GRADLE_VERSION}-bin.zip && \
mv gradle-${GRADLE_VERSION} /opt/gradle && \
rm gradle-${GRADLE_VERSION}-bin.zip
# Add Gradle to PATH
ENV PATH=$PATH:/opt/gradle/bin
WORKDIR /app
# Clone coral-server repository
RUN git clone https://github.com/Coral-Protocol/coral-server.git /app/coral-server
# Try to build coral-server (allow failure)
WORKDIR /app/coral-server
RUN gradle build -x test || echo "Build failed, will retry at runtime"
# Check for JAR file
RUN if [ -f build/libs/*.jar ]; then \
cp build/libs/*.jar /app/coral-server.jar; \
else \
echo "JAR not found, will use gradle run"; \
fi
WORKDIR /app
# Install Python dependencies
RUN pip3 install --no-cache-dir \
requests \
psutil
# Copy Python wrapper
COPY coral_wrapper.py /app/
# Create config directory
RUN mkdir -p /config
# Expose port
EXPOSE 5555
# Environment variables
ENV JAVA_HOME=/usr/local/openjdk-21
ENV CORAL_PORT=5555
# Run Python wrapper
CMD ["python", "coral_wrapper.py"]