name: Deploy Homepage on: push: branches: - main jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: github-server-url: https://git.kayhennig.de - name: Set up Node.js uses: actions/setup-node@v4 with: node-version: '20' - name: Install run: npm install - name: Build run: npm run build # build/standalone is the output directory for the Next.js app # now we want to deploy a container with the built app - name: Build Docker image run: docker build -t homepage:latest -f Dockerfile.build . - name: Stop and remove existing container run: | docker stop website-server || true docker rm website-server || true - name: Run Docker container run: | docker run -d \ --expose=80 \ --network=web \ --name website-server \ homepage:latest - name: Clean up Docker image run: docker rmi homepage:latest || true - name: Clean up unused Docker resources run: docker system prune -f --volumes || true - name: Notify deployment success run: echo "Deployment successful!"