jobs: build-and-deploy: runs-on: ubuntu-latest # Runner must have Docker socket mounted steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: '20' cache: 'npm' - run: npm ci && npm run build - name: Build and run container run: | docker build -t cachetdeco:latest . docker stop cachetdeco 2>/dev/null || true docker rm cachetdeco 2>/dev/null || true docker run -d --name cachetdeco -p 30001:80 --restart unless-stopped cachetdeco:latest