Skip to content

Commit

Permalink
feat: allow custom path for all runtipi folders
Browse files Browse the repository at this point in the history
  • Loading branch information
nicotsx committed Apr 19, 2024
1 parent 975cfc1 commit 95f9ff3
Show file tree
Hide file tree
Showing 4 changed files with 24 additions and 15 deletions.
16 changes: 8 additions & 8 deletions src/assets/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -76,14 +76,14 @@ services:
- .env
volumes:
# Data
- ./media:/data/media
- ./state:/data/state
- ./repos:/data/repos
- ./apps:/data/apps
- ./logs:/data/logs
- ./traefik:/data/traefik
- ./user-config:/data/user-config
- ${STORAGE_PATH:-.}/app-data:/app-data
- ${RUNTIPI_MEDIA_PATH:-.}/media:/data/media
- ${RUNTIPI_STATE_PATH:-.}/state:/data/state
- ${RUNTIPI_REPOS_PATH:-.}/repos:/data/repos
- ${RUNTIPI_APPS_PATH:-.}/apps:/data/apps
- ${RUNTIPI_LOGS_PATH:-.}/logs:/data/logs
- ${RUNTIPI_TRAEFIK_PATH:-.}/traefik:/data/traefik
- ${RUNTIPI_USER_CONFIG_PATH:-.}/user-config:/data/user-config
- ${RUNTIPI_APP_DATA_PATH:-.}/app-data:/app-data
# Static
- ./.env:/data/.env
- /var/run/docker.sock:/var/run/docker.sock:ro
Expand Down
5 changes: 4 additions & 1 deletion src/commands/debug.rs
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,10 @@ pub fn run(env_map: EnvMap) {
"ROOT_FOLDER_HOST",
env_map.get("ROOT_FOLDER_HOST").unwrap_or(&"Not set".red().to_string())
]);
table.add_row(row!["STORAGE_PATH", env_map.get("STORAGE_PATH").unwrap_or(&"Not set".red().to_string())]);
table.add_row(row![
"RUNTIPI_APP_DATA_PATH",
env_map.get("RUNTIPI_APP_DATA_PATH").unwrap_or(&"Not set".red().to_string())
]);
table.add_row(row!["NGINX_PORT", env_map.get("NGINX_PORT").unwrap_or(&"Not set".red().to_string())]);
table.add_row(row![
"NGINX_PORT_SSL",
Expand Down
14 changes: 8 additions & 6 deletions src/utils/env.rs
Original file line number Diff line number Diff line change
Expand Up @@ -102,16 +102,18 @@ pub fn generate_env_file(custom_env_file_path: Option<PathBuf>) -> Result<(), Er
.unwrap_or(&derive_entropy("redis_password", &seed))
.to_string();

if parsed_json.storage_path.is_some() {
let app_data_path = parsed_json.app_data_path.or(parsed_json.storage_path.clone());

if app_data_path.is_some() {
// Test if the storage path is valid
let storage_path = PathBuf::from(&parsed_json.storage_path.as_ref().unwrap());
let temp_app_data_path = PathBuf::from(&parsed_json.storage_path.as_ref().unwrap());

if !storage_path.exists() {
if !temp_app_data_path.exists() {
return Err(Error::new(
std::io::ErrorKind::NotFound,
format!(
"Storage path '{}' does not exist on your system. Make sure it is an absolute path or remove it from settings.json.",
storage_path.display()
temp_app_data_path.display()
),
));
}
Expand All @@ -134,8 +136,8 @@ pub fn generate_env_file(custom_env_file_path: Option<PathBuf>) -> Result<(), Er
.as_string(),
);
new_env_map.insert(
"STORAGE_PATH".to_string(),
parsed_json.storage_path.unwrap_or(root_folder.display().to_string()),
"RUNTIPI_APP_DATA_PATH".to_string(),
app_data_path.unwrap_or(root_folder.display().to_string()),
);
new_env_map.insert("POSTGRES_PASSWORD".to_string(), postgres_password);
new_env_map.insert(
Expand Down
4 changes: 4 additions & 0 deletions src/utils/schemas.rs
Original file line number Diff line number Diff line change
Expand Up @@ -39,9 +39,13 @@ pub struct SettingsSchema {
#[serde(rename = "sslPort")]
pub nginx_ssl_port: Option<StringOrInt>,

// Deprecated
#[serde(rename = "storagePath")]
pub storage_path: Option<String>,

#[serde(rename = "appDataPath")]
pub app_data_path: Option<String>,

#[serde(rename = "postgresPort")]
pub postgres_port: Option<StringOrInt>,

Expand Down

0 comments on commit 95f9ff3

Please sign in to comment.