diff --git a/.env.production.example b/.env.production.example new file mode 100644 index 000000000..41e934c3a --- /dev/null +++ b/.env.production.example @@ -0,0 +1,3 @@ +DATABASE_URL="postgres://dokploy:amukds4wi9001583845717ad2@dokploy-postgres:5432/dokploy" +PORT=3000 +NODE_ENV=production \ No newline at end of file diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index e13b5b10e..3d14d6c21 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -4,8 +4,14 @@ on: branches: - main - canary + + push: + branches: + - main + - canary jobs: - build: + build-app: + if: github.event_name == 'pull_request' runs-on: ubuntu-20.04 strategy: matrix: @@ -23,4 +29,53 @@ jobs: - name: Install dependencies run: pnpm install - name: Run Build - run: pnpm build \ No newline at end of file + run: pnpm build + + + build-docker-on-pr: + if: github.event_name == 'pull_request' + needs: build-app + runs-on: ubuntu-latest + steps: + - name: Check out the code + uses: actions/checkout@v3 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Prepare .env file + run: | + cp .env.production.example .env.production + + - name: Run custom Docker build script + run: | + chmod +x ./docker/build.sh + echo "Building Docker image for ${{ github.base_ref }}" + ./docker/build.sh ${{ github.base_ref == 'canary' && 'canary' || '' }} + + build-and-push-docker-on-push: + if: github.event_name == 'push' + runs-on: ubuntu-latest + steps: + - name: Check out the code + uses: actions/checkout@v3 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Login to Docker Hub + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + + - name: Prepare .env file + run: | + cp .env.production.example .env.production + + - name: Build and push Docker image using custom script + run: | + chmod +x ./docker/build.sh + chmod +x ./docker/push.sh + ./docker/build.sh ${{ github.base_ref == 'canary' && 'canary' || '' }} + ./docker/push.sh ${{ github.base_ref == 'canary' && 'canary' || '' }} \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 84c57c7f4..bbda3053c 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -49,8 +49,12 @@ feat: add new feature ``` + + ## Setup +Before you start, please make the clone based on the `canary` branch, since the `main` branch is the source of truth and should always reflect the latest stable release, also the PRs will be merged to the `canary` branch. + ```bash git clone https://github.com/dokploy/dokploy.git cd dokploy