Update DockerExecution config template and add docker-compose file for deployment

This commit is contained in:
Stone_Red
2025-12-30 18:20:00 +01:00
parent ace64b5c25
commit 29c3ee388e
2 changed files with 40 additions and 11 deletions
+6 -5
View File
@@ -10,7 +10,6 @@
// Authentication configuration
"Authentication": {
// List of API keys for authenticating clients
// Each entry should contain key identification and validation information
"ApiKeys": [
// Example:
// {
@@ -44,9 +43,11 @@
// Docker execution configuration (only used when ExecutionEnvironment = "DockerContainer")
"DockerExecution": {
// Docker host URL
// null = uses default Docker client settings
// Linux: "unix:///var/run/docker.sock"
// Windows: "npipe://./pipe/docker_engine"
"DockerHost": "unix:///var/run/docker.sock",
// Default: null
"DockerHost": null,
// Docker worker image name to use for task execution
// Must be built and available on the Docker host
@@ -74,9 +75,9 @@
"DisableNetwork": true,
// Make container filesystem read-only
// Enhances security by preventing file modifications
// Default: true
"ReadOnlyFilesystem": true
// Enhances security by preventing file modifications but does not work when additional assemblies are requested at runtime
// Default: false
"ReadOnlyFilesystem": false
},
// Server metrics broadcasting configuration
+28
View File
@@ -0,0 +1,28 @@
services:
remoteexec-server:
image: stonered/remoteexec:latest
container_name: remoteexec-server
restart: unless-stopped
environment:
- ASPNETCORE_ENVIRONMENT=Production
- ASPNETCORE_URLS=http://+:80
ports:
- "8080:80"
volumes:
# Application configuration (edit the template below then mount here)
- ./RemoteExec.Server/appsettings.docker.json:/app/appsettings.json:ro
# Mount docker socket only if you will use Execution.ExecutionEnvironment = "DockerContainer"
- /var/run/docker.sock:/var/run/docker.sock:ro
# Optional: timezone sync
- /etc/localtime:/etc/localtime:ro
healthcheck:
test: ["CMD-SHELL", "curl -f http://localhost/health || exit 1"]
interval: 30s
timeout: 10s
retries: 3
start_period: 10s
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"