44 lines
1.7 KiB
Docker
44 lines
1.7 KiB
Docker
# Use an appropriate base image with Debian
|
|
FROM ubuntu:22.04
|
|
|
|
# Install Boost C++ Libraries and necessary tools
|
|
RUN apt-get update && \
|
|
apt-get install -y libboost-all-dev nano curl
|
|
|
|
# Install Node.js and npm
|
|
RUN curl -fsSL https://deb.nodesource.com/setup_14.x | bash - && \
|
|
apt-get install -y nodejs
|
|
|
|
# Copy the inCompass SDK package to the container
|
|
COPY docs/gcf1-global_3.1.0-2_ubuntu22.04-amd64.deb /tmp/
|
|
|
|
# Install the inCompass SDK
|
|
RUN dpkg -i /tmp/gcf1-global_3.1.0-2_ubuntu22.04-amd64.deb || apt-get install -y -f
|
|
|
|
# Copy init script for the service and daemonize
|
|
RUN cp -p /usr/local/gcf1/sbin/gcf1 /etc/init.d/
|
|
|
|
# Configure the SDK
|
|
RUN sed -i 's|FC_DL_PATH=.*|FC_DL_PATH=/dl104/get.cgi|' /usr/local/gcf1/etc/gcf1.conf && \
|
|
sed -i 's|FC_DL_PATH_SMALLDB=.*|FC_DL_PATH_SMALLDB=/dls104/get.cgi|' /usr/local/gcf1/etc/gcf1.conf && \
|
|
sed -i 's|FC_PLACE=.*|FC_PLACE=blackdice|' /usr/local/gcf1/etc/gcf1.conf && \
|
|
sed -i 's|FC_LICENCE=.*|FC_LICENCE=GD2LHJ98B4|' /usr/local/gcf1/etc/gcf1.conf && \
|
|
sed -i 's|FC_EMAIL=.*|FC_EMAIL={any blackdice email address}|' /usr/local/gcf1/etc/gcf1.conf && \
|
|
sed -i 's|HYBRID_ENABLE=.*|HYBRID_ENABLE=1|' /usr/local/gcf1/etc/gcf1.conf && \
|
|
sed -i 's|HYBRID_NS_ACCESS=.*|HYBRID_NS_ACCESS=andkWEzbBWRR2K6iw4edRvfd6MmNNjRx|' /usr/local/gcf1/etc/gcf1.conf && \
|
|
sed -i 's|HYBRID_USER_AGENT=.*|HYBRID_USER_AGENT=CSUX_blackdice|' /usr/local/gcf1/etc/gcf1.conf
|
|
|
|
# Copy the Node.js application to the container
|
|
|
|
WORKDIR /srv
|
|
|
|
COPY . .
|
|
|
|
# Install Node.js dependencies
|
|
RUN npm install
|
|
|
|
# Expose necessary ports (if any)
|
|
EXPOSE 3000/udp
|
|
|
|
# Command to start the service and Node.js application
|
|
CMD ["/bin/bash", "-c", "/usr/local/gcf1/sbin/gcf1 start && npm start"] |