Initial commit.
This commit is contained in:
49
Dockerfile
Normal file
49
Dockerfile
Normal file
@@ -0,0 +1,49 @@
|
||||
# Test Dockerfile for wild-cloud-central apt installation
|
||||
FROM debian:bookworm-slim
|
||||
|
||||
# Install build dependencies and runtime packages
|
||||
RUN apt-get update && apt-get install -y \
|
||||
golang-go \
|
||||
make \
|
||||
dpkg-dev \
|
||||
curl \
|
||||
systemctl \
|
||||
dnsmasq \
|
||||
nginx \
|
||||
ca-certificates \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Create build directory
|
||||
WORKDIR /build
|
||||
|
||||
# Copy source code
|
||||
COPY . .
|
||||
|
||||
# Build the .deb package using the Makefile
|
||||
RUN make package
|
||||
|
||||
# Install the .deb package (simulating what a user would do)
|
||||
RUN dpkg -i build/wild-cloud-central_0.1.1_amd64.deb || true
|
||||
RUN apt-get update && apt-get install -f -y
|
||||
|
||||
# Copy example config to the installed location
|
||||
RUN cp /etc/wild-cloud-central/config.yaml.example /etc/wild-cloud-central/config.yaml
|
||||
|
||||
# Create required directories with proper permissions
|
||||
RUN mkdir -p /var/www/html/talos /var/ftpd /var/lib/wild-cloud-central /var/log/wild-cloud-central
|
||||
RUN chown -R www-data:www-data /var/www/html
|
||||
RUN chmod 755 /var/ftpd
|
||||
|
||||
# Create a simple test script
|
||||
COPY tests/test-installation.sh /test-installation.sh
|
||||
RUN chmod +x /test-installation.sh
|
||||
|
||||
# Expose required ports
|
||||
EXPOSE 5055 53/udp 67/udp 69/udp 80
|
||||
|
||||
# Health check to verify service is working
|
||||
HEALTHCHECK --interval=30s --timeout=10s --start-period=10s --retries=3 \
|
||||
CMD curl -f http://localhost:5055/api/v1/health || exit 1
|
||||
|
||||
# Test the installation
|
||||
CMD ["/test-installation.sh"]
|
||||
Reference in New Issue
Block a user