gpx.studio/Dockerfile
bedroomghost 51eb8cb4a2
All checks were successful
Docker Build / build (push) Successful in 1m56s
Dockerfile test
2025-04-18 10:27:03 +02:00

30 lines
908 B
Docker

# Simple Dockerfile for the GPX viewer application
FROM node:18-alpine
# Set working directory
WORKDIR /app
# Copy all source files
COPY . .
# Build the GPX library first
WORKDIR /app/gpx
RUN npm install
RUN npm run build
# Then build and run the website
WORKDIR /app/website
RUN npm install
# Expose the port for the dev server
EXPOSE 5173
# Create a simple startup script that injects the token from env var
RUN echo '#!/bin/sh' > /app/start.sh && \
echo 'echo "PUBLIC_MAPBOX_TOKEN=$PUBLIC_MAPBOX_TOKEN" > /app/website/.env' >> /app/start.sh && \
echo 'find /app/website -type f -name "*.js" -o -name "*.ts" -o -name "*.svelte" | xargs sed -i "s|https://brouter.gpx.studio|https://brouter.ambeles.nl|g"' >> /app/start.sh && \
echo 'cd /app/website && npm run dev -- --host 0.0.0.0' >> /app/start.sh && \
chmod +x /app/start.sh
# Command to start the application
CMD ["/app/start.sh"]