-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.dev.yml
More file actions
45 lines (42 loc) · 1.46 KB
/
Copy pathdocker-compose.dev.yml
File metadata and controls
45 lines (42 loc) · 1.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# Control plane do LiteDock: Postgres + Redis do PAINEL (estado interno).
# ISOLAMENTO:
# - portas só no loopback (127.0.0.1) e fora das faixas de produção
# (5440->5432, 6390->6379) -> nenhum container de cliente alcança o host loopback
# - rede dedicada `litedock_internal`: NENHUM app de cliente entra aqui. Os apps
# rodam em `litedock-net-<projeto>` (rede própria por projeto) e o Traefik faz
# só o ingress HTTP. Assim o banco/estado do painel fica invisível pros clientes.
# - NÃO é `internal: true` de propósito: as portas publicadas em loopback (que a
# API/worker do host usam pra conectar) deixam de funcionar em rede internal.
services:
db:
image: postgres:16-alpine
container_name: litedock-pg
restart: unless-stopped
environment:
POSTGRES_USER: litedock
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:?defina no .env}
POSTGRES_DB: litedock
ports:
- "127.0.0.1:5440:5432"
volumes:
- litedock_pgdata:/var/lib/postgresql/data
networks:
- litedock_internal
redis:
image: redis:7-alpine
container_name: litedock-redis
restart: unless-stopped
command: ["redis-server", "--requirepass", "${REDIS_PASSWORD:?defina no .env}"]
ports:
- "127.0.0.1:6390:6379"
volumes:
- litedock_redisdata:/data
networks:
- litedock_internal
volumes:
litedock_pgdata:
litedock_redisdata:
networks:
litedock_internal:
name: litedock_internal
driver: bridge