The first real deploy failed with "port '8091' is already in use by service 'ai-training-lab_ai-lab' as an ingress port". Worth noting the port answered nothing when probed over HTTP — a Swarm ingress reservation survives the service behind it being down, so probing is not a way to find a free port. 5910 is VNC display :10 and sits clear of the 809x web-app block. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
44 lines
1.6 KiB
YAML
44 lines
1.6 KiB
YAML
# Deployed to Portainer (Swarm endpoint) by .gitea/workflows/deploy.yml.
|
|
# ${IMAGE} and the secrets below are injected as env_data at deploy time.
|
|
#
|
|
# Two constraints this stack cannot break:
|
|
# 1. exactly one replica — agent control sockets and live sessions are held in
|
|
# process memory, so a second replica would not see the first one's agents;
|
|
# 2. pinned placement — the SQLite volume is node-local, so the task has to
|
|
# come back to the same node or it wakes up with an empty database.
|
|
services:
|
|
remote-control-support:
|
|
image: ${IMAGE:-git.mancinas.io/rmancinas/remote-control-support-webapp:latest}
|
|
ports:
|
|
# 8091 is reserved on the Swarm ingress by ai-training-lab_ai-lab, and a
|
|
# reservation holds even when nothing is answering on it — so this sits
|
|
# well clear of the 809x block. 5910 is VNC display :10, which is at least
|
|
# a hint about what is listening.
|
|
- "5910:8080"
|
|
environment:
|
|
DB_PATH: /data/rcs.db
|
|
TRUST_PROXY: "true"
|
|
AUTH_URL: ${AUTH_URL:-http://192.168.4.208:8000}
|
|
ADMIN_USERS: ${ADMIN_USERS:-}
|
|
ADMIN_LEVEL: ${ADMIN_LEVEL:-}
|
|
ENCRYPTION_KEY: ${ENCRYPTION_KEY:-}
|
|
PUBLIC_URL: ${PUBLIC_URL:-}
|
|
ALLOW_SESSION_INVITES: ${ALLOW_SESSION_INVITES:-true}
|
|
volumes:
|
|
- rcs_data:/data
|
|
deploy:
|
|
replicas: 1
|
|
placement:
|
|
constraints:
|
|
- node.role == manager
|
|
update_config:
|
|
# start-first would briefly run two containers against one SQLite file.
|
|
order: stop-first
|
|
failure_action: rollback
|
|
restart_policy:
|
|
condition: any
|
|
delay: 10s
|
|
|
|
volumes:
|
|
rcs_data:
|