chore: add Arcane and Dockhand TrueNAS compose files
This commit is contained in:
51
arcane-truenas-compose.yml
Normal file
51
arcane-truenas-compose.yml
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
# ============================================
|
||||||
|
# Arcane — TrueNAS Compose Draft
|
||||||
|
# ============================================
|
||||||
|
# Target: TrueNAS regular Docker / Portainer Compose deployment.
|
||||||
|
# Source pattern:
|
||||||
|
# - TrueNAS Docker data root: /mnt/HomeStorage02/Docker/<ContainerName>/...
|
||||||
|
# - Container user convention: PUID=568 / PGID=568 where supported.
|
||||||
|
#
|
||||||
|
# Deploy after review:
|
||||||
|
# docker compose --env-file arcane-truenas.env -f arcane-truenas-compose.yml up -d
|
||||||
|
#
|
||||||
|
# Validate:
|
||||||
|
# docker compose --env-file arcane-truenas.env.example -f arcane-truenas-compose.yml config
|
||||||
|
#
|
||||||
|
# Notes:
|
||||||
|
# - Arcane needs access to /var/run/docker.sock to manage the local Docker host.
|
||||||
|
# - Keep ENCRYPTION_KEY and JWT_SECRET runtime-only; generate them on TrueNAS.
|
||||||
|
# - Keep the Docker socket exposure LAN/VPN-only; do not expose this UI publicly.
|
||||||
|
# - ARCANE_PROJECTS_DIRECTORY is bind-mounted at the same host/container path so
|
||||||
|
# Arcane-created Compose projects resolve correctly on the Docker host.
|
||||||
|
# ============================================
|
||||||
|
|
||||||
|
services:
|
||||||
|
arcane:
|
||||||
|
image: ${ARCANE_IMAGE:-ghcr.io/getarcaneapp/manager}:${ARCANE_TAG:-latest}
|
||||||
|
container_name: arcane
|
||||||
|
restart: unless-stopped
|
||||||
|
init: true
|
||||||
|
ports:
|
||||||
|
- "${ARCANE_HTTP_PORT:-3552}:3552"
|
||||||
|
environment:
|
||||||
|
ENCRYPTION_KEY: ${ENCRYPTION_KEY:?set ENCRYPTION_KEY in arcane-truenas.env}
|
||||||
|
JWT_SECRET: ${JWT_SECRET:?set JWT_SECRET in arcane-truenas.env}
|
||||||
|
PROJECTS_DIRECTORY: ${ARCANE_PROJECTS_DIRECTORY:-/mnt/HomeStorage02/Docker/Arcane/projects}
|
||||||
|
TZ: ${TZ:-America/Chicago}
|
||||||
|
PUID: ${PUID:-568}
|
||||||
|
PGID: ${PGID:-568}
|
||||||
|
volumes:
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
- ${TRUENAS_DOCKER_ROOT:-/mnt/HomeStorage02/Docker}/Arcane/data:/app/data
|
||||||
|
- ${ARCANE_PROJECTS_DIRECTORY:-/mnt/HomeStorage02/Docker/Arcane/projects}:${ARCANE_PROJECTS_DIRECTORY:-/mnt/HomeStorage02/Docker/Arcane/projects}
|
||||||
|
- ${TRUENAS_DOCKER_ROOT:-/mnt/HomeStorage02/Docker}/Arcane/builds:/builds
|
||||||
|
cgroup: host
|
||||||
|
security_opt:
|
||||||
|
- no-new-privileges:true
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "./arcane", "health", "--timeout", "2s"]
|
||||||
|
interval: 10s
|
||||||
|
timeout: 3s
|
||||||
|
retries: 5
|
||||||
|
start_period: 15s
|
||||||
24
arcane-truenas.env.example
Normal file
24
arcane-truenas.env.example
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
# Arcane TrueNAS environment example for Wheelz's HomeLab.
|
||||||
|
# Copy to arcane-truenas.env on TrueNAS/Portainer and fill runtime-only values there.
|
||||||
|
# Do not commit real secrets.
|
||||||
|
|
||||||
|
ARCANE_IMAGE=ghcr.io/getarcaneapp/manager
|
||||||
|
ARCANE_TAG=latest
|
||||||
|
ARCANE_HTTP_PORT=3552
|
||||||
|
TZ=America/Chicago
|
||||||
|
|
||||||
|
# Wheelz TrueNAS Docker directory pattern.
|
||||||
|
TRUENAS_DOCKER_ROOT=/mnt/HomeStorage02/Docker
|
||||||
|
PUID=568
|
||||||
|
PGID=568
|
||||||
|
|
||||||
|
# Arcane secrets. Generate on the deployment host and do not commit real values.
|
||||||
|
# Example commands:
|
||||||
|
# openssl rand -hex 32
|
||||||
|
# openssl rand -hex 32
|
||||||
|
ENCRYPTION_KEY=replace_me_with_a_random_32_byte_hex_value
|
||||||
|
JWT_SECRET=replace_me_with_a_random_32_byte_hex_value
|
||||||
|
|
||||||
|
# Arcane Compose project storage. This path is mounted into the container at the
|
||||||
|
# same path so Docker can resolve project files from the host side.
|
||||||
|
ARCANE_PROJECTS_DIRECTORY=/mnt/HomeStorage02/Docker/Arcane/projects
|
||||||
37
dockhand-truenas-compose.yml
Normal file
37
dockhand-truenas-compose.yml
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
# ============================================
|
||||||
|
# Dockhand — TrueNAS Compose Draft
|
||||||
|
# ============================================
|
||||||
|
# Target: TrueNAS regular Docker / Portainer Compose deployment.
|
||||||
|
# Source pattern:
|
||||||
|
# - TrueNAS Docker data root: /mnt/HomeStorage02/Docker/<ContainerName>/...
|
||||||
|
# - Container user convention: PUID=568 / PGID=568 where supported.
|
||||||
|
#
|
||||||
|
# Deploy after review:
|
||||||
|
# docker compose --env-file dockhand-truenas.env -f dockhand-truenas-compose.yml up -d
|
||||||
|
#
|
||||||
|
# Validate:
|
||||||
|
# docker compose --env-file dockhand-truenas.env.example -f dockhand-truenas-compose.yml config
|
||||||
|
#
|
||||||
|
# Notes:
|
||||||
|
# - Dockhand needs access to /var/run/docker.sock to manage the local Docker host.
|
||||||
|
# - Keep the Docker socket exposure LAN/VPN-only; do not expose this UI publicly.
|
||||||
|
# - Persistent app data is stored under /app/data.
|
||||||
|
# ============================================
|
||||||
|
|
||||||
|
services:
|
||||||
|
dockhand:
|
||||||
|
image: ${DOCKHAND_IMAGE:-fnsys/dockhand}:${DOCKHAND_TAG:-latest}
|
||||||
|
container_name: dockhand
|
||||||
|
restart: unless-stopped
|
||||||
|
init: true
|
||||||
|
ports:
|
||||||
|
- "${DOCKHAND_HTTP_PORT:-3000}:3000"
|
||||||
|
environment:
|
||||||
|
TZ: ${TZ:-America/Chicago}
|
||||||
|
PUID: ${PUID:-568}
|
||||||
|
PGID: ${PGID:-568}
|
||||||
|
volumes:
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
- ${TRUENAS_DOCKER_ROOT:-/mnt/HomeStorage02/Docker}/Dockhand/data:/app/data
|
||||||
|
security_opt:
|
||||||
|
- no-new-privileges:true
|
||||||
13
dockhand-truenas.env.example
Normal file
13
dockhand-truenas.env.example
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
# Dockhand TrueNAS environment example for Wheelz's HomeLab.
|
||||||
|
# Copy to dockhand-truenas.env on TrueNAS/Portainer and adjust runtime values there.
|
||||||
|
# Do not commit real secrets.
|
||||||
|
|
||||||
|
DOCKHAND_IMAGE=fnsys/dockhand
|
||||||
|
DOCKHAND_TAG=latest
|
||||||
|
DOCKHAND_HTTP_PORT=3000
|
||||||
|
TZ=America/Chicago
|
||||||
|
|
||||||
|
# Wheelz TrueNAS Docker directory pattern.
|
||||||
|
TRUENAS_DOCKER_ROOT=/mnt/HomeStorage02/Docker
|
||||||
|
PUID=568
|
||||||
|
PGID=568
|
||||||
Reference in New Issue
Block a user