name: Auto Deploy Flask with Docker on: push: branches: - main jobs: deploy: runs-on: self-hosted container: image: node:18 options: --privileged steps: - name: Install Docker CLI run: | apt-get update && apt-get install -y docker.io - name: Check docker version run: docker version - name: Checkout code uses: actions/checkout@v3 - name: Build Docker image run: docker build -t flask-app . - name: Stop old container run: | docker stop flask-app || true docker rm flask-app || true - name: Run new container run: | docker run -d -p 5000:5000 --name flask-app flask-app