From 6e6c28fa6fcbe4e3bd6cdf47401ef4fbffcd7c10 Mon Sep 17 00:00:00 2001 From: Ketan Patel Date: Fri, 1 Aug 2025 13:58:51 -0400 Subject: [PATCH] Adding cron to auto build every month --- .github/workflows/docker-build.yml | 10 ++++++++-- docker-compose.yml | 19 +++++++++++++++++++ env.sample | 8 ++++++++ 3 files changed, 35 insertions(+), 2 deletions(-) create mode 100644 docker-compose.yml create mode 100644 env.sample diff --git a/.github/workflows/docker-build.yml b/.github/workflows/docker-build.yml index c7e17be..f6fa492 100644 --- a/.github/workflows/docker-build.yml +++ b/.github/workflows/docker-build.yml @@ -1,6 +1,9 @@ name: Build and Push Docker Image + on: + schedule: + - cron: '0 0 1 * *' # This runs at midnight on the first day of every month push: branches: - main @@ -20,8 +23,11 @@ jobs: password: ${{ secrets.DOCKER_TOKEN }} - name: Build the Docker image - run: docker build . -t k2patel/postfix:latest + id: build + run: | + docker build . -t k2patel/postfix:latest + echo "IMAGE_NAME=k2patel/postfix:latest" >> $GITHUB_ENV - name: Push the Docker image - run: docker push k2patel/postfix + run: docker push ${{ env.IMAGE_NAME }} diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..7b6e79d --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,19 @@ +services: + postfix: + container_name: postfix + image: docker.io/k2patel/postfix:latest + ports: + - "10825:25/tcp" + environment: + TIMEZONE: ${TIMEZONE} + SMTP_SERVER: ${SMTP_SERVER} + SERVER_HOSTNAME: ${SERVER_HOSTNAME} + SMTP_PORT: ${SMTP_PORT} + DOMAIN: ${DOMAIN} + SMTP_USERNAME: ${SMTP_USERNAME} + SMTP_PASSWORD: ${SMTP_PASSWORD} + volumes: + - "${DATA_FOLDER}/logs:/var/log" + - "${DATA_FOLDER}/mail:/var/mail" + - "${DATA_FOLDER}/spool:/var/spool/postfix" + restart: unless-stopped diff --git a/env.sample b/env.sample new file mode 100644 index 0000000..3a67878 --- /dev/null +++ b/env.sample @@ -0,0 +1,8 @@ +TIMEZONE='America/New_York' +SMTP_SERVER='smtp.example.com' +SERVER_HOSTNAME=server_name +SMTP_PORT=587 +DOMAIN=smtp_domain +SMTP_USERNAME=apikey +SMTP_PASSWORD='api_key' +DATA_FOLDER='Local data folder'