name: Auto Deploy Flask with Docker on: push: branches: - main jobs: deploy: runs-on: self-hosted container: image: docker:27.3.1 # official Docker CLI image with Docker installed options: --privileged steps: - 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