name: Build, Push and Run Container on: push: branches: - main jobs: build: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Build Docker image run: | docker build -t docker-registry.automatic-parking.dev/automatic-parking:poc Source/ProofOfConcept - name: Push to local registry run: docker push docker-registry.automatic-parking.dev/automatic-parking:poc - name: Stop existing container (if running) run: | if docker ps -a --format '{{.Names}}' | grep -q '^automatic-parking$'; then docker rm -f automatic-parking fi - name: Run new container (Traefik enabled) run: | docker run -d \ --name automatic-parking \ --network traefik \ --label "traefik.enable=true" \ --label "traefik.http.routers.automatic-parking.rule=Host(`automatic-parking.dev`)" \ --label "traefik.http.routers.automatic-parking.entrypoints=websecure" \ --label "traefik.http.routers.automatic-parking.tls.certresolver=le" \ --label "traefik.http.services.automatic-parking.loadbalancer.server.port=8080" \ --label "traefik.docker.network=traefik" \ docker-registry.automatic-parking.dev/automatic-parking:poc