reworked letsencrypt to use docker containers instead of certbot on the host.

This commit is contained in:
2017-10-02 06:32:53 -04:00
parent de1e0d66c3
commit 92950ffd2d
57 changed files with 632 additions and 198 deletions

View File

@@ -0,0 +1,10 @@
FROM alpine:latest
MAINTAINER Richard Morgan
COPY ./periodic /etc/periodic/15min
# Run the command on container startup
#CMD cron && tail -f /var/log/cron.log
#CMD tail -f /var/log/cron.log
CMD crond -l 2 -f

View File

@@ -0,0 +1,38 @@
---
# docker-compose file for cron
# docker login dkregistry.xai-corp.net:5000
# docker-compose build && docker push dkregistry.xai-corp.net:5000/cron:latest
# DOCKER_HOST=dkhost:2376 docker stack deploy -c docker-compose.yml services
version: '3'
services:
cron:
image: "dkregistry.xai-corp.net:5000/cron:latest"
build:
context: ""
dockerfile: Dockerfile
deploy:
mode: replicated
replicas: 1
restart_policy:
condition: any
delay: "1s"
max_attempts: 3
resources:
limits:
cpus: '0.5'
memory: 256M
logging:
driver: syslog
options:
syslog-address: "tcp+tls://logs6.papertrailapp.com:38577"
tag: "{{.Name}}/{{.ID}}"
#networks:
# default:
# external:
# name: prod-private

View File

@@ -0,0 +1,3 @@
#!/bin/sh
echo "Hello world" >> /var/log/cron.log 2>&1

View File

@@ -0,0 +1,49 @@
---
# docker-compose file for graylog
# DOCKER_HOST=dkhost03:2376 docker-compose up -d
# DOCKER_HOST=dkhost03:2376 docker stack deploy -c docker-compose.yml services
version: '3'
services:
elasticsearch:
image: "elasticsearch:2"
# image: docker.elastic.co/elasticsearch/elasticsearch:5.4.1
command: "elasticsearch -Des.cluster.name='es.xai-corp.net'"
volumes:
- /data/elasticsearch/data:/usr/share/elasticsearch/data
- /data/elasticsearch/config:/usr/share/elasticsearch/config
ports:
# - "9350:9350"
# - "9300:9300"
- "9200:9200"
# - "10091:80"
deploy:
mode: replicated
replicas: 1
restart_policy:
condition: any
delay: "1s"
max_attempts: 1
resources:
limits:
cpus: '1'
memory: 512M
ui:
image: mobz/elasticsearch-head:2
ports:
- "1358:9100"
deploy:
mode: replicated
replicas: 1
restart_policy:
condition: any
delay: "1s"
max_attempts: 1
networks:
default:
external:
name: prod-private

View File

@@ -0,0 +1,33 @@
---
# docker-compose file for mysql
# DOCKER_HOST=dkhost:2376 docker-compose up -d
# DOCKER_HOST=dkhost:2376 docker stack deploy -c docker-compose.yml services
version: '3'
services:
mysql:
image: "mariadb:10"
volumes:
- /opt/shared/mariadb/data:/var/lib/mysql
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: "aifuoqibcqobcqb3"
deploy:
mode: replicated
replicas: 1
restart_policy:
condition: any
delay: "1s"
max_attempts: 3
resources:
limits:
cpus: '0.5'
memory: 512M
networks:
default:
external:
name: prod-private

View File

@@ -0,0 +1,32 @@
---
# docker-compose file for memcached
# DOCKER_HOST=dkhost:2376 docker-compose up -d
# DOCKER_HOST=dkhost:2376 docker stack deploy -c docker-compose.yml services
version: '3'
services:
memcached:
image: "memcached:alpine"
ports:
- "11211:11211"
command:
- memcached
- -m64
deploy:
mode: replicated
replicas: 1
restart_policy:
condition: any
delay: "1s"
max_attempts: 3
resources:
limits:
cpus: '0.5'
memory: 65M
networks:
default:
external:
name: prod-private

View File

@@ -0,0 +1,100 @@
---
#minio s3 clone
#https://docs.minio.io/docs/deploy-minio-on-docker-swarm
# DOCKER_HOST=dkhost:2376 docker-compose up -d
# DOCKER_HOST=dkhost:2376 docker stack deploy -c docker-compose.yml s3
version: '3.1'
services:
minio1:
image: minio/minio:RELEASE.2017-08-05T00-00-53Z
volumes:
- minio1-data:/export
ports:
- "9061:9000"
networks:
- minio_distributed
deploy:
restart_policy:
delay: 10s
max_attempts: 10
window: 60s
command: server http://s3_minio1/export
# command: server http://minio1/export http://minio2/export http://minio3/export http://minio4/export
secrets:
- s3_secret_key
- s3_access_key
# minio2:
# image: minio/minio:RELEASE.2017-08-05T00-00-53Z
# volumes:
# - minio2-data:/export
# ports:
# - "9062:9000"
# networks:
# - minio_distributed
# deploy:
# restart_policy:
# delay: 10s
# max_attempts: 10
# window: 60s
# command: server http://minio1/export http://minio2/export http://minio3/export http://minio4/export
# secrets:
# - s3_secret_key
# - s3_access_key
#
# minio3:
# image: minio/minio:RELEASE.2017-08-05T00-00-53Z
# volumes:
# - minio3-data:/export
# ports:
# - "9063:9000"
# networks:
# - minio_distributed
# deploy:
# restart_policy:
# delay: 10s
# max_attempts: 10
# window: 60s
# command: server http://minio1/export http://minio2/export http://minio3/export http://minio4/export
# secrets:
# - s3_secret_key
# - s3_access_key
#
# minio4:
# image: minio/minio:RELEASE.2017-08-05T00-00-53Z
# volumes:
# - minio4-data:/export
# ports:
# - "9064:9000"
# networks:
# - minio_distributed
# deploy:
# restart_policy:
# delay: 10s
# max_attempts: 10
# window: 60s
# command: server http://minio1/export http://minio2/export http://minio3/export http://minio4/export
# secrets:
# - s3_secret_key
# - s3_access_key
volumes:
minio1-data:
minio2-data:
minio3-data:
minio4-data:
networks:
minio_distributed:
driver: overlay
secrets:
s3_secret_key:
external: true
s3_access_key:
external: true

View File

@@ -0,0 +1,40 @@
---
# docker-compose file for graylog
# DOCKER_HOST=dkhost03:2376 docker-compose up -d
# DOCKER_HOST=dkhost03:2376 docker stack deploy -c docker-compose.yml services
version: '3'
services:
mongo:
image: "mongo:3"
volumes:
- /opt/shared/graylog/data/mongo:/data/db
# ports:
# - "27017:27017"
networks:
default:
aliases:
- nosql
# logging:
# driver: gelf
# options:
# gelf-address: "udp://logs.xai-corp.net:12201"
deploy:
mode: replicated
replicas: 1
restart_policy:
condition: any
delay: "1s"
max_attempts: 3
resources:
limits:
cpus: '0.5'
memory: 512M
networks:
default:
external:
name: prod-private

View File

@@ -0,0 +1,28 @@
---
# docker-compose file for redis
# DOCKER_HOST=dkhost:2376 docker stack deploy -c docker-compose.yml services
version: '3'
services:
redis:
image: "redis:4-alpine"
ports:
- "6379:6379"
deploy:
mode: replicated
replicas: 1
restart_policy:
condition: any
delay: "1s"
max_attempts: 3
resources:
limits:
cpus: '0.5'
memory: 256M
networks:
default:
external:
name: prod-private