Comments (1)
To use K8s
, Mesos
, Azure
, Amazon
and Docker
containers, the best use case would be Traefik. You don't even need to get acme certificates, they will be obtained automatically via labels
docker.
traefik.sample.toml
defaultEntryPoints = ["https","http"]
[api]
entryPoint = "traefik"
dashboard = true
[entryPoints]
[entryPoints.http]
address = ":80"
[entryPoints.http.redirect]
entryPoint = "https"
[entryPoints.https]
address = ":443"
[entryPoints.https.tls]
minVersion = "VersionTLS12"
cipherSuites = [
"TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305",
"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
"TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256",
"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA",
"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA"
]
[entryPoints.traefik]
address = ":8080"
[entryPoints.traefik.auth.basic]
# htpasswd generator http://aspirine.org/htpasswd_en.html
users = ["admin:{SHA}+PIaguDtkVBQxIqPMrnJpVeovVA="]
[acme]
email = "{{ admin-notify-email }}"
storage = "/etc/traefik/acme/acme.json"
entryPoint = "https"
onHostRule = true
[acme.tlsChallenge]
[docker]
endpoint = "unix:///var/run/docker.sock"
domain = "{{ your-domain }}"
watch = true
exposedbydefault = false
docker-compose.yml
version: "3"
services:
traefik:
image: traefik:1.7-alpine
container_name: traefik
ports:
- "80:80"
- "443:443"
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro # monitoring docker labels "traefik.*"
- ./traefik/traefik.toml:/traefik.toml:ro # traefik.toml
- ./traefik/acme:/etc/traefik/acme # Storage for ACME / Let's Encrypt certificates
postal:
image: catdeployed/postal:alpine
container_name: postal
command: run
labels:
- traefik.enable=true
- traefik.frontend.rule=Host:postaldomain # domain
- traefik.port=80 # Port inside the container to return traffic to http://traefik:80 & tls://traefik:443
ports:
- 127.0.0.1:25:25
depends_on:
- "mysql"
- "rabbitmq"
volumes:
- static_assets:/opt/postal/public
- ./data/postal/assets:/opt/postal/public/assets
- ./src/templates/:/templates
environment:
- MYSQL_ROOT_PASSWORD=changeme
- MYSQL_DATABASE=postal
- RABBITMQ_DEFAULT_USER=postal
- RABBITMQ_DEFAULT_PASS=changeme
- RABBITMQ_DEFAULT_VHOST=postal
mysql:
image: mariadb:10
container_name: postal_mysql
volumes:
- ./data/mysql:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=changeme
- MYSQL_DATABASE=postal
rabbitmq:
image: rabbitmq:3-alpine
container_name: postal_rabbitmq
environment:
- RABBITMQ_DEFAULT_USER=postal
- RABBITMQ_DEFAULT_PASS=changeme
- RABBITMQ_DEFAULT_VHOST=/postal
volumes:
static_assets:
from docker-postal.
Related Issues (20)
- NoMethodError (undefined method `new' for BigDecimal:Class)
- Redirect Issue with Alt Port HOT 2
- config needs to be bound to the host HOT 2
- Front office JS & CSS dependencies broken HOT 4
- Postal-app will not restart HOT 3
- editing postal.yml HOT 1
- default dkim record HOT 1
- Worker process fails to start when app starts before rabbitmq HOT 1
- [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
- Database re-initialized every time container is recreated HOT 1
- unable to run: rake aborted HOT 4
- Bootstrapping Automation HOT 1
- Can I pass in my own MYSQL_HOST ?
- Login Fails with Alpine,works w/ Ubuntu HOT 1
- docker-compose not working HOT 5
- How do I restart this service ? HOT 1
- how to run in localhost
- Postal admin user creation error HOT 5
- fix wrapper.sh HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from docker-postal.