About

This is a Docker build for the Corrade scripted agent. There exists an official container of Corrade that is online on the Docker HUB.

Filesystem Layout

.
├── Dockerfile
└── rootfs
    └── usr
        └── local
            └── bin
                └── run

5 directories, 2 files

Dockerfile

# add build arguments for specific architectures
ARG TARGETPLATFORM
 
# using alpine
FROM alpine:edge
 
# unzip required for unpacking Corrade and all the rest are libraries
RUN apk add --no-cache bash unzip curl icu-libs gcompat fontconfig ttf-dejavu libstdc++ dotnet9-runtime
 
# retrieve latest Corrade
RUN mkdir -p /tmo/kitchen
WORKDIR /tmp/kitchen
 
ARG TARGETOS
ARG TARGETARCH
RUN curl \
        --retry 5 --max-time 120 --retry-delay 10 --retry-max-time 120 --retry-all-errors --retry-connrefused \
        -fsSL "https://corrade.grimore.org/download/corrade/${TARGETOS}-${TARGETARCH}/LATEST.zip" -o /tmp/kitchen/Corrade.zip && \
    unzip /tmp/kitchen/Corrade.zip -d /opt/corrade
 
# cleanup
WORKDIR /opt/corrade
RUN rm -rf /tmp/kitchen
 
# remove unneeded
RUN apk del -r unzip curl
 
# add filesystem requirements
ADD rootfs /
 
# expose just the Nucleus port, all the rest is up to the user 
EXPOSE 54377
 
# HTTP, MQTT, TCP, UDP and WebSockets are not exposed but the user can map the port if they wish
# EXPOSE 8080 1883 8085 8086 8088
 
# Corrade volumes storing configuration
VOLUME /etc/corrade
 
# execute the bootstrapper that will start Corrade
ENTRYPOINT ["bash", "/usr/local/bin/run"]
 
# metadata labels
LABEL \
    org.opencontainers.image.vendor="Corrade" \
    org.opencontainers.image.authors="Wizardry and Steamworks <wizardry.steamworks@outlook.com>" \
    org.opencontainers.image.title="Official Corrade Docker Container Image" \
    org.opencontainers.image.description="the libOpenMetaverse scripted agent" \
    org.opencontainers.image.version="latest" \
    org.opencontainers.image.url="https://corrade.grimore.org/" \
    org.opencontainers.image.licenses="MIT"

Files

Here are the files associated with this Corrade build.

run

#!/usr/bin/bash
 
# create a directory that will be mountable as a regular Docker volume
mkdir -p /etc/corrade
 
# now pivot user-editable files as a symlink into the Docker mountable volume directory
if [ ! -f /etc/corrade/CorradeConfiguration.xml ]; then
    cp /opt/corrade/CorradeConfiguration.xml.default /etc/corrade/CorradeConfiguration.xml    
fi
ln -sf /etc/corrade/CorradeConfiguration.xml /opt/corrade/CorradeConfiguration.xml
 
if [ ! -f /etc/corrade/NucleusConfiguration.xml ]; then
    cp /opt/corrade/NucleusConfiguration.xml.default /etc/corrade/NucleusConfiguration.xml    
fi
ln -sf /etc/corrade/NucleusConfiguration.xml /opt/corrade/NucleusConfiguration.xml
 
if [ ! -f /etc/corrade/Log4Net.config ]; then
    cp /opt/corrade/Log4Net.config.default /etc/corrade/Log4Net.config    
fi
ln -sf /etc/corrade/Log4Net.config /opt/corrade/Log4Net.config
 
# DEBUG
#LD_PRELOAD=/lib/libgcompat.so ldd /opt/corrade/Corrade
#ls -l /opt/corrade/
/opt/corrade/Corrade

assets/docker/build/corrade.txt · Last modified: (external edit)

Wizardry and Steamworks

© 2025 Wizardry and Steamworks

Access website using Tor Access website using i2p Wizardry and Steamworks PGP Key


For the contact, copyright, license, warranty and privacy terms for the usage of this website please see the contact, license, privacy, copyright.