### Start HomeDock Application (Python) Source: https://docs.homedock.cloud/setup/installation This command runs the main HomeDock application script after the Python environment has been set up and dependencies installed. It starts the HomeDock service. ```python python3 homedock.py ``` -------------------------------- ### HomeDock Server Configuration Example (`homedock_server.conf`) Source: https://docs.homedock.cloud/setup/configuration Example configuration for the main HomeDock OS server settings. This file controls user accounts, server details, themes, and storage options. Modifications to some settings like `run_port` may require a service restart. ```ini [Config] user_name = Username user_password = $2b$_bcrypt_hash_private_ run_port = 80 dynamic_dns = get.homedock.cloud local_dns = True run_on_development = False disable_usage_data = False delete_old_image_containers_after_update = False delete_old_image_containers_after_uninstall = False delete_internal_data_volumes = True default_external_drive = /dev/sdXY selected_theme = default selected_back = back1.jpg ``` -------------------------------- ### Set up Python Virtual Environment and Install Requirements (Python) Source: https://docs.homedock.cloud/setup/installation This sequence of commands creates a Python virtual environment named 'venv', activates it, and then installs all the project's dependencies listed in 'requirements.txt'. This ensures a clean and isolated environment for the application. ```bash python3 -m venv venv source venv/bin/activate pip install -r requirements.txt ``` -------------------------------- ### HomeDock Port Assignments Example (`homedock_ports.conf`) Source: https://docs.homedock.cloud/setup/configuration Configuration file for managing port assignments of applications running on HomeDock OS. Each line specifies an application and its port mode or number. This file is automatically updated or can be configured via the frontend. ```text wireguard*hostmode filebrowser*8765 plex*32400 ddclient*hostmode msedge*disabled immich*17486 immich_postgres15*5432:5432 immich_redis*6379:6379 ``` -------------------------------- ### Install HomeDock Cloud using curl (Linux) Source: https://docs.homedock.cloud/setup/installation This command downloads and executes the HomeDock Cloud installation script. It's designed to work on various Linux distributions, including those not officially tested, by including fallback logic for common package managers. ```bash curl -fsSL https://get.homedock.cloud | sudo bash ``` -------------------------------- ### Windows Volume Mapping Example (Docker Compose) Source: https://docs.homedock.cloud/homedock-os/app-store Provides an example of volume mapping for applications on Windows using Docker Compose within HomeDock OS. This configuration ensures proper data storage and accessibility. ```yaml volumes: - //c/HomeDock/AppData/{appName}:/path - //c/HomeDock/AppFolders/{appName}:/path ``` -------------------------------- ### Install HomeDockOS Dependencies on Fedora (DNF) Source: https://docs.homedock.cloud/setup/installation This command installs the necessary packages for HomeDockOS on Fedora using the DNF package manager. It includes Python 3, pip, venv, Docker, and Git. ```bash sudo dnf install git python3 python3-virtualenv python3-pip docker docker-compose ``` -------------------------------- ### dzkey_v2 Configuration Example Source: https://docs.homedock.cloud/homedock-os/drop-zone Illustrates the format of the dzkey_v2 configuration, showing how user-specific salts and keys are stored. Only the base and salt are persisted, with the full key derived at runtime. ```plaintext dzkey_v2:user:qWERTYsaltBASE64==:zxcvbkeybase64== dzkey_v2:alice:Dk382Slkcs82Lwl2pQ==:zme827xD72Lsla92V== ``` -------------------------------- ### Clone HomeDockOS Repository and Navigate (Git) Source: https://docs.homedock.cloud/setup/installation This snippet clones the HomeDockOS repository from GitHub and changes the current directory to the cloned repository. This is the first step in the manual installation process. ```bash git clone https://github.com/BansheeTech/HomeDockOS.git cd HomeDockOS ``` -------------------------------- ### Install OpenSSL and Generate Self-Signed SSL Certificates for Windows Source: https://docs.homedock.cloud/setup/ssl-https This script first installs OpenSSL using winget and adds its bin directory to the system's PATH for PowerShell. It then creates a directory `C:\HomeDock\SSLCerts`, generates self-signed SSL certificates with a private key, and copies the full chain certificate to `cert.pem` and `chain.pem` to meet HomeDock OS requirements. This process is for local testing and requires manual renewal. ```powershell winget install -e --id ShiningLight.OpenSSL.Light $env:PATH += ";C:\Program Files\OpenSSL-Win64\bin" New-Item -ItemType Directory -Force -Path "C:\HomeDock\SSLCerts" | Out-Null; cd C:\HomeDock\SSLCerts; openssl req -x509 -newkey rsa:4096 -keyout privkey.pem -out fullchain.pem -days 365 -nodes -subj "/O=HomeDock OS/OU=HDOS-9bd4d4f17d509ee3/CN=homedock.local" -addext "subjectAltName=DNS:localhost,DNS:homedock.local,DNS:*.homedock.local,IP:127.0.0.1"; Copy-Item fullchain.pem cert.pem; Copy-Item fullchain.pem chain.pem ``` -------------------------------- ### Linux Volume Mapping Example Source: https://docs.homedock.cloud/homedock-os/app-store Demonstrates default volume mapping for applications on Linux systems within HomeDock OS. These paths are used for storing application data and configurations. ```yaml volumes: - /DATA/HomeDock/AppData/{appName}:/path - /DATA/HomeDock/AppFolders/{appName}:/path ``` -------------------------------- ### File Opening Process - Step-by-Step Source: https://docs.homedock.cloud/homedock-os/file-explorer Illustrates the sequence of events when a user opens a file in HomeDock OS. It details how File Explorer detects the file type, downloads the file, and passes it to the appropriate utility application via `windowStore.openFileInApp()`. ```markdown 1. The user double-clicks a file. 2. File Explorer detects the extension and chooses the appropriate utility. 3. The file is downloaded from the correct backend (Storage, Drop Zone, or App Drive). Drop Zone files are automatically decrypted during download. 4. The file data is passed in-memory to the utility window via `windowStore.openFileInApp()`. Text files as string content, binary files as ArrayBuffer. 5. The file is automatically added to Recents. ``` -------------------------------- ### Install Python Dependencies for HomeDock OS Source: https://docs.homedock.cloud/setup/configuration Installs all required Python 3 libraries for HomeDock OS using pip. Ensure you have Python 3 and pip installed. This command reads dependencies from the `requirements.txt` file in the project root. ```bash pip install -r requirements.txt ``` -------------------------------- ### Configure Docker Port Mappings for HomeDock OS Apps Source: https://docs.homedock.cloud/troubleshooting/app-not-available This snippet demonstrates how to define port mappings for Docker containers within a HomeDock OS application configuration. It shows how to expose container ports to the host system, with examples of mapping a container's internal port to a specific host port. Incorrect port selection can lead to applications being inaccessible. ```yaml ports: - "8080:9000" - "8081:80" ``` -------------------------------- ### Specify SSL Certificate Paths (Configuration) Source: https://docs.homedock.cloud/setup/installation This section indicates the file paths where HomeDock Cloud expects to find SSL certificates for enabling HTTPS. The certificates 'fullchain.pem' and 'privkey.pem' should be placed in the '/DATA/SSLCerts/' directory. ```text /DATA/SSLCerts/fullchain.pem /DATA/SSLCerts/privkey.pem ```