services:
qsshd:
build:
context: .
args:
FEATURES: "sftp,hybrid-kex"
container_name: qsshd-server
ports:
- "0.0.0.0:22222:22222"
volumes:
- qssh_etc:/etc/qssh
- qssh_home:/home
- qssh_logs:/var/log/qssh
environment:
- QSSH_LOG_LEVEL=info
- QSSH_MAX_CONNECTIONS=100
restart: unless-stopped
healthcheck:
test: ["CMD-SHELL", "bash -c 'echo > /dev/tcp/localhost/22222' 2>/dev/null"]
interval: 30s
timeout: 3s
retries: 3
start_period: 10s
networks:
qssh_network:
ipv4_address: 172.21.0.10
qsshd-hardened:
build:
context: .
args:
FEATURES: "sftp,quantum-native"
container_name: qsshd-hardened
ports:
- "0.0.0.0:22223:22222"
volumes:
- qssh_hardened_etc:/etc/qssh
- qssh_hardened_home:/home
- qssh_hardened_logs:/var/log/qssh
environment:
- QSSH_LOG_LEVEL=info
restart: unless-stopped
networks:
qssh_network:
ipv4_address: 172.21.0.11
profiles:
- hardened
qssh-client:
build: .
container_name: qssh-client
depends_on:
qsshd:
condition: service_healthy
volumes:
- qssh_client_keys:/home/qssh/.qssh
environment:
- QSSH_LOG_LEVEL=debug
networks:
- qssh_network
entrypoint: ["/bin/bash"]
command: ["-c", "sleep infinity"]
profiles:
- client
pqtg:
image: paraxiom/coherence-shield:latest
container_name: pqtg-gateway
ports:
- "127.0.0.1:8443:8443"
environment:
- PQTG_MODE=simulator
- PQTG_KEY_RATE=1000
networks:
qssh_network:
ipv4_address: 172.21.0.20
profiles:
- qkd
coherence-shield:
image: paraxiom/coherence-shield:latest
container_name: coherence-shield
ports:
- "127.0.0.1:3080:3080"
volumes:
- shield_keys:/root/.coherence-shield/keys
- shield_audit:/root/.coherence-shield
networks:
qssh_network:
ipv4_address: 172.21.0.30
profiles:
- shield
networks:
qssh_network:
driver: bridge
ipam:
config:
- subnet: 172.21.0.0/16
volumes:
qssh_etc:
qssh_home:
qssh_logs:
qssh_client_keys:
qssh_hardened_etc:
qssh_hardened_home:
qssh_hardened_logs:
shield_keys:
shield_audit: