Compare commits

..

5 Commits

Author SHA1 Message Date
d318654e6a Merge pull request 'feat: build and publish docker image action workflow' (#1) from develop into main
All checks were successful
Docker Build / build (push) Successful in 1m51s
Reviewed-on: #1
2025-04-18 08:41:30 +00:00
51eb8cb4a2 Dockerfile test
All checks were successful
Docker Build / build (push) Successful in 1m56s
2025-04-18 10:27:03 +02:00
cccc264a78 Dockerfile test
All checks were successful
Docker Build / build (push) Successful in 1m49s
2025-04-17 21:33:36 +02:00
4a3b80a3b1 Docker file test
Some checks failed
Docker Build / build (push) Failing after 1m24s
2025-04-17 21:25:42 +02:00
d940aa2169 feat: Added actions to build and upload docker image
Some checks failed
Docker Build / build (push) Failing after 1m2s
2025-04-17 21:22:50 +02:00
2 changed files with 57 additions and 0 deletions

View File

@ -0,0 +1,27 @@
name: Docker Build
on: push
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Login to Container Registry
run: |
docker login git.ambeles.nl \
-u ${{ secrets.REGISTRY_USERNAME }} \
-p ${{ secrets.REGISTRY_PASSWORD }}
- name: Build Docker Image
run: |
docker build -t git.ambeles.nl/bedroomghost/gpx-studio:${{ github.sha }} .
- name: Push Docker Image
run: |
docker tag git.ambeles.nl/bedroomghost/gpx-studio:${{ github.sha }} git.ambeles.nl/bedroomghost/gpx-studio:latest
docker push git.ambeles.nl/bedroomghost/gpx-studio:${{ github.sha }}
docker push git.ambeles.nl/bedroomghost/gpx-studio:latest

30
Dockerfile Normal file
View File

@ -0,0 +1,30 @@
# 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"]