name: ikar_server services: ikar_server: image: ikar_server:20261006 container_name: ikar_server restart: unless-stopped user: "1000:1000" env_file: /mnt/data/ikar_server/shared/server.env ports: - "127.0.0.1:5099:5099" volumes: - /mnt/data/ikar_server/shared/data:/app/Data - /mnt/data/ikar_server/backups:/backups:ro environment: Backup__Directory: /backups Backup__RequireFreshBackup: "true" DOTNET_GCHeapHardLimit: "0x20000000" IkarUpdates__LocalOnly: "true" mem_limit: 768m cpus: 1.5 pids_limit: 256 security_opt: - no-new-privileges:true cap_drop: [ALL] logging: driver: json-file options: {max-size: "10m", max-file: "3"} turn: image: coturn/coturn:4.14.0-r0 container_name: ikar_server_turn restart: unless-stopped network_mode: host command: - --no-cli - --fingerprint - --lt-cred-mech - --realm=ikar.kusoft.xyz - --user=${TURN_USERNAME}:${TURN_PASSWORD} - --listening-ip=${TURN_PRIVATE_IP} - --relay-ip=${TURN_PRIVATE_IP} - --external-ip=${TURN_EXTERNAL_IP}/${TURN_PRIVATE_IP} - --listening-port=3478 - --min-port=49160 - --max-port=49200 - --no-tls - --no-dtls - --no-multicast-peers - --log-file=stdout mem_limit: 192m cpus: 0.5 pids_limit: 64 logging: driver: json-file options: {max-size: "5m", max-file: "2"} asr: build: ./asr image: ikar_server_asr:20261006 container_name: ikar_server_asr restart: unless-stopped user: "1000:1000" volumes: - /mnt/data/ikar_server/shared/data/Attachments:/app/Data/Attachments:ro cpus: 0.5 mem_limit: 512m pids_limit: 64 security_opt: [no-new-privileges:true] cap_drop: [ALL] logging: driver: json-file options: {max-size: "5m", max-file: "2"}