docker-compose.yml
Rama main · réplica de lectura del repositorio original.
services:
xopc-gateway:
image: ${XOPC_IMAGE:-xopc:local}
build:
context: .
args:
XOPC_APT_MIRROR: ${XOPC_APT_MIRROR:-}
XOPC_IMAGE_APT_PACKAGES: ${XOPC_IMAGE_APT_PACKAGES:-}
XOPC_INSTALL_BROWSER: ${XOPC_INSTALL_BROWSER:-}
env_file:
- path: .env
required: false
environment:
HOME: /home/node
XOPC_HOME: /home/node
XOPC_STATE_DIR: /home/node/.xopc
XOPC_CONFIG: /home/node/.xopc/xopc.json
XOPC_CONFIG_PATH: /home/node/.xopc/xopc.json
XOPC_WORKSPACE: /home/node/.xopc/workspace
XOPC_LOG_DIR: /home/node/.xopc/logs
XOPC_GATEWAY_TOKEN: ${XOPC_GATEWAY_TOKEN:-}
TERM: xterm-256color
TZ: ${XOPC_TZ:-UTC}
volumes:
- "${XOPC_STATE_DIR:-${HOME:-/tmp}/.xopc}:/home/node/.xopc"
- "${XOPC_WORKSPACE:-${HOME:-/tmp}/.xopc/workspace}:/home/node/.xopc/workspace"
cap_drop:
- NET_RAW
- NET_ADMIN
security_opt:
- no-new-privileges:true
extra_hosts:
- "host.docker.internal:host-gateway"
ports:
- "${XOPC_GATEWAY_PORT:-18790}:18790"
init: true
restart: unless-stopped
command:
[
"node",
"dist/src/cli/bin.js",
"gateway",
"--bind",
"lan",
"--port",
"18790"
]
healthcheck:
test:
[
"CMD",
"node",
"-e",
"fetch('http://127.0.0.1:18790/api/health').then((response)=>process.exit(response.ok?0:1)).catch(()=>process.exit(1))"
]
interval: 30s
timeout: 5s
retries: 5
start_period: 20s
xopc-cli:
image: ${XOPC_IMAGE:-xopc:local}
network_mode: "service:xopc-gateway"
env_file:
- path: .env
required: false
environment:
HOME: /home/node
XOPC_HOME: /home/node
XOPC_STATE_DIR: /home/node/.xopc
XOPC_CONFIG: /home/node/.xopc/xopc.json
XOPC_CONFIG_PATH: /home/node/.xopc/xopc.json
XOPC_WORKSPACE: /home/node/.xopc/workspace
XOPC_LOG_DIR: /home/node/.xopc/logs
XOPC_GATEWAY_TOKEN: ${XOPC_GATEWAY_TOKEN:-}
BROWSER: echo
TERM: xterm-256color
TZ: ${XOPC_TZ:-UTC}
volumes:
- "${XOPC_STATE_DIR:-${HOME:-/tmp}/.xopc}:/home/node/.xopc"
- "${XOPC_WORKSPACE:-${HOME:-/tmp}/.xopc/workspace}:/home/node/.xopc/workspace"
cap_drop:
- NET_RAW
- NET_ADMIN
security_opt:
- no-new-privileges:true
stdin_open: true
tty: true
init: true
entrypoint: ["node", "dist/src/cli/bin.js"]
depends_on:
- xopc-gateway
profiles:
- cli