mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2026-04-18 16:32:17 +00:00
add comprehensive documentation (#9537)
This commit is contained in:
237
docs/misc/install.func/INSTALL_FUNC_FUNCTIONS_REFERENCE.md
Normal file
237
docs/misc/install.func/INSTALL_FUNC_FUNCTIONS_REFERENCE.md
Normal file
@@ -0,0 +1,237 @@
|
||||
# install.func Functions Reference
|
||||
|
||||
Complete reference of all functions in install.func with detailed usage information.
|
||||
|
||||
## Function Index
|
||||
|
||||
- `setting_up_container()` - Initialize container setup
|
||||
- `network_check()` - Verify network connectivity
|
||||
- `update_os()` - Update OS packages
|
||||
- `verb_ip6()` - Enable IPv6
|
||||
- `motd_ssh()` - Configure SSH and MOTD
|
||||
- `customize()` - Apply container customizations
|
||||
- `cleanup_lxc()` - Final container cleanup
|
||||
|
||||
---
|
||||
|
||||
## Core Functions
|
||||
|
||||
### setting_up_container()
|
||||
|
||||
Display setup message and initialize container environment.
|
||||
|
||||
**Signature**:
|
||||
```bash
|
||||
setting_up_container
|
||||
```
|
||||
|
||||
**Purpose**: Announce container initialization and set initial environment
|
||||
|
||||
**Usage**:
|
||||
```bash
|
||||
#!/usr/bin/env bash
|
||||
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
|
||||
|
||||
setting_up_container
|
||||
# Output: ⏳ Setting up container...
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### network_check()
|
||||
|
||||
Verify network connectivity with automatic retry logic.
|
||||
|
||||
**Signature**:
|
||||
```bash
|
||||
network_check
|
||||
```
|
||||
|
||||
**Purpose**: Ensure internet connectivity before critical operations
|
||||
|
||||
**Behavior**:
|
||||
- Pings 8.8.8.8 (Google DNS)
|
||||
- 3 attempts with 5-second delays
|
||||
- Exits with error if all attempts fail
|
||||
|
||||
**Usage**:
|
||||
```bash
|
||||
network_check
|
||||
# If no internet: Exits with error message
|
||||
# If internet OK: Continues to next step
|
||||
```
|
||||
|
||||
**Error Handling**:
|
||||
```bash
|
||||
if ! network_check; then
|
||||
msg_error "No internet connection"
|
||||
exit 1
|
||||
fi
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### update_os()
|
||||
|
||||
Update OS packages with error handling.
|
||||
|
||||
**Signature**:
|
||||
```bash
|
||||
update_os
|
||||
```
|
||||
|
||||
**Purpose**: Prepare container with latest packages
|
||||
|
||||
**On Debian/Ubuntu**:
|
||||
- Runs: `apt-get update && apt-get upgrade -y`
|
||||
|
||||
**On Alpine**:
|
||||
- Runs: `apk update && apk upgrade`
|
||||
|
||||
**Usage**:
|
||||
```bash
|
||||
update_os
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### verb_ip6()
|
||||
|
||||
Enable IPv6 support in container (optional).
|
||||
|
||||
**Signature**:
|
||||
```bash
|
||||
verb_ip6
|
||||
```
|
||||
|
||||
**Purpose**: Enable IPv6 if needed for application
|
||||
|
||||
**Usage**:
|
||||
```bash
|
||||
verb_ip6 # Enable IPv6
|
||||
network_check # Verify connectivity with IPv6
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### motd_ssh()
|
||||
|
||||
Configure SSH daemon and MOTD for container access.
|
||||
|
||||
**Signature**:
|
||||
```bash
|
||||
motd_ssh
|
||||
```
|
||||
|
||||
**Purpose**: Setup SSH and create login message
|
||||
|
||||
**Configures**:
|
||||
- SSH daemon startup and keys
|
||||
- Custom MOTD displaying application access info
|
||||
- SSH port and security settings
|
||||
|
||||
**Usage**:
|
||||
```bash
|
||||
motd_ssh
|
||||
# SSH is now configured and application info is in MOTD
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### customize()
|
||||
|
||||
Apply container customizations and final setup.
|
||||
|
||||
**Signature**:
|
||||
```bash
|
||||
customize
|
||||
```
|
||||
|
||||
**Purpose**: Apply any remaining customizations
|
||||
|
||||
**Usage**:
|
||||
```bash
|
||||
customize
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### cleanup_lxc()
|
||||
|
||||
Final cleanup and completion of installation.
|
||||
|
||||
**Signature**:
|
||||
```bash
|
||||
cleanup_lxc
|
||||
```
|
||||
|
||||
**Purpose**: Remove temporary files and finalize installation
|
||||
|
||||
**Cleans**:
|
||||
- Temporary installation files
|
||||
- Package manager cache
|
||||
- Log files from installation process
|
||||
|
||||
**Usage**:
|
||||
```bash
|
||||
cleanup_lxc
|
||||
# Installation is now complete and ready
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Common Patterns
|
||||
|
||||
### Basic Installation Pattern
|
||||
|
||||
```bash
|
||||
#!/usr/bin/env bash
|
||||
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
|
||||
|
||||
setting_up_container
|
||||
network_check
|
||||
update_os
|
||||
|
||||
# ... application installation ...
|
||||
|
||||
motd_ssh
|
||||
customize
|
||||
cleanup_lxc
|
||||
```
|
||||
|
||||
### With IPv6 Support
|
||||
|
||||
```bash
|
||||
#!/usr/bin/env bash
|
||||
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
|
||||
|
||||
setting_up_container
|
||||
verb_ip6 # Enable IPv6
|
||||
network_check
|
||||
update_os
|
||||
|
||||
# ... application installation ...
|
||||
```
|
||||
|
||||
### With Error Handling
|
||||
|
||||
```bash
|
||||
#!/usr/bin/env bash
|
||||
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
|
||||
|
||||
catch_errors # Setup error trapping
|
||||
setting_up_container
|
||||
|
||||
if ! network_check; then
|
||||
msg_error "Network connectivity failed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
update_os
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
**Last Updated**: December 2025
|
||||
**Total Functions**: 7
|
||||
**Maintained by**: community-scripts team
|
||||
Reference in New Issue
Block a user