Files
truenas-stacks/dev/docker-compose.yaml
Fizzlepoof 2e0bd6d49a feat: add git-crypt secrets repo setup and docs
- scripts/setup-secrets-repo.sh: replace dpkg-deb install with Docker method
- dev/docker-compose.yaml: add git-crypt-init service (profile: setup)
- docs/operations/SECRETS_MANAGEMENT.md: document git-crypt encrypted repo, unlock procedure, rebuild runbook, and TrueNAS install methods
2026-05-12 08:15:50 -05:00

82 lines
2.1 KiB
YAML

networks:
dev-net:
driver: bridge
ix-databases_shared-databases:
external: true
pangolin:
external: true
services:
gitea:
container_name: gitea
image: gitea/gitea:1.25.3
restart: unless-stopped
networks:
- dev-net
- ix-databases_shared-databases
- pangolin
ports:
- "3002:3000"
- "2222:22"
environment:
TZ: ${TZ}
USER_UID: ${PUID}
USER_GID: ${PGID}
GITEA__server__ROOT_URL: ${GITEA_ROOT_URL}
GITEA__server__HTTP_PORT: 3000
GITEA__database__DB_TYPE: postgres
GITEA__database__HOST: shared-postgres:5432
GITEA__database__NAME: ${GITEA_DB_NAME}
GITEA__database__USER: ${GITEA_DB_USER}
GITEA__database__PASSWD: ${GITEA_DB_PASS}
volumes:
- /mnt/docker-ssd/docker/appdata/gitea:/data
healthcheck:
test: ["CMD-SHELL", "curl -sf http://127.0.0.1:3000/ || exit 1"]
interval: 30s
timeout: 10s
retries: 3
start_period: 30s
# Run once to install git-crypt on the TrueNAS host (apt is blocked there).
# Usage: docker compose --profile setup up git-crypt-init
git-crypt-init:
container_name: git-crypt-init
image: debian:bookworm-slim
profiles:
- setup
restart: "no"
volumes:
- /root/bin:/out
command: >
bash -c "
apt-get update -qq &&
apt-get install -y -qq git-crypt &&
cp /usr/bin/git-crypt /out/git-crypt &&
chmod +x /out/git-crypt &&
echo 'git-crypt installed to /root/bin/git-crypt'
"
rackpeek:
container_name: ix-rackpeek-rackpeek-1
image: aptacode/rackpeek:latest
restart: unless-stopped
networks:
- dev-net
- pangolin
ports:
- "8283:8080"
environment:
TZ: ${TZ}
RPK_YAML_DIR: /app/config
volumes:
- /mnt/tank/docker/appdata/app/rackpeek/config:/app/config
- /mnt/tank/docker/appdata/app/rackpeek/dpkeys:/home/app/.aspnet/DataProtection-Keys
healthcheck:
test: ["CMD-SHELL", "cat /proc/net/tcp6 | grep -q 1F90 || exit 1"]
interval: 30s
timeout: 10s
retries: 3
start_period: 30s