docker-compose.yaml
Rama master · réplica de lectura del repositorio original.
services:
elevation:
image: racemap/elevation-service:v2.1.0
build:
context: .
dockerfile: Dockerfile
restart: unless-stopped
# Run an init (tini) as PID 1 so it reaps the short-lived bash processes
# the HEALTHCHECK spawns every interval; the elevation binary itself does
# not reap children, so without this they accumulate as <defunct> zombies.
init: true
mem_limit: ${MEMORY_LIMIT:-2G}
environment:
VIRTUAL_HOST: ${DOMAIN}
VIRTUAL_PORT: 3000
LETSENCRYPT_HOST: ${DOMAIN}
LETSENCRYPT_EMAIL: ${EMAIL}
TILE_SET_CACHE: ${TILE_SET_CACHE:-}
TILE_SET_PATH: ${TILE_SET_PATH:-}
MAX_POST_SIZE: ${MAX_POST_SIZE:-}
MAX_PARALLEL_PROCESSING: ${MAX_PARALLEL_PROCESSING:-}
MAX_THREADS: ${MAX_THREADS:-}
MAX_CONCURRENT_HANDLERS: ${MAX_CONCURRENT_HANDLERS:-}
PORT: 3000
BIND: 0.0.0.0
RUST_LOG: ${RUST_LOG:-info}
S3_ENDPOINT: ${S3_ENDPOINT:-}
S3_BUCKET: ${S3_BUCKET:-}
S3_ACCESS_KEY_ID: ${S3_ACCESS_KEY_ID:-}
S3_SECRET_ACCESS_KEY: ${S3_SECRET_ACCESS_KEY:-}
S3_REGION: ${S3_REGION:-}
expose:
- '3000'
profiles:
- production
nginx-proxy:
image: nginxproxy/nginx-proxy:1.7.1
container_name: nginx-proxy
restart: unless-stopped
ports:
- '80:80'
- '443:443'
environment:
TRUST_DOWNSTREAM_PROXY: false
volumes:
- /var/run/docker.sock:/tmp/docker.sock:ro
- certs:/etc/nginx/certs
- html:/usr/share/nginx/html
profiles:
- production
acme-companion:
image: nginxproxy/acme-companion:2.6.0
container_name: nginx-proxy-acme
restart: unless-stopped
depends_on:
- nginx-proxy
environment:
DEFAULT_EMAIL: ${EMAIL}
ACME_CHALLENGE: DNS-01
NGINX_PROXY_CONTAINER: nginx-proxy
ACMESH_DNS_API_CONFIG: |-
DNS_API: dns_cf
CF_Key: ${CF_API_KEY}
CF_Email: ${CF_EMAIL}
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- certs:/etc/nginx/certs
- html:/usr/share/nginx/html
- acme:/etc/acme.sh
profiles:
- production
volumes:
certs:
acme:
html: