Initial release
This commit is contained in:
commit
f76b0306c7
44
.gitlab-ci.yml
Normal file
44
.gitlab-ci.yml
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
image: docker:latest
|
||||||
|
|
||||||
|
stages:
|
||||||
|
- test
|
||||||
|
- build
|
||||||
|
|
||||||
|
variables:
|
||||||
|
VERSION: ${CI_COMMIT_TAG:-latest}
|
||||||
|
CACHETAG: build
|
||||||
|
DOCKER_REGISTRY: registry.leenooks.net
|
||||||
|
DOCKER_HOST: tcp://${DOCKER_REGISTRY}-leenooks-ci-docker:2375
|
||||||
|
|
||||||
|
services:
|
||||||
|
- ${DOCKER_REGISTRY}/leenooks/ci-docker:dind
|
||||||
|
|
||||||
|
before_script:
|
||||||
|
- docker info
|
||||||
|
- docker version
|
||||||
|
- docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN ${DOCKER_REGISTRY}
|
||||||
|
- echo "CI_PROJECT_PATH ${CI_PROJECT_PATH} CI_COMMIT_TAG ${CI_COMMIT_TAG} CI_COMMIT_REF_NAME ${CI_COMMIT_REF_NAME}"
|
||||||
|
- echo "CI_REGISTRY ${CI_REGISTRY} CI_REGISTRY_IMAGE ${CI_REGISTRY_IMAGE} CI ${CI}"
|
||||||
|
|
||||||
|
test:
|
||||||
|
stage: test
|
||||||
|
script:
|
||||||
|
- cat /etc/hosts
|
||||||
|
- env|sort
|
||||||
|
- docker build -t ${CI_REGISTRY_IMAGE}:${VERSION} .
|
||||||
|
- docker images
|
||||||
|
only:
|
||||||
|
- debug
|
||||||
|
|
||||||
|
build:
|
||||||
|
stage: build
|
||||||
|
script:
|
||||||
|
- chmod 500 init
|
||||||
|
- docker pull ${CI_REGISTRY_IMAGE}:${CACHETAG} || true
|
||||||
|
- docker build --cache-from ${CI_REGISTRY_IMAGE}:${CACHETAG} -t ${CI_REGISTRY_IMAGE}:${VERSION} -t ${CI_REGISTRY_IMAGE}:${CACHETAG} .
|
||||||
|
- docker push ${CI_REGISTRY_IMAGE}:${VERSION}
|
||||||
|
- docker push ${CI_REGISTRY_IMAGE}:${CACHETAG}
|
||||||
|
tags:
|
||||||
|
- docker
|
||||||
|
only:
|
||||||
|
- master
|
29
Dockerfile
Normal file
29
Dockerfile
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
# NAME leenooks/smtp
|
||||||
|
# VERSION latest
|
||||||
|
# BUILD docker build -t="leenooks/smtp" .
|
||||||
|
|
||||||
|
FROM registry.leenooks.net/leenooks/base:7
|
||||||
|
|
||||||
|
RUN yum -y install epel-release && yum clean all
|
||||||
|
|
||||||
|
# EPEL & Leenooks packages
|
||||||
|
RUN yum -y install \
|
||||||
|
make \
|
||||||
|
m4 \
|
||||||
|
sendmail \
|
||||||
|
sendmail-cf \
|
||||||
|
ln-mail-server \
|
||||||
|
milter-greylist \
|
||||||
|
&& yum clean all
|
||||||
|
|
||||||
|
# ln-mail-client \
|
||||||
|
|
||||||
|
RUN useradd -rc "HUB Mail Relay" -M relay -NG mail -s /sbin/nologin -p SmTpR3l@Y
|
||||||
|
|
||||||
|
EXPOSE 25
|
||||||
|
|
||||||
|
COPY init /sbin/
|
||||||
|
|
||||||
|
# Starting
|
||||||
|
ENTRYPOINT [ "/sbin/init" ]
|
||||||
|
CMD [ "start" ]
|
25
init
Executable file
25
init
Executable file
@ -0,0 +1,25 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
NAME="SMTP"
|
||||||
|
|
||||||
|
function stop {
|
||||||
|
echo "Stopping ${NAME}"
|
||||||
|
kill $(cat /var/run/sendmail.pid|head -1)
|
||||||
|
}
|
||||||
|
|
||||||
|
trap 'stop' SIGTERM
|
||||||
|
|
||||||
|
if [ -z `hostname --domain` ]; then
|
||||||
|
echo "You must start this container with --hostname= specifying a domain name"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$1" == "start" ]; then
|
||||||
|
/usr/sbin/saslauthd -m /run/saslauthd -a pam
|
||||||
|
cd /etc/mail && rm -f *.db && make && m4 sendmail.mc > sendmail.cf && /usr/sbin/sendmail -q1h -bD &
|
||||||
|
|
||||||
|
wait
|
||||||
|
else
|
||||||
|
exec $@
|
||||||
|
fi
|
Loading…
Reference in New Issue
Block a user