init: Postgres + pgAdmin + WAL-G compose snapshot

This commit is contained in:
2026-05-23 09:46:28 +02:00
parent b6a389071a
commit fad768d2ed
5 changed files with 114 additions and 1 deletions
+4
View File
@@ -0,0 +1,4 @@
POSTGRES_PASSWORD=<strong-password>
PGADMIN_DEFAULT_EMAIL=fkrebs@nucli.de
PGADMIN_DEFAULT_PASSWORD=<password>
WAL_G_S3_PREFIX=s3://homelab-backups/wal-g/db
+4
View File
@@ -0,0 +1,4 @@
.env
.env.*
!.env.example
data/
+5 -1
View File
@@ -1,3 +1,7 @@
# ct113-db # ct113-db
Shared Postgres + pgAdmin compose (CT 113) Shared Postgres 17 + pgAdmin + WAL-G compose for CT 113 (192.168.1.6).
Auto-synced daily at 03:15 from CT 113.
Stack: `/opt/stacks/db/`
+88
View File
@@ -0,0 +1,88 @@
services:
postgres:
image: postgres:17
container_name: postgres
restart: unless-stopped
shm_size: "256mb"
volumes:
- ./data:/var/lib/postgresql/data
- ./wal-g/wal-g:/usr/local/bin/wal-g:ro
environment:
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
PGUSER: postgres
PGHOST: /var/run/postgresql
PGPORT: "5432"
WALG_S3_PREFIX: s3://ct113-pg-backup/
AWS_ENDPOINT: http://192.168.1.40:10004
AWS_ACCESS_KEY_ID: ${WALG_S3_ACCESS_KEY}
AWS_SECRET_ACCESS_KEY: ${WALG_S3_SECRET_KEY}
AWS_REGION: us-east-1
AWS_S3_FORCE_PATH_STYLE: "true"
ports:
- "192.168.1.6:5432:5432"
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres"]
interval: 10s
timeout: 5s
retries: 5
deploy:
resources:
limits:
cpus: "2.0"
memory: 1G
arcane-agent:
image: ghcr.io/getarcaneapp/arcane-headless:latest
container_name: arcane-agent
restart: unless-stopped
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./arcane-agent:/app/data
environment:
EDGE_AGENT: "true"
EDGE_TRANSPORT: poll
AGENT_TOKEN: ${ARCANE_AGENT_TOKEN}
MANAGER_API_URL: http://192.168.1.8:10002
deploy:
resources:
limits:
cpus: "0.5"
memory: 256M
pgadmin:
image: dpage/pgadmin4:latest
container_name: pgadmin
restart: unless-stopped
ports:
- "5050:80"
volumes:
- ./pgadmin:/var/lib/pgadmin
- ./pgadmin-servers.json:/pgadmin4/servers.json:ro
environment:
PGADMIN_DEFAULT_EMAIL: ${PGADMIN_EMAIL}
PGADMIN_DEFAULT_PASSWORD: ${PGADMIN_PASSWORD}
PGADMIN_CONFIG_SERVER_MODE: "False"
PGADMIN_CONFIG_MASTER_PASSWORD_REQUIRED: "False"
depends_on:
postgres:
condition: service_healthy
deploy:
resources:
limits:
cpus: "0.5"
memory: 512M
dozzle-agent:
image: amir20/dozzle:latest
container_name: dozzle-agent
command: agent
restart: unless-stopped
volumes:
- /var/run/docker.sock:/var/run/docker.sock
ports:
- '7007:7007'
deploy:
resources:
limits:
cpus: '0.25'
memory: 64M
+13
View File
@@ -0,0 +1,13 @@
{
"Servers": {
"1": {
"Name": "CT113 postgres",
"Group": "nuclide",
"Host": "postgres",
"Port": 5432,
"MaintenanceDB": "postgres",
"Username": "postgres",
"SSLMode": "prefer"
}
}
}