fix(conpot): use honeynet/conpot:latest base, run as conpot user

The BASE_IMAGE build arg was being unconditionally overwritten by
composer.py with the decky's distro build_base (debian:bookworm-slim),
turning the conpot container into a bare Debian image with no conpot
installation — hence the silent restart loop.

Two fixes:
1. composer.py: use args.setdefault() so services that pre-declare
   BASE_IMAGE in their compose_fragment() win over the distro default.
2. conpot.py: pre-declare BASE_IMAGE=honeynet/conpot:latest in build
   args so it always uses the upstream image regardless of decky distro.

Also removed the USER decnet switch from the conpot Dockerfile. The
upstream image already runs as the non-root 'conpot' user; switching to
'decnet' broke pkg_resources because conpot's eggs live under
/home/conpot/.local and are only on sys.path for that user.
This commit is contained in:
2026-04-11 03:32:11 -04:00
parent c7713c6228
commit fe46b8fc0b
3 changed files with 14 additions and 16 deletions

View File

@@ -1,4 +1,3 @@
import os
from pathlib import Path
from decnet.services.base import BaseService
@@ -24,7 +23,8 @@ class ConpotService(BaseService):
return {
"build": {
"context": str(self.dockerfile_context())
"context": str(self.dockerfile_context()),
"args": {"BASE_IMAGE": "honeynet/conpot:latest"},
},
"container_name": f"{decky_name}-conpot",
"restart": "unless-stopped",