Add multiple networks

This commit is contained in:
Maurice
2025-08-13 10:45:03 +02:00
parent 9e6b2be0ac
commit 9146046b91
3 changed files with 8 additions and 4 deletions

View File

@@ -18,12 +18,13 @@ The format is like this:
```toml
user = "<USERNAME>" # Optional property, set if you don't want to run the Podman command with the root user
capabilities = ["NET_BIND_SERVICE"] # Optional property, add Linux capabilities if you need some
# Required section
[service]
name = "<CONTAINER NAME>" # Container name, required
image = "<IMAGE>" # Podman image name
network = "<NETWORK>" # Optional, if you want to run the container within a specific network. Set to "host" if you don't want to use the podman networking.
networks = ["<NETWORK>"] # Optional, if you want to run the container within a specific network. Set to "host" if you don't want to use the podman networking.
depend = ["<SERVICE NAME>"] # Name of any service in /etc/init.d to depend on
restart = "unless-stopped" # Restart, optional. Defaults to "unless-stopped"
detach = true # Run container in detach mode, optional, default true. Recommended.

View File

@@ -27,7 +27,7 @@ pub fn generate_openrc(config: &ServiceConfig) -> String {
// start_pre()
script.push_str("start_pre() {\n");
let mut start_pre_commands = Vec::new();
if let Some(network) = &config.service.network {
for network in &config.service.networks {
start_pre_commands.push(format!("podman network create {} --ignore;", network));
}
start_pre_commands.push(format!("podman rm {} --ignore;", config.service.name));
@@ -51,7 +51,7 @@ pub fn generate_openrc(config: &ServiceConfig) -> String {
arguments.push("--detach".to_string());
}
if let Some(network) = &config.service.network {
for network in &config.service.networks {
arguments.push(format!("--network {}", network));
}

View File

@@ -35,7 +35,10 @@ pub struct Service {
pub name: String,
pub hostname: Option<String>,
pub image: String,
pub network: Option<String>,
#[serde(default)]
pub networks: Vec<String>,
pub restart: Option<String>,
pub detach: Option<bool>,
pub healthcheck: Option<HealthCheck>,