diff --git a/config-files/portainer.yml b/config-files/portainer.yml deleted file mode 100644 index 513d3b0..0000000 --- a/config-files/portainer.yml +++ /dev/null @@ -1,17 +0,0 @@ -version: '3.0' - -services: - portainer: - container_name: portainer - image: portainer/portainer-ce:latest - restart: always - stdin_open: true - tty: true - network_mode: bridge - ports: - - "9000:9000/tcp" - environment: - - TZ=Europe/Amsterdam - volumes: - - /var/run/docker.sock:/var/run/docker.sock - - /opt/portainer:/data \ No newline at end of file diff --git a/config-files/traefik.labels b/config-files/traefik.labels index 0dcda6f..0aa0c60 100755 --- a/config-files/traefik.labels +++ b/config-files/traefik.labels @@ -1,5 +1,5 @@ traefik.enable=true -traefik.http.routers..entrypoints={web/websecure/webfederation} +traefik.http.routers..entrypoints={web,websecure,webfederation} traefik.http.routers..rule=Host("") traefik.http.routers..tls=true traefik.http.routers..tls.certresolver={staging/production} diff --git a/docker-compose/base.yaml b/docker-compose/base.yaml new file mode 100644 index 0000000..c2f2a6f --- /dev/null +++ b/docker-compose/base.yaml @@ -0,0 +1,34 @@ +version: '3.0' + +services: + portainer: + container_name: portainer + image: portainer/portainer-ce:alpine + network_mode: bridge + ports: + - "9000:9000/tcp" + volumes: + - /etc/localtime/:/etc/localtime:ro + - /var/run/docker.sock:/var/run/docker.sock + - ~/docker/portainer:/data + restart: always + + watchtower: + container_name: watchtower + image: containrrr/watchtower:latest + network_mode: bridge + volumes: + - /etc/localtime:/etc/localtime:ro + - /var/run/docker.sock:/var/run/docker.sock + environment: + WATCHTOWER_NOTIFICATION_EMAIL_FROM = info@{domain} + WATCHTOWER_NOTIFICATION_EMAIL_TO=user@{domain} + WATCHTOWER_NOTIFICATION_EMAIL_SERVER=mail.{domain} + WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PORT=465 + WATCHTOWER_NOTIFICATION_EMAIL_SERVER_USER=info + WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD={passwd} + WATCHTOWER_NOTIFICATION_EMAIL_DELAY=2 + WATCHTOWER_NOTIFICATIONS=email + WATCHTOWER_SCHEDULE=0 0 0 * * 6 + WATCHTOWER_CLEANUP=true + restart: unless-stopped \ No newline at end of file diff --git a/config-files/traefik.yml b/docker-compose/traefik.yaml similarity index 97% rename from config-files/traefik.yml rename to docker-compose/traefik.yaml index 118dff3..4c4b721 100755 --- a/config-files/traefik.yml +++ b/docker-compose/traefik.yaml @@ -4,7 +4,6 @@ services: traefik: container_name: traefik image: traefik:latest - restart: unless-stopped command: #- --api.insecure=true #- --api.dashboard=true @@ -27,18 +26,19 @@ services: - --certificatesresolvers.production.acme.storage=/ssl-certs/acme.json - --certificatesresolvers.production.acme.caServer=https://acme-v02.api.letsencrypt.org/directory - --certificatesresolvers.production.acme.httpChallenge.entryPoint=web + networks: + proxy: + ipv4_address: 172.21.0.80 ports: - "80:80" - "443:443" #- "8080:8080" - "8448:8448" - networks: - proxy: - ipv4_address: 172.21.0.80 volumes: - /etc/localtime:/etc/localtime:ro - /opt/traefik/ssl-certs:/ssl-certs - /var/run/docker.sock:/var/run/docker.sock:ro + restart: unless-stopped networks: proxy: diff --git a/dockerfile/git-mkdocs/dev-mkdocs.dockerfile b/dockerfile/git-mkdocs/dev-mkdocs.dockerfile new file mode 100644 index 0000000..005a553 --- /dev/null +++ b/dockerfile/git-mkdocs/dev-mkdocs.dockerfile @@ -0,0 +1,15 @@ +FROM python:3-alpine + +ARG USER=1001 + +RUN adduser -h /usr/src/mkdocs -D -u $USER mkdocs + +USER mkdocs +RUN mkdir -p /usr/src/mkdocs/build +WORKDIR /usr/src/mkdocs/build + +RUN pip install --upgrade pip + +RUN pip install pymdown-extensions \ +&& pip install mkdocs \ +&& pip install mkdocs-material \ No newline at end of file diff --git a/dockerfile/git-mkdocs/git-mkdocs.dockerfile b/dockerfile/git-mkdocs/git-mkdocs.dockerfile new file mode 100644 index 0000000..c077cb1 --- /dev/null +++ b/dockerfile/git-mkdocs/git-mkdocs.dockerfile @@ -0,0 +1,24 @@ +FROM nginx:alpine + +RUN apk add git \ + && apk add python3 py3-pip + +ENV GIT_REPO_URL='' \ + GIT_REPO_NAME='' + +RUN mkdir /mkdocs +WORKDIR /mkdocs + +RUN pip install --upgrade pip + +RUN pip install pymdown-extensions \ + && pip install mkdocs \ + && pip install mkdocs-material + +COPY root /etc/crontabs/root +COPY git-mkdocs /bin/git-mkdocs +RUN chmod 744 /bin/git-mkdocs + +RUN touch /docker-entrypoint.d/cron.sh \ + && echo "exec crond" > /docker-entrypoint.d/cron.sh \ + && chmod 776 /docker-entrypoint.d/cron.sh \ No newline at end of file diff --git a/dockerfile/git-mkdocs/scripts/git-mkdocs b/dockerfile/git-mkdocs/scripts/git-mkdocs new file mode 100644 index 0000000..5bff5a5 --- /dev/null +++ b/dockerfile/git-mkdocs/scripts/git-mkdocs @@ -0,0 +1,5 @@ +#!/bin/sh +git clone $GIT_REPO_URL +cd /mkdocs/$GIT_REPO_NAME +git pull +mkdocs build -f /mkdocs/$GIT_REPO_NAME/mkdocs.yml -d /usr/share/nginx/html \ No newline at end of file diff --git a/dockerfile/git-mkdocs/scripts/root b/dockerfile/git-mkdocs/scripts/root new file mode 100644 index 0000000..6379663 --- /dev/null +++ b/dockerfile/git-mkdocs/scripts/root @@ -0,0 +1,3 @@ +# do daily/weekly/monthly maintanance +# min hour day month weekday command + * * * * * git-mkdocs \ No newline at end of file