feat: add db/postgresql
This commit is contained in:
parent
59d7a56f68
commit
b1085cd3de
84
db/postgresql/docker-compose.yml
Normal file
84
db/postgresql/docker-compose.yml
Normal file
@ -0,0 +1,84 @@
|
||||
version: "3.9"
|
||||
services:
|
||||
reverse-proxy:
|
||||
image: traefik:v2.5
|
||||
restart: always
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.traefik-dashboard.entrypoints=web"
|
||||
- "traefik.http.routers.traefik-dashboard.service=api@internal"
|
||||
- "traefik.http.routers.traefik-dashboard.rule=Host(`localhost`) && (PathPrefix(`/api`) || PathPrefix(`/dashboard`))"
|
||||
- "traefik.http.middlewares.traefik-dashboard.compress=true"
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||
ports:
|
||||
- "80:80"
|
||||
- "8082:8082"
|
||||
- "5432:5432"
|
||||
networks:
|
||||
- traefik
|
||||
command:
|
||||
- "--global.sendanonymoususage=false"
|
||||
- "--global.checknewversion=false"
|
||||
# EntryPoints
|
||||
- "--entrypoints.web.address=:80"
|
||||
- "--entrypoints.db-pg.address=:5432"
|
||||
- "--entryPoints.metrics.address=:8082"
|
||||
# Enable dashboard
|
||||
- "--api.dashboard=true"
|
||||
- "--api.insecure=true"
|
||||
- "--ping"
|
||||
# Provider
|
||||
- "--providers.docker.network=${TRAEFIK_NETWORK}"
|
||||
- "--providers.docker.watch=true"
|
||||
- "--providers.docker.exposedByDefault=false"
|
||||
# Metrics
|
||||
- "--metrics.prometheus.entryPoint=metrics"
|
||||
- "--metrics.prometheus.buckets=0.100000, 0.300000, 1.200000, 5.000000"
|
||||
- "--metrics.prometheus.addrouterslabels=true"
|
||||
- "--metrics.prometheus.addServicesLabels=true"
|
||||
# Tracing
|
||||
- "--tracing=true"
|
||||
- "--tracing.serviceName=traefik"
|
||||
- "--tracing.spanNameLimit=150"
|
||||
# Logging
|
||||
- "--log.filePath=/var/log/traefik.log"
|
||||
- "--log.format=json"
|
||||
- "--log.level=INFO"
|
||||
- "--accessLog.filepath=/var/log/access.log"
|
||||
- "--accessLog.format=json"
|
||||
- "--accessLog.bufferingsize=100"
|
||||
|
||||
postgres:
|
||||
image: postgres:14.1-alpine
|
||||
restart: always
|
||||
environment:
|
||||
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.tcp.routers.postgres.entrypoints=db-pg"
|
||||
- "traefik.tcp.routers.postgres.rule=HostSNI(`*`)"
|
||||
- "traefik.tcp.services.postgres.loadbalancer.server.port=5432"
|
||||
networks:
|
||||
- traefik
|
||||
|
||||
pgweb:
|
||||
image: sosedoff/pgweb
|
||||
environment:
|
||||
- "TZ=Asia/Shanghai"
|
||||
- "SESSIONS=1"
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.pgweb.rule=Host(`pgweb.localhost`)"
|
||||
- "traefik.http.routers.pgweb.entrypoints=web"
|
||||
- "traefik.http.routers.pgweb.middlewares=pgweb"
|
||||
- "traefik.http.middlewares.pgweb.compress=true"
|
||||
- "traefik.http.middlewares.pgweb.compress.excludedcontenttypes=text/event-stream"
|
||||
- "traefik.http.services.pgweb.loadbalancer.server.port=8081"
|
||||
networks:
|
||||
- traefik
|
||||
|
||||
networks:
|
||||
traefik:
|
||||
name: ${TRAEFIK_NETWORK}
|
||||
external: true
|
Loading…
x
Reference in New Issue
Block a user