Compare commits
12 Commits
6f23ed5a8d
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
701be3e283
|
|||
|
6479f6b8af
|
|||
|
43db89f75d
|
|||
|
ce80b046fb
|
|||
| 873041c11f | |||
| 86a6ac8f44 | |||
| 228a63ff4b | |||
| 931355d7dc | |||
| 872cc263a3 | |||
| 8123cce06f | |||
| 99a561421a | |||
| 40a6a73826 |
52
.gitea/workflows/build-main.yaml
Normal file
52
.gitea/workflows/build-main.yaml
Normal file
@ -0,0 +1,52 @@
|
||||
name: Build Main Image
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- 'master'
|
||||
|
||||
env:
|
||||
FULL_TAG: git.mrmeeb.stream/mrmeeb/postfix:latest
|
||||
|
||||
jobs:
|
||||
"Build Image":
|
||||
runs-on: [ubuntu-docker-latest, linux/amd64]
|
||||
steps:
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v3
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
- name: Login to Gitea Container Registry
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
registry: git.mrmeeb.stream
|
||||
username: ${{ env.GITHUB_ACTOR }}
|
||||
password: ${{ secrets.GTCR_TOKEN }}
|
||||
- name: Build and push
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
push: true
|
||||
platforms: linux/amd64,linux/arm64
|
||||
tags: ${{ env.FULL_TAG }}
|
||||
provenance: false
|
||||
- name: Notify on failure
|
||||
uses: rjstone/discord-webhook-notify@v1
|
||||
if: failure()
|
||||
with:
|
||||
severity: error
|
||||
details: Build failed!
|
||||
webhookUrl: ${{ secrets.DISCORD_WEBHOOK }}
|
||||
username: Gitea
|
||||
avatarUrl: ${{ vars.RUNNER_ICON_URL }}
|
||||
"Notify":
|
||||
runs-on: [ubuntu-docker-latest, linux/amd64]
|
||||
needs: ["Build Image"]
|
||||
steps:
|
||||
- name: Notify of success
|
||||
uses: rjstone/discord-webhook-notify@v1
|
||||
if: success()
|
||||
with:
|
||||
severity: info
|
||||
details: Build succeeded!
|
||||
webhookUrl: ${{ secrets.DISCORD_WEBHOOK }}
|
||||
username: Gitea
|
||||
avatarUrl: ${{ vars.RUNNER_ICON_URL }}
|
||||
46
.gitea/workflows/test-pr.yaml
Normal file
46
.gitea/workflows/test-pr.yaml
Normal file
@ -0,0 +1,46 @@
|
||||
name: Test Pull Request
|
||||
on:
|
||||
pull_request:
|
||||
branches:
|
||||
- 'master'
|
||||
|
||||
env:
|
||||
FULL_TAG: git.mrmeeb.stream/mrmeeb/postfix:develop
|
||||
|
||||
jobs:
|
||||
"Build Image":
|
||||
runs-on: [ubuntu-docker-latest, linux/amd64]
|
||||
steps:
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v3
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
- name: Build
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
push: false
|
||||
platforms: linux/amd64,linux/arm64
|
||||
tags: ${{ env.FULL_TAG }}
|
||||
provenance: false
|
||||
- name: Notify on failure
|
||||
uses: rjstone/discord-webhook-notify@v1
|
||||
if: failure()
|
||||
with:
|
||||
severity: error
|
||||
details: Build failed!
|
||||
webhookUrl: ${{ secrets.DISCORD_WEBHOOK }}
|
||||
username: Gitea
|
||||
avatarUrl: ${{ vars.RUNNER_ICON_URL }}
|
||||
"Notify":
|
||||
runs-on: [ubuntu-docker-latest, linux/amd64]
|
||||
needs: ["Build Image"]
|
||||
steps:
|
||||
- name: Notify of success
|
||||
uses: rjstone/discord-webhook-notify@v1
|
||||
if: success()
|
||||
with:
|
||||
severity: info
|
||||
details: Build succeeded!
|
||||
webhookUrl: ${{ secrets.DISCORD_WEBHOOK }}
|
||||
username: Gitea
|
||||
avatarUrl: ${{ vars.RUNNER_ICON_URL }}
|
||||
21
Dockerfile
Normal file
21
Dockerfile
Normal file
@ -0,0 +1,21 @@
|
||||
FROM alpine:3.22
|
||||
|
||||
RUN apk update && \
|
||||
apk add bash gawk cyrus-sasl cyrus-sasl-login cyrus-sasl-crammd5 mailx \
|
||||
postfix postfix-pgsql && \
|
||||
rm -rf /var/cache/apk/* && \
|
||||
mkdir -p /var/log/supervisor/ /var/run/supervisor/ && \
|
||||
touch /etc/postfix/pgsql-relay-domains.cf && \
|
||||
touch /etc/postfix/pgsql-transport-maps.cf && \
|
||||
echo 'maillog_file = /dev/stdout' >> /etc/postfix/main.cf && \
|
||||
sed -i -e 's/inet_interfaces = localhost/inet_interfaces = all/g' /etc/postfix/main.cf
|
||||
|
||||
RUN mkdir /config
|
||||
|
||||
COPY run.sh /
|
||||
RUN chmod +x /run.sh
|
||||
RUN newaliases
|
||||
|
||||
EXPOSE 25
|
||||
#ENTRYPOINT ["/run.sh"]
|
||||
CMD ["/run.sh"]
|
||||
8
renovate.json
Normal file
8
renovate.json
Normal file
@ -0,0 +1,8 @@
|
||||
{
|
||||
"extends": [":automergeMinor", ":automergePr", ":automergeRequireAllStatusChecks", ":dependencyDashboard", ":disableRateLimiting", ":rebaseStalePrs"],
|
||||
"baseBranches": ["master"],
|
||||
"major": {
|
||||
"dependencyDashboardApproval": true
|
||||
},
|
||||
"minimumReleaseAge": "7 days"
|
||||
}
|
||||
45
run.sh
Normal file
45
run.sh
Normal file
@ -0,0 +1,45 @@
|
||||
#!/bin/bash
|
||||
|
||||
[ "${DEBUG}" == "yes" ] && set -x
|
||||
|
||||
function add_config_value() {
|
||||
local key=${1}
|
||||
local value=${2}
|
||||
# local config_file=${3:-/etc/postfix/main.cf}
|
||||
[ "${key}" == "" ] && echo "ERROR: No key set !!" && exit 1
|
||||
[ "${value}" == "" ] && echo "ERROR: No value set !!" && exit 1
|
||||
|
||||
echo "Setting configuration option ${key} with value: ${value}"
|
||||
postconf -e "${key} = ${value}"
|
||||
}
|
||||
|
||||
#Copy files into config dir
|
||||
|
||||
#Move missing files from Postfix to /config
|
||||
mv -n /etc/postfix/main.cf /config/main.cf
|
||||
mv -n /etc/postfix/master.cf /config/master.cf
|
||||
mv -n /etc/postfix/pgsql-relay-domains.cf /config/pgsql-relay-domains.cf
|
||||
mv -n /etc/postfix/pgsql-transport-maps.cf /config/pgsql-transport-maps.cf
|
||||
|
||||
#Delete files from Postfix
|
||||
rm /etc/postfix/main.cf
|
||||
rm /etc/postfix/master.cf
|
||||
rm /etc/postfix/pgsql-relay-domains.cf
|
||||
rm /etc/postfix/pgsql-transport-maps.cf
|
||||
|
||||
#Link files into Postfix
|
||||
ln -s /config/main.cf /etc/postfix/main.cf
|
||||
ln -s /config/pgsql-relay-domains.cf /etc/postfix/pgsql-relay-domains.cf
|
||||
ln -s /config/pgsql-transport-maps.cf /etc/postfix/pgsql-transport-maps.cf
|
||||
ln -s /config/master.cf /etc/postfix/master.cf
|
||||
|
||||
#Open permissions
|
||||
chmod -R 777 /config
|
||||
|
||||
#Start services
|
||||
|
||||
# If host mounting /var/spool/postfix, we need to delete old pid file before
|
||||
# starting services
|
||||
rm -f /var/spool/postfix/pid/master.pid
|
||||
|
||||
exec /usr/sbin/postfix -c /etc/postfix start-fg
|
||||
Reference in New Issue
Block a user