238 lines
3.6 KiB
Markdown
238 lines
3.6 KiB
Markdown
# 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
|