mirror of
				https://github.com/community-scripts/ProxmoxVE.git
				synced 2025-11-04 10:22:50 +00:00 
			
		
		
		
	Compare commits
	
		
			109 Commits
		
	
	
		
			2025-01-15
			...
			2025-01-20
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					4dcf0dc0b8 | ||
| 
						 | 
					81c327c317 | ||
| 
						 | 
					c9eb13a20c | ||
| 
						 | 
					c42438be11 | ||
| 
						 | 
					dfc006271c | ||
| 
						 | 
					e64ecb9773 | ||
| 
						 | 
					85109ecf11 | ||
| 
						 | 
					fb67025f3b | ||
| 
						 | 
					f545c8ae5b | ||
| 
						 | 
					70d75bf53e | ||
| 
						 | 
					783e9b160d | ||
| 
						 | 
					bdb2816e87 | ||
| 
						 | 
					d9a4586eec | ||
| 
						 | 
					3904fb1981 | ||
| 
						 | 
					b8ed5e3987 | ||
| 
						 | 
					723b8e8e0b | ||
| 
						 | 
					e0d0bcd409 | ||
| 
						 | 
					69f19ca652 | ||
| 
						 | 
					76742e7910 | ||
| 
						 | 
					17d06a51ae | ||
| 
						 | 
					e8cd6497ef | ||
| 
						 | 
					08131f881c | ||
| 
						 | 
					b789d982d9 | ||
| 
						 | 
					41d45eb4ec | ||
| 
						 | 
					665014379e | ||
| 
						 | 
					5a2a5b3885 | ||
| 
						 | 
					4c5df518c7 | ||
| 
						 | 
					d89ad6d293 | ||
| 
						 | 
					0a00eb74f2 | ||
| 
						 | 
					5dcfdc9607 | ||
| 
						 | 
					b409c3ac72 | ||
| 
						 | 
					6031f99b58 | ||
| 
						 | 
					2a74f53b14 | ||
| 
						 | 
					f2935e9f60 | ||
| 
						 | 
					fe5f88f140 | ||
| 
						 | 
					5d32260568 | ||
| 
						 | 
					81e17c2137 | ||
| 
						 | 
					5db657a668 | ||
| 
						 | 
					bc135d70ab | ||
| 
						 | 
					2173728316 | ||
| 
						 | 
					76362f4ede | ||
| 
						 | 
					0daca3a6ee | ||
| 
						 | 
					029b57ea9e | ||
| 
						 | 
					a94e28c5df | ||
| 
						 | 
					3078d1a11a | ||
| 
						 | 
					b9187d771a | ||
| 
						 | 
					1d26b208ff | ||
| 
						 | 
					7df8273654 | ||
| 
						 | 
					dc0b432b69 | ||
| 
						 | 
					79dfb7c001 | ||
| 
						 | 
					5d69a62b47 | ||
| 
						 | 
					ed0b16bf17 | ||
| 
						 | 
					9843b46a94 | ||
| 
						 | 
					c4580100a8 | ||
| 
						 | 
					f8f166e26f | ||
| 
						 | 
					b97d40bf5a | ||
| 
						 | 
					0e443536cc | ||
| 
						 | 
					0b73d9f689 | ||
| 
						 | 
					5c11b67507 | ||
| 
						 | 
					2f20db8a42 | ||
| 
						 | 
					b04dc0261b | ||
| 
						 | 
					81b271a9ef | ||
| 
						 | 
					75590a8ff8 | ||
| 
						 | 
					d1f5556ce3 | ||
| 
						 | 
					e683fd900f | ||
| 
						 | 
					643e0f5ac8 | ||
| 
						 | 
					bd301942c5 | ||
| 
						 | 
					8cb63aa07c | ||
| 
						 | 
					ce7bb6612d | ||
| 
						 | 
					a6bd47e0c7 | ||
| 
						 | 
					ed9c083dda | ||
| 
						 | 
					63b5024bf2 | ||
| 
						 | 
					1049558407 | ||
| 
						 | 
					b93b1021a3 | ||
| 
						 | 
					7bb0cc32d2 | ||
| 
						 | 
					779721cea5 | ||
| 
						 | 
					22b7155203 | ||
| 
						 | 
					1bb911e531 | ||
| 
						 | 
					023c3fc52d | ||
| 
						 | 
					258b1bd9fd | ||
| 
						 | 
					6d4eb9c3ee | ||
| 
						 | 
					15faa76b69 | ||
| 
						 | 
					393f6d74c9 | ||
| 
						 | 
					f51762420a | ||
| 
						 | 
					f8c10ca80b | ||
| 
						 | 
					3fca76dbbc | ||
| 
						 | 
					b57689ec50 | ||
| 
						 | 
					1f8f593116 | ||
| 
						 | 
					330315c615 | ||
| 
						 | 
					504d47d246 | ||
| 
						 | 
					ab206530e0 | ||
| 
						 | 
					f5b78d5dcc | ||
| 
						 | 
					3f9863ebf9 | ||
| 
						 | 
					786e8963b9 | ||
| 
						 | 
					6cc4244f70 | ||
| 
						 | 
					f5a260a399 | ||
| 
						 | 
					f1f8f78420 | ||
| 
						 | 
					6c42b5c21a | ||
| 
						 | 
					24d24421d1 | ||
| 
						 | 
					9e4c627323 | ||
| 
						 | 
					2551bf6f9f | ||
| 
						 | 
					8533380813 | ||
| 
						 | 
					f65abd9ac8 | ||
| 
						 | 
					85387563f0 | ||
| 
						 | 
					5977f8f936 | ||
| 
						 | 
					a15a59e615 | ||
| 
						 | 
					14dfaa9bde | ||
| 
						 | 
					75778976d0 | ||
| 
						 | 
					c45085a51d | 
							
								
								
									
										1
									
								
								.github/CONTRIBUTING.md
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.github/CONTRIBUTING.md
									
									
									
									
										vendored
									
									
								
							@@ -2,6 +2,7 @@
 | 
				
			|||||||
# Community Scripts Contribution Guide
 | 
					# Community Scripts Contribution Guide
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## **Welcome to the communty-scripts Repository!** 
 | 
					## **Welcome to the communty-scripts Repository!** 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
📜 These documents outline the essential coding standards for all our scripts and JSON files. Adhering to these standards ensures that our codebase remains consistent, readable, and maintainable. By following these guidelines, we can improve collaboration, reduce errors, and enhance the overall quality of our project.
 | 
					📜 These documents outline the essential coding standards for all our scripts and JSON files. Adhering to these standards ensures that our codebase remains consistent, readable, and maintainable. By following these guidelines, we can improve collaboration, reduce errors, and enhance the overall quality of our project.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Why Coding Standards Matter
 | 
					### Why Coding Standards Matter
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										4
									
								
								.github/ISSUE_TEMPLATE/bug_report.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.github/ISSUE_TEMPLATE/bug_report.yml
									
									
									
									
										vendored
									
									
								
							@@ -8,13 +8,13 @@ body:
 | 
				
			|||||||
        # 🐞 **Script Issue Report**
 | 
					        # 🐞 **Script Issue Report**
 | 
				
			||||||
        Thank you for taking the time to report an issue! Please provide as much detail as possible to help us address the problem efficiently.  
 | 
					        Thank you for taking the time to report an issue! Please provide as much detail as possible to help us address the problem efficiently.  
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        ## ⚠️ **IMPORTANT**  
 | 
					        ## ⚠️ **IMPORTANT - READ FIRST**  
 | 
				
			||||||
        - 🔍 **Search first:** Before submitting, check if the issue has already been reported or resolved in [closed issues](https://github.com/community-scripts/ProxmoxVE/issues?q=is%3Aissue+is%3Aclosed). If found, comment on that issue instead of creating a new one.  
 | 
					        - 🔍 **Search first:** Before submitting, check if the issue has already been reported or resolved in [closed issues](https://github.com/community-scripts/ProxmoxVE/issues?q=is%3Aissue+is%3Aclosed). If found, comment on that issue instead of creating a new one.  
 | 
				
			||||||
        Alternatively, check the **[Discussions](https://github.com/community-scripts/ProxmoxVE/discussions)** under the *"Announcement"* or *"Guide"* categories for relevant information.  
 | 
					        Alternatively, check the **[Discussions](https://github.com/community-scripts/ProxmoxVE/discussions)** under the *"Announcement"* or *"Guide"* categories for relevant information.  
 | 
				
			||||||
        - 🛠️ **Supported environments only:** Ensure you are using a default Linux distribution. Custom setups may not be supported.  
 | 
					        - 🛠️ **Supported environments only:** Ensure you are using a default Linux distribution. Custom setups may not be supported.  
 | 
				
			||||||
        - 🔎 If you encounter `[ERROR] in line 23: exit code *: while executing command "$@" > /dev/null 2>&1`, rerun the script with verbose mode before submitting the issue.  
 | 
					        - 🔎 If you encounter `[ERROR] in line 23: exit code *: while executing command "$@" > /dev/null 2>&1`, rerun the script with verbose mode before submitting the issue.  
 | 
				
			||||||
        - 💡 For general questions, feature requests, or suggestions, use the [Discussions section](https://github.com/community-scripts/ProxmoxVE/discussions).  
 | 
					        - 💡 For general questions, feature requests, or suggestions, use the [Discussions section](https://github.com/community-scripts/ProxmoxVE/discussions).  
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
  - type: input
 | 
					  - type: input
 | 
				
			||||||
    id: guidelines
 | 
					    id: guidelines
 | 
				
			||||||
    attributes:
 | 
					    attributes:
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										4
									
								
								.github/autolabeler-config.json
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.github/autolabeler-config.json
									
									
									
									
										vendored
									
									
								
							@@ -50,7 +50,7 @@
 | 
				
			|||||||
  "maintenance": [
 | 
					  "maintenance": [
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "fileStatus": null,
 | 
					      "fileStatus": null,
 | 
				
			||||||
      "includeGlobs": ["*.md", ".github/**"],
 | 
					      "includeGlobs": ["*.md", ".github/**", "misc/*.func", "ct/create_lxc.sh"],
 | 
				
			||||||
      "excludeGlobs": []
 | 
					      "excludeGlobs": []
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  ],
 | 
					  ],
 | 
				
			||||||
@@ -61,4 +61,4 @@
 | 
				
			|||||||
      "excludeGlobs": []
 | 
					      "excludeGlobs": []
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  ]
 | 
					  ]
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										39
									
								
								.github/pull_request_template.md
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										39
									
								
								.github/pull_request_template.md
									
									
									
									
										vendored
									
									
								
							@@ -1,39 +1,28 @@
 | 
				
			|||||||
> **🛠️ Note:**  
 | 
					 | 
				
			||||||
> We are meticulous about merging code into the main branch, so please understand that pull requests not meeting the project's standards may be rejected. It's never personal!  
 | 
					 | 
				
			||||||
> 🎮 **Note for game-related scripts:** These have a lower likelihood of being merged.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
---
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## ✍️ Description
 | 
					## ✍️ Description
 | 
				
			||||||
Provide a summary of the changes made and/or reference the issue being addressed.
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- - -
 | 
					- - -
 | 
				
			||||||
**_Please remove unneeded lines!_**
 | 
					- Related Issue: #
 | 
				
			||||||
- Related Issue: # (issue number, if applicable)  
 | 
					- Related PR: #
 | 
				
			||||||
- Related PR: # (if applicable)  
 | 
					- Related Discussion: #
 | 
				
			||||||
- Related Discussion: []()(if applicable)  
 | 
					- - - 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
---
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## 🛠️ Type of Change
 | 
					 | 
				
			||||||
Please check the relevant options:  
 | 
					 | 
				
			||||||
- [ ] Bug fix (non-breaking change that resolves an issue)  
 | 
					 | 
				
			||||||
- [ ] New feature (non-breaking change that adds functionality)  
 | 
					 | 
				
			||||||
- [ ] Breaking change (fix or feature that would cause existing functionality to change unexpectedly)  
 | 
					 | 
				
			||||||
- [ ] New script (a fully functional and thoroughly tested script or set of scripts)  
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
---
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
## ✅ Prerequisites
 | 
					## ✅ Prerequisites
 | 
				
			||||||
The following steps must be completed for the pull request to be considered:  
 | 
					The following steps must be completed for the pull request to be considered:  
 | 
				
			||||||
- [ ] Self-review performed (I have reviewed my code to ensure it follows established patterns and conventions.)  
 | 
					- [] Self-review performed (I have reviewed my code to ensure it follows established patterns and conventions.)  
 | 
				
			||||||
- [ ] Testing performed (I have thoroughly tested my changes and verified expected functionality.)  
 | 
					- [] Testing performed (I have thoroughly tested my changes and verified expected functionality.)
 | 
				
			||||||
- [ ] Documentation updated (I have updated any relevant documentation)
 | 
					
 | 
				
			||||||
 | 
					## 🛠️ Type of Change
 | 
				
			||||||
 | 
					Please check the relevant options:  
 | 
				
			||||||
 | 
					- [] Bug fix (non-breaking change that resolves an issue)  
 | 
				
			||||||
 | 
					- [] New feature (non-breaking change that adds functionality)  
 | 
				
			||||||
 | 
					- [] Breaking change (fix or feature that would cause existing functionality to change unexpectedly)  
 | 
				
			||||||
 | 
					- [] New script (a fully functional and thoroughly tested script or set of scripts)  
 | 
				
			||||||
 | 
					
 | 
				
			||||||
---
 | 
					---
 | 
				
			||||||
 | 
					 | 
				
			||||||
## 📋 Additional Information (optional)
 | 
					## 📋 Additional Information (optional)
 | 
				
			||||||
Provide any extra context or screenshots about the feature or fix here.  
 | 
					Provide any extra context or screenshots about the feature or fix here.  
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										68
									
								
								.github/workflows/update_json_date.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										68
									
								
								.github/workflows/update_json_date.yml
									
									
									
									
										vendored
									
									
								
							@@ -1,68 +0,0 @@
 | 
				
			|||||||
name: Update JSON Date in PR
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
on:
 | 
					 | 
				
			||||||
  pull_request:
 | 
					 | 
				
			||||||
    branches:
 | 
					 | 
				
			||||||
      - main
 | 
					 | 
				
			||||||
    types:
 | 
					 | 
				
			||||||
      - opened
 | 
					 | 
				
			||||||
      - synchronize
 | 
					 | 
				
			||||||
      - reopened
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
jobs:
 | 
					 | 
				
			||||||
  update_json:
 | 
					 | 
				
			||||||
    runs-on: ubuntu-latest
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    steps:
 | 
					 | 
				
			||||||
      - name: Check out repository
 | 
					 | 
				
			||||||
        uses: actions/checkout@v4
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      - name: Configure Git user
 | 
					 | 
				
			||||||
        run: |
 | 
					 | 
				
			||||||
          git config --global user.email "github-actions[bot]@users.noreply.github.com"
 | 
					 | 
				
			||||||
          git config --global user.name "github-actions[bot]"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      - name: Get list of changed files in PR
 | 
					 | 
				
			||||||
        id: files
 | 
					 | 
				
			||||||
        uses: actions/github-script@v7
 | 
					 | 
				
			||||||
        with:
 | 
					 | 
				
			||||||
          script: |
 | 
					 | 
				
			||||||
            const prNumber = context.payload.pull_request.number;
 | 
					 | 
				
			||||||
            const prFiles = await github.rest.pulls.listFiles({
 | 
					 | 
				
			||||||
              owner: context.repo.owner,
 | 
					 | 
				
			||||||
              repo: context.repo.repo,
 | 
					 | 
				
			||||||
              pull_number: prNumber,
 | 
					 | 
				
			||||||
            });
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            // Filter for JSON files only
 | 
					 | 
				
			||||||
            const changedJsonFiles = prFiles.data
 | 
					 | 
				
			||||||
              .filter(file => file.filename.endsWith('.json'))
 | 
					 | 
				
			||||||
              .map(file => file.filename);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            core.setOutput('changed_files', changedJsonFiles.join('\n'));
 | 
					 | 
				
			||||||
            console.log('Changed JSON files:', changedJsonFiles);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      - name: Update dates in changed JSON files
 | 
					 | 
				
			||||||
        run: |
 | 
					 | 
				
			||||||
          changed_files="${{ steps.files.outputs.changed_files }}"
 | 
					 | 
				
			||||||
          if [[ -z "$changed_files" ]]; then
 | 
					 | 
				
			||||||
            echo "No JSON files changed in this PR. Exiting."
 | 
					 | 
				
			||||||
            exit 0
 | 
					 | 
				
			||||||
          fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
          for file in $changed_files; do
 | 
					 | 
				
			||||||
            echo "Updating $file with current date."
 | 
					 | 
				
			||||||
            # Your logic to update the file
 | 
					 | 
				
			||||||
            jq '.date_created = "'"$(date +%Y-%m-%d)"'"' "$file" > tmp.$$.json && mv tmp.$$.json "$file"
 | 
					 | 
				
			||||||
          done
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      - name: Commit changes if updated
 | 
					 | 
				
			||||||
        run: |
 | 
					 | 
				
			||||||
          git add *.json
 | 
					 | 
				
			||||||
          git diff --cached --quiet || git commit -m "Update JSON dates"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      - name: Push changes
 | 
					 | 
				
			||||||
        env:
 | 
					 | 
				
			||||||
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
 | 
					 | 
				
			||||||
        run: |
 | 
					 | 
				
			||||||
          git push
 | 
					 | 
				
			||||||
							
								
								
									
										48
									
								
								.github/workflows/update_json_date.yml.bak
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								.github/workflows/update_json_date.yml.bak
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,48 @@
 | 
				
			|||||||
 | 
					name: Update JSON Date
 | 
				
			||||||
 | 
					on:
 | 
				
			||||||
 | 
					  pull_request:
 | 
				
			||||||
 | 
					    types: [opened, synchronize, reopened]
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					jobs:
 | 
				
			||||||
 | 
					  list-files:
 | 
				
			||||||
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
 | 
					    steps:
 | 
				
			||||||
 | 
					    - name: Checkout PR Branch
 | 
				
			||||||
 | 
					      uses: actions/checkout@v4
 | 
				
			||||||
 | 
					      with:
 | 
				
			||||||
 | 
					        ref: ${{ github.event.pull_request.head.ref }}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - name: Fetch PR changes
 | 
				
			||||||
 | 
					      run: |
 | 
				
			||||||
 | 
					          git remote add fork https://github.com/${{ github.event.pull_request.head.repo.full_name }}.git
 | 
				
			||||||
 | 
					          git fetch fork ${{ github.event.pull_request.head.ref }}:pullreq
 | 
				
			||||||
 | 
					          git checkout pullreq
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - name: Update JSON
 | 
				
			||||||
 | 
					      id: changed-files
 | 
				
			||||||
 | 
					      run: |
 | 
				
			||||||
 | 
					          FILES=$(gh api repos/${{ github.repository }}/pulls/${{ github.event.pull_request.number }}/files --jq '.[].filename' | tr '\n' ' ')
 | 
				
			||||||
 | 
					          echo "changed_files=${FILES}"
 | 
				
			||||||
 | 
					          for FILE in $FILES; do
 | 
				
			||||||
 | 
					            if [[ "$FILE" =~ /(.*)\.json ]]; then
 | 
				
			||||||
 | 
					              NAME="${BASH_REMATCH[1]}"
 | 
				
			||||||
 | 
					            else
 | 
				
			||||||
 | 
					              echo "no new JSON in ${FILES}"
 | 
				
			||||||
 | 
					              continue
 | 
				
			||||||
 | 
					            fi
 | 
				
			||||||
 | 
					          
 | 
				
			||||||
 | 
					            JSON_FILE="json/${NAME}.json"
 | 
				
			||||||
 | 
					            if [[ -f "$JSON_FILE" ]]; then
 | 
				
			||||||
 | 
					              echo "Updating date_created in $JSON_FILE"
 | 
				
			||||||
 | 
					              jq --arg date "$(date +%Y-%m-%d)" '.date_created = $date' "$JSON_FILE" > tmp.json && mv tmp.json "$JSON_FILE"
 | 
				
			||||||
 | 
					            else
 | 
				
			||||||
 | 
					              echo "JSON file $FILES not found"
 | 
				
			||||||
 | 
					            fi
 | 
				
			||||||
 | 
					          done
 | 
				
			||||||
 | 
					             
 | 
				
			||||||
 | 
					          git config --global user.name "github-actions[bot]"
 | 
				
			||||||
 | 
					          git config --global user.email "github-actions[bot]@users.noreply.github.com"
 | 
				
			||||||
 | 
					          git diff --exit-code || git commit -am "Updating Dates in affected JSON files."
 | 
				
			||||||
 | 
					          git push 
 | 
				
			||||||
 | 
					      env:
 | 
				
			||||||
 | 
					          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
 | 
				
			||||||
							
								
								
									
										76
									
								
								CHANGELOG.md
									
									
									
									
									
								
							
							
						
						
									
										76
									
								
								CHANGELOG.md
									
									
									
									
									
								
							@@ -16,6 +16,82 @@ All LXC instances created using this repository come pre-installed with Midnight
 | 
				
			|||||||
> [!IMPORTANT]
 | 
					> [!IMPORTANT]
 | 
				
			||||||
Do not break established syntax in this file, as it is automatically updated by a Github Workflow
 | 
					Do not break established syntax in this file, as it is automatically updated by a Github Workflow
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-01-20
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Changed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### ✨ New Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- New Script: UrBackup Server [@kris701](https://github.com/kris701) ([#1569](https://github.com/community-scripts/ProxmoxVE/pull/1569))
 | 
				
			||||||
 | 
					- New Script: Proxmox Mail Gateway Post Installer [@thost96](https://github.com/thost96) ([#1559](https://github.com/community-scripts/ProxmoxVE/pull/1559))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Update Kimai Dependency: Use PHP 8.3 [@MickLesk](https://github.com/MickLesk) ([#1609](https://github.com/community-scripts/ProxmoxVE/pull/1609))
 | 
				
			||||||
 | 
					- Feature: Add xCaddy for external Modules on Caddy-LXC [@MickLesk](https://github.com/MickLesk) ([#1613](https://github.com/community-scripts/ProxmoxVE/pull/1613))
 | 
				
			||||||
 | 
					- Fix Pocketbase URL after install [@MickLesk](https://github.com/MickLesk) ([#1597](https://github.com/community-scripts/ProxmoxVE/pull/1597))
 | 
				
			||||||
 | 
					- Unifi.sh fix wrong URL after Install [@thost96](https://github.com/thost96) ([#1601](https://github.com/community-scripts/ProxmoxVE/pull/1601))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🌐 Website
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Update Website | Add new Categories [@MickLesk](https://github.com/MickLesk) ([#1606](https://github.com/community-scripts/ProxmoxVE/pull/1606))
 | 
				
			||||||
 | 
					- Grafana: Mark container as updateable [@andygrunwald](https://github.com/andygrunwald) ([#1603](https://github.com/community-scripts/ProxmoxVE/pull/1603))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🧰 Maintenance
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- [core] Update build.func: Add defaults to Advanced mode [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#1548](https://github.com/community-scripts/ProxmoxVE/pull/1548))
 | 
				
			||||||
 | 
					- Update build.func: Fix Advanced Tags (Remove all if empty / overwrite if default cleared) [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#1612](https://github.com/community-scripts/ProxmoxVE/pull/1612))
 | 
				
			||||||
 | 
					- Add new Check for LXC MaxKeys by @cricalix [@MickLesk](https://github.com/MickLesk) ([#1602](https://github.com/community-scripts/ProxmoxVE/pull/1602))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-01-19
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Changed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Update Opengist.sh: Fix broken backup function [@bvdberg01](https://github.com/bvdberg01) ([#1572](https://github.com/community-scripts/ProxmoxVE/pull/1572))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-01-18
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Changed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 💥 Breaking Changes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- **READ GUIDE FIRST** breaking change: Homeassistant-Core upgrade os and python3 [@MickLesk](https://github.com/MickLesk) ([#1550](https://github.com/community-scripts/ProxmoxVE/pull/1550))
 | 
				
			||||||
 | 
					- Update Openwrt: Delete lines that do WAN input and forward accept [@chackl1990](https://github.com/chackl1990) ([#1540](https://github.com/community-scripts/ProxmoxVE/pull/1540))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- added cifs support in ubuntu2404-vm.sh [@plonxyz](https://github.com/plonxyz) ([#1461](https://github.com/community-scripts/ProxmoxVE/pull/1461))
 | 
				
			||||||
 | 
					- Fix linkwarden update [@burgerga](https://github.com/burgerga) ([#1565](https://github.com/community-scripts/ProxmoxVE/pull/1565))
 | 
				
			||||||
 | 
					- [jellyseerr] Update nodejs if not up-to-date [@makstech](https://github.com/makstech) ([#1563](https://github.com/community-scripts/ProxmoxVE/pull/1563))
 | 
				
			||||||
 | 
					- Update VM Tags [@oOStroudyOo](https://github.com/oOStroudyOo) ([#1562](https://github.com/community-scripts/ProxmoxVE/pull/1562))
 | 
				
			||||||
 | 
					- Update apt-cacher-ng.sh: Typo/Missing $ [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#1545](https://github.com/community-scripts/ProxmoxVE/pull/1545))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-01-16
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Changed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 💥 Breaking Changes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Update jellyseerr-install.sh to use Node 22 as required by latest Jellyseerr version [@pedrovieira](https://github.com/pedrovieira) ([#1535](https://github.com/community-scripts/ProxmoxVE/pull/1535))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### ✨ New Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- New script: Dotnet ASP.NET Web Server [@kris701](https://github.com/kris701) ([#1501](https://github.com/community-scripts/ProxmoxVE/pull/1501))
 | 
				
			||||||
 | 
					- New script: phpIPAM [@bvdberg01](https://github.com/bvdberg01) ([#1503](https://github.com/community-scripts/ProxmoxVE/pull/1503))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🌐 Website
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Add Mobile check for empty icon-url on website [@MickLesk](https://github.com/MickLesk) ([#1532](https://github.com/community-scripts/ProxmoxVE/pull/1532))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🧰 Maintenance
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- [Workflow]Update autolabeler-config.json [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#1525](https://github.com/community-scripts/ProxmoxVE/pull/1525))
 | 
				
			||||||
 | 
					- [core]Update update_json_date.yml [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#1526](https://github.com/community-scripts/ProxmoxVE/pull/1526))
 | 
				
			||||||
 | 
					- [core] Recreate Update JSON Workflow [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#1523](https://github.com/community-scripts/ProxmoxVE/pull/1523))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## 2025-01-15
 | 
					## 2025-01-15
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Changed
 | 
					### Changed
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										162
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										162
									
								
								README.md
									
									
									
									
									
								
							@@ -7,106 +7,98 @@
 | 
				
			|||||||
</div>
 | 
					</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<div style="border: 2px solid #d1d5db; padding: 20px; border-radius: 8px; background-color: #f9fafb;">
 | 
					<div style="border: 2px solid #d1d5db; padding: 20px; border-radius: 8px; background-color: #f9fafb;">
 | 
				
			||||||
  <h2 align="center">Proxmox VE Helper-Scripts: A Community Legacy</h2>
 | 
					  <h2 align="center">Proxmox VE Helper-Scripts</h2>
 | 
				
			||||||
  <p>Dear Community,</p>
 | 
					  <p align="center">A Community Legacy in Memory of @tteck</p>
 | 
				
			||||||
  <p>In agreement with <a href="https://github.com/tteck">tteck</a> and <a href="https://github.com/community-scripts">Community-Scripts</a>, this project has now transitioned into a community-driven effort. We aim to continue his work, building on the foundation he laid to support Proxmox users worldwide. Tteck sadly <a href="https://github.com/community-scripts/ProxmoxVE/discussions/237">passed away in early November 2024</a>. This project will be a memorial for his incredible contribution to the community.</p>
 | 
					  <p align="center">
 | 
				
			||||||
 | 
					    <a href="https://helper-scripts.com">
 | 
				
			||||||
<p align="center">
 | 
					      <img src="https://img.shields.io/badge/Website-4c9b3f?style=for-the-badge&logo=github&logoColor=white" alt="Website" />
 | 
				
			||||||
  <a href="https://helper-scripts.com">
 | 
					    </a>
 | 
				
			||||||
    <img src="https://img.shields.io/badge/Website-4c9b3f?style=for-the-badge&logo=github&logoColor=white" alt="Website" />
 | 
					    <a href="https://discord.gg/UHrpNWGwkH">
 | 
				
			||||||
  </a> 
 | 
					      <img src="https://img.shields.io/badge/Discord-7289da?style=for-the-badge&logo=discord&logoColor=white" alt="Discord" />
 | 
				
			||||||
  <a href="https://github.com/community-scripts/ProxmoxVE/blob/main/.github/CONTRIBUTING.md">
 | 
					    </a> 
 | 
				
			||||||
    <img src="https://img.shields.io/badge/Contribute-ff4785?style=for-the-badge&logo=git&logoColor=white" alt="Contribute" />
 | 
					    <a href="https://ko-fi.com/community_scripts">
 | 
				
			||||||
  </a> 
 | 
					      <img src="https://img.shields.io/badge/Support-FF5F5F?style=for-the-badge&logo=ko-fi&logoColor=white" alt="Donate" />
 | 
				
			||||||
  <a href="https://github.com/community-scripts/ProxmoxVE/blob/main/USER_SUBMITTED_GUIDES.md">
 | 
					    </a>
 | 
				
			||||||
    <img src="https://img.shields.io/badge/Guides-0077b5?style=for-the-badge&logo=read-the-docs&logoColor=white" alt="Guides" />
 | 
					    <a href="https://github.com/community-scripts/ProxmoxVE/blob/main/.github/CONTRIBUTING.md">
 | 
				
			||||||
  </a> 
 | 
					      <img src="https://img.shields.io/badge/Contribute-ff4785?style=for-the-badge&logo=git&logoColor=white" alt="Contribute" />
 | 
				
			||||||
  <a href="https://discord.gg/UHrpNWGwkH">
 | 
					    </a> 
 | 
				
			||||||
    <img src="https://img.shields.io/badge/Discord-7289da?style=for-the-badge&logo=discord&logoColor=white" alt="Discord" />
 | 
					    <a href="https://github.com/community-scripts/ProxmoxVE/blob/main/USER_SUBMITTED_GUIDES.md">
 | 
				
			||||||
  </a> 
 | 
					      <img src="https://img.shields.io/badge/Guides-0077b5?style=for-the-badge&logo=read-the-docs&logoColor=white" alt="Guides" />
 | 
				
			||||||
  <a href="https://github.com/community-scripts/ProxmoxVE/blob/main/CHANGELOG.md">
 | 
					    </a> 
 | 
				
			||||||
    <img src="https://img.shields.io/badge/Changelog-6c5ce7?style=for-the-badge&logo=git&logoColor=white" alt="Changelog" />
 | 
					    <a href="https://github.com/community-scripts/ProxmoxVE/blob/main/CHANGELOG.md">
 | 
				
			||||||
  </a>
 | 
					      <img src="https://img.shields.io/badge/Changelog-6c5ce7?style=for-the-badge&logo=git&logoColor=white" alt="Changelog" />
 | 
				
			||||||
</p>
 | 
					    </a>
 | 
				
			||||||
 | 
					  </p>
 | 
				
			||||||
<hr>
 | 
					</div>
 | 
				
			||||||
 | 
					 | 
				
			||||||
## 🚀  Introduction
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
**Proxmox VE Helper-Scripts** is a community-driven initiative that simplifies the setup of Proxmox Virtual Environment (VE). Originally created by [tteck](https://github.com/tteck), these scripts automate and streamline the process of creating and configuring Linux containers (LXC) and virtual machines (VMs) on Proxmox VE.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
---
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## 📦  Features
 | 
					## 🚀 Project Overview
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- **Interactive Setup**: Select simple or advanced options for your VM or LXC container configurations.
 | 
					**Proxmox VE Helper-Scripts** is a collection of tools to simplify the setup and management of Proxmox Virtual Environment (VE). Originally created by [tteck](https://github.com/tteck), these scripts are now continued by the community. Our goal is to preserve and expand upon tteck's work, providing an ongoing resource for Proxmox users worldwide.
 | 
				
			||||||
- **Customizable Configuration**: Advanced setup allows you to fine-tune your environment.
 | 
					 | 
				
			||||||
- **Ease of Use**: Scripts automatically validate inputs to generate the final configuration.
 | 
					 | 
				
			||||||
- **Proxmox Integration**: Seamlessly integrates with Proxmox VE to provide a user-friendly experience.
 | 
					 | 
				
			||||||
- **Community-Driven**: This project is actively maintained and improved by the community.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
<hr>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## 🚀  Installation
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
To install the Proxmox Helper Scripts, simply follow these steps:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
1. Open the [Website](https://helper-scripts.com/)
 | 
					 | 
				
			||||||
2. Search for the desired script, e.g. **"Home Assistant OS VM"**.
 | 
					 | 
				
			||||||
3. In the **"How To Install"** section, copy the provided **Bash command**.
 | 
					 | 
				
			||||||
4. Open the Proxmox shell on your **main node**.
 | 
					 | 
				
			||||||
5. Paste the command into the console, hit enter, and you are away! 🚀
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
For detailed instructions, check out our [official guides](https://github.com/community-scripts/ProxmoxVE/blob/main/USER_SUBMITTED_GUIDES.md).
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
---
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## ❤️  Community and Contributions
 | 
					## 📦 Features
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The Proxmox Helper Scripts project is community-driven, and we highly appreciate any contributions — whether it's through reporting bugs, suggesting features, improving documentation, or spreading the word. We are committed to maintaining transparency and sustainability in this open-source effort.
 | 
					- **Interactive Setup**: Choose between simple and advanced options for configuring VMs and LXC containers.
 | 
				
			||||||
 | 
					- **Customizable Configurations**: Advanced setup for fine-tuning your environment.
 | 
				
			||||||
 | 
					- **Seamless Integration**: Works seamlessly with Proxmox VE for a smooth experience.
 | 
				
			||||||
 | 
					- **Community-driven**: Actively maintained and improved by the Proxmox community.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### 💖  Donate to Support the Project
 | 
					---
 | 
				
			||||||
 | 
					## ✅ Requirements
 | 
				
			||||||
 | 
					
 | 
				
			||||||
We offer two donation options to help maintain and grow this project:
 | 
					Ensure your system meets the following prerequisites:
 | 
				
			||||||
 | 
					 | 
				
			||||||
- **Ko-Fi for tteck**: [Donate to tteck's wife](https://ko-fi.com/proxmoxhelperscripts) - All donations will go directly to Angie, wife of the founder of this project [who passed away in early November 2024](https://github.com/community-scripts/ProxmoxVE/discussions/237).
 | 
					 | 
				
			||||||
- **Ko-Fi for Community Edition**: [Donate to this project](https://ko-fi.com/community_scripts) -  All funds will go towards script maintenance infrastructure and server costs. **Our most immediate need is funding testing infrastructure**.  Your contributions help keep the project running. To honor tteck's legacy this project will also raise money for charity (cancer research, hospice care). Of the money donated to this project, 30% will be donated to charity. Income, expenditure and charitable donations will be disclosed annually in a transparent manner. 
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
<hr>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## 💬  Get Help
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Have a question or ran into an issue? Join the conversation and get help from fellow community members:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
- **Discord**: Join our [Proxmox Helper Scripts Discord server](https://discord.gg/UHrpNWGwkH) to chat with other users and get support.
 | 
					 | 
				
			||||||
- **GitHub Discussions**: [Ask questions or report issues](https://github.com/community-scripts/ProxmoxVE/discussions).
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
<hr>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## 🤝  Found a bug or missing feature?
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
If you’ve encountered an issue or identified an area for improvement, please file a new issue on our [GitHub issues page](https://github.com/community-scripts/ProxmoxVE/issues). If you’ve already found a solution or improvement, feel free to submit a pull request! We’d love to review and merge your contributions.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
<hr>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## ✅  Requirements
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
To use the Proxmox VE Helper-Scripts, your system should meet the following requirements:
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
- **Proxmox VE version**: 8.x or higher
 | 
					- **Proxmox VE version**: 8.x or higher
 | 
				
			||||||
- **Linux**: Compatible with most distributions
 | 
					- **Linux**: Compatible with most distributions
 | 
				
			||||||
- **Dependencies**: Ensure that your system has bash and curl installed.
 | 
					- **Dependencies**: bash and curl should be installed.
 | 
				
			||||||
 | 
					 | 
				
			||||||
<hr>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## 📜  License
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
This project is licensed under the terms of the [MIT License](LICENSE).
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
---
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## 📢  Acknowledgments
 | 
					## 🚀 Installation
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					To install the Proxmox Helper Scripts, follow these steps:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1. Visit the [Website](https://helper-scripts.com/).
 | 
				
			||||||
 | 
					2. Search for the desired script, e.g., **"Home Assistant OS VM"**.
 | 
				
			||||||
 | 
					3. Copy the provided **Bash command** from the **"How To Install"** section.
 | 
				
			||||||
 | 
					4. Open the Proxmox shell on your **main node** and paste the command.
 | 
				
			||||||
 | 
					5. Press enter to start the installation! 🚀
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## ❤️ Community and Contributions
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					We appreciate any contributions to the project—whether it's bug reports, feature requests, documentation improvements, or spreading the word. Your involvement helps keep the project alive and sustainable.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 💖 Donate to Support the Project
 | 
				
			||||||
 | 
					- **Ko-Fi for Community Edition**: [Donate to support this project](https://ko-fi.com/community_scripts) – Donations go towards maintaining the project, testing infrastructure, and charity (cancer research, hospice care). 30% of the funds will be donated to charity.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 💬 Get Help
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Join our community for support:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- **Discord**: Join our [Proxmox Helper Scripts Discord server](https://discord.gg/UHrpNWGwkH) for real-time support.
 | 
				
			||||||
 | 
					- **GitHub Discussions**: [Ask questions or report issues](https://github.com/community-scripts/ProxmoxVE/discussions).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 🤝 Report a Bug or Feature Request
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					If you encounter any issues or have suggestions for improvement, file a new issue on our [GitHub issues page](https://github.com/community-scripts/ProxmoxVE/issues). You can also submit pull requests with solutions or enhancements!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 📜 License
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This project is licensed under the [MIT License](LICENSE).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</br>
 | 
				
			||||||
 | 
					</br>
 | 
				
			||||||
 | 
					<p align="center">
 | 
				
			||||||
 | 
					  <i style="font-size: smaller;"><b>Proxmox</b>® is a registered trademark of <a href="https://www.proxmox.com/en/about/company">Proxmox Server Solutions GmbH</a>.</i>
 | 
				
			||||||
 | 
					</p>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This community project is a memorial to the memory of [tteck](https://github.com/tteck). His foundational work created a thriving Proxmox community. Tteck worked on this project right until the end, even while in hospice. We are dedicated to keeping his vision alive and expanding upon it with the continued support of this vibrant community.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Proxmox® is a registered trademark of [Proxmox Server Solutions GmbH](https://www.proxmox.com/en/about/company).
 | 
					 | 
				
			||||||
@@ -46,4 +46,4 @@ description
 | 
				
			|||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3142/acng-report.html{CL}"
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3142/acng-report.html${CL}"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -10,7 +10,7 @@ APP="Caddy"
 | 
				
			|||||||
var_tags="webserver"
 | 
					var_tags="webserver"
 | 
				
			||||||
var_cpu="1"
 | 
					var_cpu="1"
 | 
				
			||||||
var_ram="512"
 | 
					var_ram="512"
 | 
				
			||||||
var_disk="2"
 | 
					var_disk="4"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
var_unprivileged="1"
 | 
					var_unprivileged="1"
 | 
				
			||||||
@@ -46,4 +46,4 @@ description
 | 
				
			|||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:80${CL}"
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:80${CL}"
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										49
									
								
								ct/dotnetaspwebapi.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										49
									
								
								ct/dotnetaspwebapi.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,49 @@
 | 
				
			|||||||
 | 
					#!/usr/bin/env bash
 | 
				
			||||||
 | 
					source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
 | 
				
			||||||
 | 
					# Copyright (c) 2021-2025 community-scripts ORG
 | 
				
			||||||
 | 
					# Author: Kristian Skov
 | 
				
			||||||
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
 | 
					# Source: https://learn.microsoft.com/en-us/aspnet/core/host-and-deploy/linux-nginx?view=aspnetcore-9.0&tabs=linux-ubuntu
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Default Values
 | 
				
			||||||
 | 
					APP="Dotnet ASP Web API"
 | 
				
			||||||
 | 
					var_tags="web"
 | 
				
			||||||
 | 
					var_cpu="1"
 | 
				
			||||||
 | 
					var_ram="1024"
 | 
				
			||||||
 | 
					var_disk="8"
 | 
				
			||||||
 | 
					var_os="ubuntu"
 | 
				
			||||||
 | 
					var_version="24.04"
 | 
				
			||||||
 | 
					var_unprivileged="0"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
 | 
					variables
 | 
				
			||||||
 | 
					color
 | 
				
			||||||
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function update_script() {
 | 
				
			||||||
 | 
					    header_info
 | 
				
			||||||
 | 
					    check_container_storage
 | 
				
			||||||
 | 
					    check_container_resources
 | 
				
			||||||
 | 
					    if [[ ! -d /var/www ]]; then
 | 
				
			||||||
 | 
					        msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
 | 
					        exit
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    msg_info "Updating ${APP} LXC"
 | 
				
			||||||
 | 
					    apt-get update &>/dev/null
 | 
				
			||||||
 | 
					    apt-get -y upgrade &>/dev/null
 | 
				
			||||||
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
 | 
					    exit
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					start
 | 
				
			||||||
 | 
					build_container
 | 
				
			||||||
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
 | 
					echo -e "${INFO}${YW} Access it using the following IP:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}${IP}:80${CL}"
 | 
				
			||||||
@@ -1,7 +1,7 @@
 | 
				
			|||||||
#!/usr/bin/env bash
 | 
					#!/usr/bin/env bash
 | 
				
			||||||
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
 | 
					source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
 | 
				
			||||||
# Copyright (c) 2021-2025 tteck
 | 
					# Copyright (c) 2021-2025 community-scripts ORG
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster) | Co-Author: MickLesk (CanbiZ)
 | 
				
			||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# Source: https://www.home-assistant.io/
 | 
					# Source: https://www.home-assistant.io/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -9,10 +9,10 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
 | 
				
			|||||||
APP="Home Assistant-Core"
 | 
					APP="Home Assistant-Core"
 | 
				
			||||||
var_tags="automation;smarthome"
 | 
					var_tags="automation;smarthome"
 | 
				
			||||||
var_cpu="2"
 | 
					var_cpu="2"
 | 
				
			||||||
var_ram="1024"
 | 
					var_ram="2048"
 | 
				
			||||||
var_disk="8"
 | 
					var_disk="10"
 | 
				
			||||||
var_os="ubuntu"
 | 
					var_os="ubuntu"
 | 
				
			||||||
var_version="24.04"
 | 
					var_version="24.10"
 | 
				
			||||||
var_unprivileged="1"
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# App Output & Base Settings
 | 
					# App Output & Base Settings
 | 
				
			||||||
@@ -26,6 +26,13 @@ catch_errors
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
  header_info
 | 
					  header_info
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # OS Check
 | 
				
			||||||
 | 
					  if ! lsb_release -d | grep -q "Ubuntu 24.10"; then
 | 
				
			||||||
 | 
					    msg_error "Wrong OS detected. This script only supports Ubuntu 24.10."
 | 
				
			||||||
 | 
					    msg_error "Read Guide: https://github.com/community-scripts/ProxmoxVE/discussions/1549"
 | 
				
			||||||
 | 
					    exit 1
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
  check_container_storage
 | 
					  check_container_storage
 | 
				
			||||||
  check_container_resources
 | 
					  check_container_resources
 | 
				
			||||||
  if [[ ! -d /srv/homeassistant ]]; then
 | 
					  if [[ ! -d /srv/homeassistant ]]; then
 | 
				
			||||||
@@ -51,17 +58,13 @@ function update_script() {
 | 
				
			|||||||
      echo -e "${GN}Updating to Stable Version${CL}"
 | 
					      echo -e "${GN}Updating to Stable Version${CL}"
 | 
				
			||||||
      BR=""
 | 
					      BR=""
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
    if [[ "$PY" =~ ^python3\.(11|12)\.[0-9]+$ ]]; then
 | 
					 | 
				
			||||||
    echo -e "⚠️  Home Assistant will soon require Python 3.13.x";
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    msg_info "Stopping Home Assistant"
 | 
					    msg_info "Stopping Home Assistant"
 | 
				
			||||||
    systemctl stop homeassistant
 | 
					    systemctl stop homeassistant
 | 
				
			||||||
    msg_ok "Stopped Home Assistant"
 | 
					    msg_ok "Stopped Home Assistant"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Updating Home Assistant"
 | 
					    msg_info "Updating Home Assistant"
 | 
				
			||||||
    source /srv/homeassistant/bin/activate
 | 
					    source /srv/homeassistant/bin/activate
 | 
				
			||||||
    uv pip install ${BR}--upgrade homeassistant &>/dev/null
 | 
					    pip install ${BR}--upgrade homeassistant &>/dev/null
 | 
				
			||||||
    msg_ok "Updated Home Assistant"
 | 
					    msg_ok "Updated Home Assistant"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Starting Home Assistant"
 | 
					    msg_info "Starting Home Assistant"
 | 
				
			||||||
@@ -75,7 +78,7 @@ function update_script() {
 | 
				
			|||||||
  if [ "$UPD" == "2" ]; then
 | 
					  if [ "$UPD" == "2" ]; then
 | 
				
			||||||
    msg_info "Installing Home Assistant Community Store (HACS)"
 | 
					    msg_info "Installing Home Assistant Community Store (HACS)"
 | 
				
			||||||
    apt update &>/dev/null
 | 
					    apt update &>/dev/null
 | 
				
			||||||
    apt install unzip &>/dev/null
 | 
					    apt install -y unzip &>/dev/null
 | 
				
			||||||
    cd .homeassistant
 | 
					    cd .homeassistant
 | 
				
			||||||
    bash <(curl -fsSL https://get.hacs.xyz) &>/dev/null
 | 
					    bash <(curl -fsSL https://get.hacs.xyz) &>/dev/null
 | 
				
			||||||
    msg_ok "Installed Home Assistant Community Store (HACS)"
 | 
					    msg_ok "Installed Home Assistant Community Store (HACS)"
 | 
				
			||||||
@@ -102,16 +105,19 @@ function update_script() {
 | 
				
			|||||||
    msg_ok "Installed FileBrowser"
 | 
					    msg_ok "Installed FileBrowser"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Creating Service"
 | 
					    msg_info "Creating Service"
 | 
				
			||||||
    service_path="/etc/systemd/system/filebrowser.service"
 | 
					    cat <<EOF > /etc/systemd/system/filebrowser.service
 | 
				
			||||||
    echo "[Unit]
 | 
					[Unit]
 | 
				
			||||||
Description=Filebrowser
 | 
					Description=Filebrowser
 | 
				
			||||||
After=network-online.target
 | 
					After=network-online.target
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[Service]
 | 
					[Service]
 | 
				
			||||||
User=root
 | 
					User=root
 | 
				
			||||||
WorkingDirectory=/root/
 | 
					WorkingDirectory=/root/
 | 
				
			||||||
ExecStart=/usr/local/bin/filebrowser -r /root/.homeassistant
 | 
					ExecStart=/usr/local/bin/filebrowser -r /root/.homeassistant
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[Install]
 | 
					[Install]
 | 
				
			||||||
WantedBy=default.target" >$service_path
 | 
					WantedBy=default.target
 | 
				
			||||||
 | 
					EOF
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    systemctl enable --now -q filebrowser.service
 | 
					    systemctl enable --now -q filebrowser.service
 | 
				
			||||||
    msg_ok "Created Service"
 | 
					    msg_ok "Created Service"
 | 
				
			||||||
@@ -130,4 +136,4 @@ description
 | 
				
			|||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8123${CL}"
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8123${CL}"
 | 
				
			||||||
@@ -34,6 +34,22 @@ function update_script() {
 | 
				
			|||||||
        exit
 | 
					        exit
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if [ "$(node -v | cut -c2-3)" -ne 22 ]; then
 | 
				
			||||||
 | 
					        msg_info "Updating Node.js Repository"
 | 
				
			||||||
 | 
					        echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
 | 
				
			||||||
 | 
					        msg_ok "Updating Node.js Repository"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        msg_info "Updating Packages"
 | 
				
			||||||
 | 
					        apt-get update &>/dev/null
 | 
				
			||||||
 | 
					        apt-get -y upgrade &>/dev/null
 | 
				
			||||||
 | 
					        msg_ok "Updating Packages"
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        msg_info "Cleaning up"
 | 
				
			||||||
 | 
					        apt-get -y autoremove
 | 
				
			||||||
 | 
					        apt-get -y autoclean
 | 
				
			||||||
 | 
					        msg_ok "Cleaning up"
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if ! command -v pnpm &> /dev/null; then
 | 
					    if ! command -v pnpm &> /dev/null; then
 | 
				
			||||||
        msg_error "pnpm not found. Installing..."
 | 
					        msg_error "pnpm not found. Installing..."
 | 
				
			||||||
        npm install -g pnpm &>/dev/null
 | 
					        npm install -g pnpm &>/dev/null
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -40,6 +40,7 @@ function update_script() {
 | 
				
			|||||||
    msg_info "Updating ${APP} to ${RELEASE}"
 | 
					    msg_info "Updating ${APP} to ${RELEASE}"
 | 
				
			||||||
    cd /opt
 | 
					    cd /opt
 | 
				
			||||||
    mv /opt/linkwarden/.env /opt/.env
 | 
					    mv /opt/linkwarden/.env /opt/.env
 | 
				
			||||||
 | 
					    rm -rf /opt/linkwarden
 | 
				
			||||||
    RELEASE=$(curl -s https://api.github.com/repos/linkwarden/linkwarden/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
 | 
					    RELEASE=$(curl -s https://api.github.com/repos/linkwarden/linkwarden/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
 | 
				
			||||||
    wget -q "https://github.com/linkwarden/linkwarden/archive/refs/tags/${RELEASE}.zip"
 | 
					    wget -q "https://github.com/linkwarden/linkwarden/archive/refs/tags/${RELEASE}.zip"
 | 
				
			||||||
    unzip -q ${RELEASE}.zip
 | 
					    unzip -q ${RELEASE}.zip
 | 
				
			||||||
@@ -59,7 +60,6 @@ function update_script() {
 | 
				
			|||||||
    msg_ok "Started ${APP}"
 | 
					    msg_ok "Started ${APP}"
 | 
				
			||||||
    msg_info "Cleaning up"
 | 
					    msg_info "Cleaning up"
 | 
				
			||||||
    rm -rf /opt/${RELEASE}.zip
 | 
					    rm -rf /opt/${RELEASE}.zip
 | 
				
			||||||
    rm -rf /opt/linkwarden_bak
 | 
					 | 
				
			||||||
    msg_ok "Cleaned"
 | 
					    msg_ok "Cleaned"
 | 
				
			||||||
    msg_ok "Updated Successfully"
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
  else
 | 
					  else
 | 
				
			||||||
@@ -75,4 +75,4 @@ description
 | 
				
			|||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -32,29 +32,35 @@ function update_script() {
 | 
				
			|||||||
    msg_error "No ${APP} Installation Found!"
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
    exit
 | 
					    exit
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  msg_info "Stopping Service"
 | 
					 | 
				
			||||||
  systemctl stop opengist.service
 | 
					 | 
				
			||||||
  msg_ok "Stopped Service"
 | 
					 | 
				
			||||||
  apt-get update &>/dev/null
 | 
					 | 
				
			||||||
  apt-get upgrade &>/dev/null
 | 
					 | 
				
			||||||
  RELEASE=$(curl -s https://api.github.com/repos/thomiceli/opengist/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
					  RELEASE=$(curl -s https://api.github.com/repos/thomiceli/opengist/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
				
			||||||
  if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
 | 
					  if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
 | 
				
			||||||
 | 
					    msg_info "Stopping Service"
 | 
				
			||||||
 | 
					    systemctl stop opengist.service
 | 
				
			||||||
 | 
					    msg_ok "Stopped Service"
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
    msg_info "Updating ${APP} to v${RELEASE}"
 | 
					    msg_info "Updating ${APP} to v${RELEASE}"
 | 
				
			||||||
 | 
					    apt-get update &>/dev/null
 | 
				
			||||||
 | 
					    apt-get -y upgrade &>/dev/null
 | 
				
			||||||
    cd /opt
 | 
					    cd /opt
 | 
				
			||||||
    wget -qO "https://github.com/thomiceli/opengist/releases/download/v${RELEASE}/opengist${RELEASE}-linux-amd64.tar.gz"
 | 
					    mv /opt/opengist /opt/opengist-backup
 | 
				
			||||||
    rm -rf /opt/opengist
 | 
					    wget -q "https://github.com/thomiceli/opengist/releases/download/v${RELEASE}/opengist${RELEASE}-linux-amd64.tar.gz"
 | 
				
			||||||
    tar -xzf opengist${RELEASE}-linux-amd64.tar.gz
 | 
					    tar -xzf opengist${RELEASE}-linux-amd64.tar.gz
 | 
				
			||||||
 | 
					    mv /opt/opengist-backup/config.yml /opt/opengist/config.yml
 | 
				
			||||||
    chmod +x /opt/opengist/opengist
 | 
					    chmod +x /opt/opengist/opengist
 | 
				
			||||||
    echo "${RELEASE}" >"/opt/${APP}_version.txt"
 | 
					    echo "${RELEASE}" >"/opt/${APP}_version.txt"
 | 
				
			||||||
    rm -rf /opt/opengist${RELEASE}-linux-amd64.tar.gz
 | 
					 | 
				
			||||||
    apt-get -y autoremove &>/dev/null
 | 
					 | 
				
			||||||
    apt-get -y autoclean &>/dev/null
 | 
					 | 
				
			||||||
    msg_ok "Updated ${APP} LXC"
 | 
					    msg_ok "Updated ${APP} LXC"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Starting Service"
 | 
					    msg_info "Starting Service"
 | 
				
			||||||
    systemctl start opengist.service
 | 
					    systemctl start opengist.service
 | 
				
			||||||
    msg_ok "Started Service"
 | 
					    msg_ok "Started Service"
 | 
				
			||||||
    
 | 
					
 | 
				
			||||||
 | 
					    msg_info "Cleaning up"
 | 
				
			||||||
 | 
					    rm -rf /opt/opengist${RELEASE}-linux-amd64.tar.gz
 | 
				
			||||||
 | 
					    rm -rf /opt/opengist-backup
 | 
				
			||||||
 | 
					    apt-get -y autoremove &>/dev/null
 | 
				
			||||||
 | 
					    apt-get -y autoclean &>/dev/null
 | 
				
			||||||
 | 
					    msg_ok "Cleaned"
 | 
				
			||||||
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
  else
 | 
					  else
 | 
				
			||||||
    msg_ok "No update required. ${APP} is already at v${RELEASE}."
 | 
					    msg_ok "No update required. ${APP} is already at v${RELEASE}."
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										72
									
								
								ct/phpipam.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										72
									
								
								ct/phpipam.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,72 @@
 | 
				
			|||||||
 | 
					#!/usr/bin/env bash
 | 
				
			||||||
 | 
					source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
 | 
				
			||||||
 | 
					# Copyright (c) 2021-2025 community-scripts ORG
 | 
				
			||||||
 | 
					# Author: bvdberg01
 | 
				
			||||||
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
 | 
					# Source: https://phpipam.net/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Default Values
 | 
				
			||||||
 | 
					APP="phpIPAM"
 | 
				
			||||||
 | 
					var_tags="network"
 | 
				
			||||||
 | 
					var_cpu="1"
 | 
				
			||||||
 | 
					var_ram="512"
 | 
				
			||||||
 | 
					var_disk="4"
 | 
				
			||||||
 | 
					var_os="debian"
 | 
				
			||||||
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
 | 
					variables
 | 
				
			||||||
 | 
					color
 | 
				
			||||||
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function update_script() {
 | 
				
			||||||
 | 
					  header_info
 | 
				
			||||||
 | 
					  check_container_storage
 | 
				
			||||||
 | 
					  check_container_resources
 | 
				
			||||||
 | 
					  if [[ ! -d /opt/phpipam ]]; then
 | 
				
			||||||
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
 | 
					    exit
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					  RELEASE=$(curl -s https://api.github.com/repos/phpipam/phpipam/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
				
			||||||
 | 
					  if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
 | 
				
			||||||
 | 
					    msg_info "Stopping Service"
 | 
				
			||||||
 | 
					    systemctl stop apache2
 | 
				
			||||||
 | 
					    msg_ok "Stopped Service"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    msg_info "Updating ${APP} to v${RELEASE}"
 | 
				
			||||||
 | 
					    cd /opt
 | 
				
			||||||
 | 
					    mv /opt/phpipam/ /opt/phpipam-backup
 | 
				
			||||||
 | 
					    wget -q "https://github.com/phpipam/phpipam/releases/download/v${RELEASE}/phpipam-v${RELEASE}.zip"
 | 
				
			||||||
 | 
					    unzip -q "phpipam-v${RELEASE}.zip"
 | 
				
			||||||
 | 
					    cp /opt/phpipam-backup/config.php /opt/phpipam
 | 
				
			||||||
 | 
					    echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
				
			||||||
 | 
					    msg_ok "Updated $APP to v${RELEASE}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    msg_info "Starting Service"
 | 
				
			||||||
 | 
					    systemctl start apache2
 | 
				
			||||||
 | 
					    msg_ok "Started Service"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    msg_info "Cleaning up"
 | 
				
			||||||
 | 
					    rm -r "/opt/phpipam-v${RELEASE}.zip"
 | 
				
			||||||
 | 
					    rm -r /opt/phpipam-backup
 | 
				
			||||||
 | 
					    msg_ok "Cleaned"
 | 
				
			||||||
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
 | 
					  else
 | 
				
			||||||
 | 
					    msg_ok "No update required. ${APP} is already at v${RELEASE}"
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					  exit
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					start
 | 
				
			||||||
 | 
					build_container
 | 
				
			||||||
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}"
 | 
				
			||||||
@@ -54,4 +54,4 @@ description
 | 
				
			|||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8080/_${CL}"
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8080/_/${CL}"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -46,4 +46,4 @@ description
 | 
				
			|||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8443${CL}"
 | 
					echo -e "${TAB}${GATEWAY}${BGN}https://${IP}:8443${CL}"
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										49
									
								
								ct/urbackupserver.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										49
									
								
								ct/urbackupserver.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,49 @@
 | 
				
			|||||||
 | 
					#!/usr/bin/env bash
 | 
				
			||||||
 | 
					source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/refs/heads/main/misc/build.func)
 | 
				
			||||||
 | 
					# Copyright (c) 2021-2025 community-scripts ORG
 | 
				
			||||||
 | 
					# Author: Kristian Skov
 | 
				
			||||||
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
 | 
					# Source: https://www.urbackup.org/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Default Values
 | 
				
			||||||
 | 
					APP="UrBackup Server"
 | 
				
			||||||
 | 
					var_tags="web"
 | 
				
			||||||
 | 
					var_cpu="1"
 | 
				
			||||||
 | 
					var_ram="1024"
 | 
				
			||||||
 | 
					var_disk="16"
 | 
				
			||||||
 | 
					var_os="debian"
 | 
				
			||||||
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="0"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
 | 
					variables
 | 
				
			||||||
 | 
					color
 | 
				
			||||||
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function update_script() {
 | 
				
			||||||
 | 
					    header_info
 | 
				
			||||||
 | 
					    check_container_storage
 | 
				
			||||||
 | 
					    check_container_resources
 | 
				
			||||||
 | 
					    if [[ ! -d /var/urbackup ]]; then
 | 
				
			||||||
 | 
					        msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
 | 
					        exit
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    msg_info "Updating ${APP} LXC"
 | 
				
			||||||
 | 
					    apt-get update &>/dev/null
 | 
				
			||||||
 | 
					    apt-get -y upgrade &>/dev/null
 | 
				
			||||||
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
 | 
					    exit
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					start
 | 
				
			||||||
 | 
					build_container
 | 
				
			||||||
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
 | 
					echo -e "${INFO}${YW} Access it using the following IP:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}${IP}:55414${CL}"
 | 
				
			||||||
@@ -1,9 +1,12 @@
 | 
				
			|||||||
import { OperatingSystem } from "@/lib/types";
 | 
					import { OperatingSystem } from "@/lib/types";
 | 
				
			||||||
import { MessagesSquare, Scroll } from "lucide-react";
 | 
					import { MessagesSquare, Scroll } from "lucide-react";
 | 
				
			||||||
import { FaDiscord, FaGithub } from "react-icons/fa";
 | 
					import { FaDiscord, FaGithub } from "react-icons/fa";
 | 
				
			||||||
 | 
					import React from "react";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export const basePath = process.env.BASE_PATH;
 | 
					export const basePath = process.env.BASE_PATH;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const isMobile = typeof window !== "undefined" && window.innerWidth < 640;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export const navbarLinks = [
 | 
					export const navbarLinks = [
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    href: `https://github.com/community-scripts/${basePath}`,
 | 
					    href: `https://github.com/community-scripts/${basePath}`,
 | 
				
			||||||
@@ -23,13 +26,15 @@ export const navbarLinks = [
 | 
				
			|||||||
    icon: <Scroll className="h-4 w-4" />,
 | 
					    icon: <Scroll className="h-4 w-4" />,
 | 
				
			||||||
    text: "Change Log",
 | 
					    text: "Change Log",
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					  !isMobile
 | 
				
			||||||
    href: `https://github.com/community-scripts/${basePath}/discussions`,
 | 
					    ? {
 | 
				
			||||||
    event: "Discussions",
 | 
					        href: `https://github.com/community-scripts/${basePath}/discussions`,
 | 
				
			||||||
    icon: <MessagesSquare className="h-4 w-4 hidden sm:block" />,
 | 
					        event: "Discussions",
 | 
				
			||||||
    text: "Discussions",
 | 
					        icon: <MessagesSquare className="h-4 w-4" />,
 | 
				
			||||||
  },
 | 
					        text: "Discussions",
 | 
				
			||||||
];
 | 
					      }
 | 
				
			||||||
 | 
					    : null,
 | 
				
			||||||
 | 
					].filter(Boolean) as { href: string; event: string; icon: React.ReactNode; text: string }[];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export const mostPopularScripts = [
 | 
					export const mostPopularScripts = [
 | 
				
			||||||
  "Proxmox VE Post Install",
 | 
					  "Proxmox VE Post Install",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -10,7 +10,7 @@
 | 
				
			|||||||
    "moduleResolution": "bundler",
 | 
					    "moduleResolution": "bundler",
 | 
				
			||||||
    "resolveJsonModule": true,
 | 
					    "resolveJsonModule": true,
 | 
				
			||||||
    "isolatedModules": true,
 | 
					    "isolatedModules": true,
 | 
				
			||||||
    "jsx": "preserve",
 | 
					    "jsx": "react-jsx",
 | 
				
			||||||
    "incremental": true,
 | 
					    "incremental": true,
 | 
				
			||||||
    "plugins": [
 | 
					    "plugins": [
 | 
				
			||||||
      {
 | 
					      {
 | 
				
			||||||
@@ -27,7 +27,7 @@
 | 
				
			|||||||
    "**/*.ts",
 | 
					    "**/*.ts",
 | 
				
			||||||
    "**/*.tsx",
 | 
					    "**/*.tsx",
 | 
				
			||||||
    ".next/types/**/*.ts",
 | 
					    ".next/types/**/*.ts",
 | 
				
			||||||
    "next.config.mjs",
 | 
					    "next.config.mjs"
 | 
				
			||||||
  ],
 | 
					  ],
 | 
				
			||||||
  "exclude": ["node_modules"]
 | 
					  "exclude": ["node_modules"]
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,9 +1,8 @@
 | 
				
			|||||||
#!/usr/bin/env bash
 | 
					#!/usr/bin/env bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Copyright (c) 2021-2025 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster) | Co-Author: MickLesk (CanbiZ)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
source /dev/stdin <<< "$FUNCTIONS_FILE_PATH"
 | 
					source /dev/stdin <<< "$FUNCTIONS_FILE_PATH"
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
@@ -14,7 +13,14 @@ network_check
 | 
				
			|||||||
update_os
 | 
					update_os
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Installing Dependencies"
 | 
					msg_info "Installing Dependencies"
 | 
				
			||||||
$STD apt-get install -y {debian-keyring,debian-archive-keyring,apt-transport-https,gpg,curl,sudo,mc}
 | 
					$STD apt-get install -y \
 | 
				
			||||||
 | 
					  debian-keyring \
 | 
				
			||||||
 | 
					  debian-archive-keyring \
 | 
				
			||||||
 | 
					  apt-transport-https \
 | 
				
			||||||
 | 
					  gpg \
 | 
				
			||||||
 | 
					  curl \
 | 
				
			||||||
 | 
					  sudo \
 | 
				
			||||||
 | 
					  mc
 | 
				
			||||||
msg_ok "Installed Dependencies"
 | 
					msg_ok "Installed Dependencies"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Installing Caddy"
 | 
					msg_info "Installing Caddy"
 | 
				
			||||||
@@ -24,6 +30,29 @@ $STD apt-get update
 | 
				
			|||||||
$STD apt-get install -y caddy
 | 
					$STD apt-get install -y caddy
 | 
				
			||||||
msg_ok "Installed Caddy"
 | 
					msg_ok "Installed Caddy"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					read -r -p "Would you like to install xCaddy Addon? <y/N> " prompt
 | 
				
			||||||
 | 
					if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then
 | 
				
			||||||
 | 
					  msg_info "Installing Golang"
 | 
				
			||||||
 | 
					  cd /opt
 | 
				
			||||||
 | 
					  set +o pipefail
 | 
				
			||||||
 | 
					  GOLANG=$(curl -s https://go.dev/dl/ | grep -o "go.*\linux-amd64.tar.gz" | head -n 1)
 | 
				
			||||||
 | 
					  wget -q https://golang.org/dl/$GOLANG
 | 
				
			||||||
 | 
					  tar -xzf $GOLANG -C /usr/local
 | 
				
			||||||
 | 
					  ln -s /usr/local/go/bin/go /usr/local/bin/go
 | 
				
			||||||
 | 
					  set -o pipefail
 | 
				
			||||||
 | 
					  rm -rf /opt/go*
 | 
				
			||||||
 | 
					  msg_ok "Installed Golang"
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
					  msg_info "Setup xCaddy"
 | 
				
			||||||
 | 
					  cd /opt
 | 
				
			||||||
 | 
					  RELEASE=$(curl -s https://api.github.com/repos/caddyserver/xcaddy/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
 | 
				
			||||||
 | 
					  wget -q https://github.com/caddyserver/xcaddy/releases/download/${RELEASE}/xcaddy_${RELEASE:1}_linux_amd64.deb
 | 
				
			||||||
 | 
					  $STD dpkg -i xcaddy_${RELEASE:1}_linux_amd64.deb
 | 
				
			||||||
 | 
					  rm -rf /opt/xcaddy*
 | 
				
			||||||
 | 
					  $STD xcaddy build
 | 
				
			||||||
 | 
					  msg_ok "Setup xCaddy"
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
motd_ssh
 | 
					motd_ssh
 | 
				
			||||||
customize
 | 
					customize
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										110
									
								
								install/dotnetaspwebapi-install.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										110
									
								
								install/dotnetaspwebapi-install.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,110 @@
 | 
				
			|||||||
 | 
					#!/usr/bin/env bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Copyright (c) 2021-2025 community-scripts ORG
 | 
				
			||||||
 | 
					# Author: Kristian Skov
 | 
				
			||||||
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					source /dev/stdin <<< "$FUNCTIONS_FILE_PATH"
 | 
				
			||||||
 | 
					color
 | 
				
			||||||
 | 
					verb_ip6
 | 
				
			||||||
 | 
					catch_errors
 | 
				
			||||||
 | 
					setting_up_container
 | 
				
			||||||
 | 
					network_check
 | 
				
			||||||
 | 
					update_os
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					msg_info "Installing Dependencies"
 | 
				
			||||||
 | 
					$STD apt-get update
 | 
				
			||||||
 | 
					$STD apt-get install -y \
 | 
				
			||||||
 | 
					  ssh \
 | 
				
			||||||
 | 
					  software-properties-common
 | 
				
			||||||
 | 
					$STD add-apt-repository -y ppa:dotnet/backports
 | 
				
			||||||
 | 
					$STD apt-get install -y \
 | 
				
			||||||
 | 
					  dotnet-sdk-9.0 \
 | 
				
			||||||
 | 
					  vsftpd \
 | 
				
			||||||
 | 
					  nginx
 | 
				
			||||||
 | 
					msg_ok "Installed Dependencies"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					msg_info "Configure Application"
 | 
				
			||||||
 | 
					var_project_name="default"
 | 
				
			||||||
 | 
					read -r -p "Type the assembly name of the project: " var_project_name
 | 
				
			||||||
 | 
					echo "Target assembly: '${var_project_name}'"
 | 
				
			||||||
 | 
					msg_ok "Application Configured"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					msg_info "Setting up FTP Server"
 | 
				
			||||||
 | 
					useradd ftpuser
 | 
				
			||||||
 | 
					FTP_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13)
 | 
				
			||||||
 | 
					usermod --password $(echo ${FTP_PASS} | openssl passwd -1 -stdin) ftpuser
 | 
				
			||||||
 | 
					mkdir -p /var/www/html
 | 
				
			||||||
 | 
					usermod -d /var/www/html ftp
 | 
				
			||||||
 | 
					usermod -d /var/www/html ftpuser 
 | 
				
			||||||
 | 
					chown ftpuser /var/www/html
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					sed -i "s|#write_enable=YES|write_enable=YES|g" /etc/vsftpd.conf
 | 
				
			||||||
 | 
					sed -i "s|#chroot_local_user=YES|chroot_local_user=NO|g" /etc/vsftpd.conf
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					systemctl restart -q vsftpd.service
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    echo "FTP-Credentials"
 | 
				
			||||||
 | 
					    echo "Username: ftpuser"
 | 
				
			||||||
 | 
					    echo "Password: $FTP_PASS"
 | 
				
			||||||
 | 
					} >> ~/ftp.creds
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					msg_ok "FTP server setup completed"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					msg_info "Setting up Nginx Server"
 | 
				
			||||||
 | 
					rm -f /var/www/html/index.nginx-debian.html
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					sed "s/\$var_project_name/$var_project_name/g" >myfile <<'EOF' >/etc/nginx/sites-available/default
 | 
				
			||||||
 | 
					map $http_connection $connection_upgrade {
 | 
				
			||||||
 | 
					  "~*Upgrade" $http_connection;
 | 
				
			||||||
 | 
					  default keep-alive;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					server {
 | 
				
			||||||
 | 
					  listen        80;
 | 
				
			||||||
 | 
					  server_name   $var_project_name.com *.$var_project_name.com;
 | 
				
			||||||
 | 
					  location / {
 | 
				
			||||||
 | 
					      proxy_pass         http://127.0.0.1:5000/;
 | 
				
			||||||
 | 
					      proxy_http_version 1.1;
 | 
				
			||||||
 | 
					      proxy_set_header   Upgrade $http_upgrade;
 | 
				
			||||||
 | 
					      proxy_set_header   Connection $connection_upgrade;
 | 
				
			||||||
 | 
					      proxy_set_header   Host $host;
 | 
				
			||||||
 | 
					      proxy_cache_bypass $http_upgrade;
 | 
				
			||||||
 | 
					      proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
 | 
				
			||||||
 | 
					      proxy_set_header   X-Forwarded-Proto $scheme;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					EOF
 | 
				
			||||||
 | 
					systemctl reload nginx
 | 
				
			||||||
 | 
					msg_ok "Nginx Server Created"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					msg_info "Creating Service"
 | 
				
			||||||
 | 
					cat <<EOF >/etc/systemd/system/kestrel-aspnetapi.service
 | 
				
			||||||
 | 
					[Unit]
 | 
				
			||||||
 | 
					Description=.NET Web API App running on Linux
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[Service]
 | 
				
			||||||
 | 
					WorkingDirectory=/var/www/html
 | 
				
			||||||
 | 
					ExecStart=/usr/bin/dotnet /var/www/html/$var_project_name.dll
 | 
				
			||||||
 | 
					Restart=always
 | 
				
			||||||
 | 
					# Restart service after 10 seconds if the dotnet service crashes:
 | 
				
			||||||
 | 
					RestartSec=10
 | 
				
			||||||
 | 
					KillSignal=SIGINT
 | 
				
			||||||
 | 
					SyslogIdentifier=dotnet-${var_project_name}
 | 
				
			||||||
 | 
					User=root
 | 
				
			||||||
 | 
					Environment=ASPNETCORE_ENVIRONMENT=Production
 | 
				
			||||||
 | 
					Environment=DOTNET_NOLOGO=true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[Install]
 | 
				
			||||||
 | 
					WantedBy=multi-user.target
 | 
				
			||||||
 | 
					EOF
 | 
				
			||||||
 | 
					systemctl enable -q --now kestrel-aspnetapi.service
 | 
				
			||||||
 | 
					msg_ok "Created Service"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					motd_ssh
 | 
				
			||||||
 | 
					customize
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					msg_info "Cleaning up"
 | 
				
			||||||
 | 
					$STD apt-get -y autoremove
 | 
				
			||||||
 | 
					$STD apt-get -y autoclean
 | 
				
			||||||
 | 
					msg_ok "Cleaned"
 | 
				
			||||||
@@ -44,34 +44,36 @@ $STD apt-get install -y \
 | 
				
			|||||||
  libavfilter-dev \
 | 
					  libavfilter-dev \
 | 
				
			||||||
  libmariadb-dev-compat \
 | 
					  libmariadb-dev-compat \
 | 
				
			||||||
  libatlas-base-dev \
 | 
					  libatlas-base-dev \
 | 
				
			||||||
  software-properties-common
 | 
					  software-properties-common \
 | 
				
			||||||
 | 
					  libmariadb-dev \
 | 
				
			||||||
 | 
					  pkg-config
 | 
				
			||||||
msg_ok "Installed Dependencies"
 | 
					msg_ok "Installed Dependencies"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Setup Python3"
 | 
					msg_info "Setup Python3/pip"
 | 
				
			||||||
$STD add-apt-repository -y ppa:deadsnakes/ppa
 | 
					 | 
				
			||||||
$STD apt-get update
 | 
					$STD apt-get update
 | 
				
			||||||
 | 
					$STD rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED
 | 
				
			||||||
 | 
					$STD apt-get remove --purge -y python3.12 python3.12-dev python3.12-venv
 | 
				
			||||||
 | 
					
 | 
				
			||||||
$STD apt-get install -y \
 | 
					$STD apt-get install -y \
 | 
				
			||||||
  python3.13-* \
 | 
					  python3.13 \
 | 
				
			||||||
  python3-pip \
 | 
					  python3-pip \
 | 
				
			||||||
  python3.13-dev \
 | 
					  python3.13-dev \
 | 
				
			||||||
  python3.13-venv
 | 
					  python3.13-venv
 | 
				
			||||||
msg_ok "Setup Python3"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Installing UV"
 | 
					ln -sf /usr/bin/python3.13 /usr/bin/python3
 | 
				
			||||||
$STD pip install uv
 | 
					msg_ok "Setup Python3"
 | 
				
			||||||
msg_ok "Installed UV"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Setting up Home Assistant-Core environment"
 | 
					msg_info "Setting up Home Assistant-Core environment"
 | 
				
			||||||
mkdir /srv/homeassistant
 | 
					mkdir /srv/homeassistant
 | 
				
			||||||
cd /srv/homeassistant
 | 
					cd /srv/homeassistant
 | 
				
			||||||
uv venv . &>/dev/null
 | 
					python3 -m venv .
 | 
				
			||||||
source bin/activate
 | 
					source bin/activate
 | 
				
			||||||
msg_ok "Created virtual environment with UV"
 | 
					msg_ok "Created virtual environment"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Installing Home Assistant-Core and packages"
 | 
					msg_info "Installing Home Assistant-Core"
 | 
				
			||||||
$STD uv pip install webrtcvad wheel homeassistant mysqlclient psycopg2-binary isal
 | 
					$STD python3 -m pip install webrtcvad wheel homeassistant mysqlclient psycopg2-binary isal
 | 
				
			||||||
mkdir -p /root/.homeassistant
 | 
					mkdir -p /root/.homeassistant
 | 
				
			||||||
msg_ok "Installed Home Assistant-Core and required packages"
 | 
					msg_ok "Installed Home Assistant-Core"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Creating Service"
 | 
					msg_info "Creating Service"
 | 
				
			||||||
cat <<EOF >/etc/systemd/system/homeassistant.service
 | 
					cat <<EOF >/etc/systemd/system/homeassistant.service
 | 
				
			||||||
@@ -97,4 +99,4 @@ customize
 | 
				
			|||||||
msg_info "Cleaning up"
 | 
					msg_info "Cleaning up"
 | 
				
			||||||
$STD apt-get -y autoremove
 | 
					$STD apt-get -y autoremove
 | 
				
			||||||
$STD apt-get -y autoclean
 | 
					$STD apt-get -y autoclean
 | 
				
			||||||
msg_ok "Cleaned"
 | 
					msg_ok "Cleaned"
 | 
				
			||||||
@@ -24,7 +24,7 @@ msg_ok "Installed Dependencies"
 | 
				
			|||||||
msg_info "Setting up Node.js Repository"
 | 
					msg_info "Setting up Node.js Repository"
 | 
				
			||||||
mkdir -p /etc/apt/keyrings
 | 
					mkdir -p /etc/apt/keyrings
 | 
				
			||||||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
 | 
					curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
 | 
				
			||||||
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
 | 
					echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
 | 
				
			||||||
msg_ok "Set up Node.js Repository"
 | 
					msg_ok "Set up Node.js Repository"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Installing Node.js"
 | 
					msg_info "Installing Node.js"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -24,10 +24,25 @@ $STD apt-get install -y \
 | 
				
			|||||||
  expect \
 | 
					  expect \
 | 
				
			||||||
  composer \
 | 
					  composer \
 | 
				
			||||||
  mariadb-server \
 | 
					  mariadb-server \
 | 
				
			||||||
  libapache2-mod-php \
 | 
					  lsb-release
 | 
				
			||||||
  php8.2-{mbstring,gd,intl,pdo,mysql,tokenizer,zip,xml} 
 | 
					 | 
				
			||||||
msg_ok "Installed Dependencies"
 | 
					msg_ok "Installed Dependencies"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					msg_info "Setup PHP8.4 Repository"
 | 
				
			||||||
 | 
					$STD curl -sSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb
 | 
				
			||||||
 | 
					$STD dpkg -i /tmp/debsuryorg-archive-keyring.deb
 | 
				
			||||||
 | 
					$STD sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
 | 
				
			||||||
 | 
					$STD apt-get update
 | 
				
			||||||
 | 
					msg_ok "Setup PHP8.4 Repository"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					msg_info "Setup PHP"
 | 
				
			||||||
 | 
					$STD apt-get remove -y php8.2*
 | 
				
			||||||
 | 
					#$STD apt-get remove -y php8.3*
 | 
				
			||||||
 | 
					$STD apt-get install -y \
 | 
				
			||||||
 | 
					  php8.3 \
 | 
				
			||||||
 | 
					  php8.3-{mbstring,gd,intl,common,mysql,zip,xml} \
 | 
				
			||||||
 | 
					  libapache2-mod-php8.3
 | 
				
			||||||
 | 
					msg_info "Setup PHP"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Setting up database"
 | 
					msg_info "Setting up database"
 | 
				
			||||||
DB_NAME=kimai_db
 | 
					DB_NAME=kimai_db
 | 
				
			||||||
DB_USER=kimai
 | 
					DB_USER=kimai
 | 
				
			||||||
@@ -72,6 +87,7 @@ send "helper-scripts.com\r"
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
expect eof
 | 
					expect eof
 | 
				
			||||||
EOF
 | 
					EOF
 | 
				
			||||||
 | 
					$STD composer update --no-interaction
 | 
				
			||||||
echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt"
 | 
					echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt"
 | 
				
			||||||
msg_ok "Installed Kimai"
 | 
					msg_ok "Installed Kimai"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										86
									
								
								install/phpipam-install.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										86
									
								
								install/phpipam-install.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,86 @@
 | 
				
			|||||||
 | 
					#!/usr/bin/env bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Copyright (c) 2021-2025 community-scripts ORG
 | 
				
			||||||
 | 
					# Author: bvdberg01
 | 
				
			||||||
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					source /dev/stdin <<< "$FUNCTIONS_FILE_PATH"
 | 
				
			||||||
 | 
					color
 | 
				
			||||||
 | 
					verb_ip6
 | 
				
			||||||
 | 
					catch_errors
 | 
				
			||||||
 | 
					setting_up_container
 | 
				
			||||||
 | 
					network_check
 | 
				
			||||||
 | 
					update_os
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					msg_info "Installing Dependencies"
 | 
				
			||||||
 | 
					$STD apt-get install -y \
 | 
				
			||||||
 | 
					  curl \
 | 
				
			||||||
 | 
					  sudo \
 | 
				
			||||||
 | 
					  mc \
 | 
				
			||||||
 | 
					  mariadb-server \
 | 
				
			||||||
 | 
					  apache2 \
 | 
				
			||||||
 | 
					  libapache2-mod-php \
 | 
				
			||||||
 | 
					  php8.2 php8.2-{fpm,curl,cli,mysql,gd,intl,imap,apcu,pspell,tidy,xmlrpc,mbstring,gmp,xml,ldap,common,snmp} \
 | 
				
			||||||
 | 
					  php-pear
 | 
				
			||||||
 | 
					msg_ok "Installed Dependencies"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					msg_info "Setting up MariaDB"
 | 
				
			||||||
 | 
					DB_NAME=phpipam
 | 
				
			||||||
 | 
					DB_USER=phpipam
 | 
				
			||||||
 | 
					DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13)
 | 
				
			||||||
 | 
					$STD mysql -u root -e "CREATE DATABASE $DB_NAME;"
 | 
				
			||||||
 | 
					$STD mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED WITH mysql_native_password AS PASSWORD('$DB_PASS');"
 | 
				
			||||||
 | 
					$STD mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;"
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    echo "phpIPAM-Credentials"
 | 
				
			||||||
 | 
					    echo "phpIPAM Database User: $DB_USER"
 | 
				
			||||||
 | 
					    echo "phpIPAM Database Password: $DB_PASS"
 | 
				
			||||||
 | 
					    echo "phpIPAM Database Name: $DB_NAME"
 | 
				
			||||||
 | 
					} >> ~/phpipam.creds
 | 
				
			||||||
 | 
					msg_ok "Set up MariaDB"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					msg_info "Installing phpIPAM"
 | 
				
			||||||
 | 
					RELEASE=$(curl -s https://api.github.com/repos/phpipam/phpipam/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
				
			||||||
 | 
					cd /opt
 | 
				
			||||||
 | 
					wget -q "https://github.com/phpipam/phpipam/releases/download/v${RELEASE}/phpipam-v${RELEASE}.zip"
 | 
				
			||||||
 | 
					unzip -q "phpipam-v${RELEASE}.zip"
 | 
				
			||||||
 | 
					mysql -u root "${DB_NAME}" < /opt/phpipam/db/SCHEMA.sql
 | 
				
			||||||
 | 
					cp /opt/phpipam/config.dist.php /opt/phpipam/config.php
 | 
				
			||||||
 | 
					sed -i -e "s/\(\$disable_installer = \).*/\1true;/" \
 | 
				
			||||||
 | 
					       -e "s/\(\$db\['user'\] = \).*/\1'$DB_USER';/" \
 | 
				
			||||||
 | 
					       -e "s/\(\$db\['pass'\] = \).*/\1'$DB_PASS';/" \
 | 
				
			||||||
 | 
					       -e "s/\(\$db\['name'\] = \).*/\1'$DB_NAME';/" \
 | 
				
			||||||
 | 
					       /opt/phpipam/config.php
 | 
				
			||||||
 | 
					sed -i '/max_execution_time/s/= .*/= 600/' /etc/php/8.2/apache2/php.ini
 | 
				
			||||||
 | 
					echo "${RELEASE}" >/opt/${APPLICATION}_version.txt
 | 
				
			||||||
 | 
					msg_ok "Installed phpIPAM"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					msg_info "Creating Service"
 | 
				
			||||||
 | 
					cat <<EOF >/etc/apache2/sites-available/phpipam.conf
 | 
				
			||||||
 | 
					<VirtualHost *:80>
 | 
				
			||||||
 | 
					    ServerName phpipam
 | 
				
			||||||
 | 
					    DocumentRoot /opt/phpipam
 | 
				
			||||||
 | 
					    <Directory /opt/phpipam>
 | 
				
			||||||
 | 
					        Options FollowSymLinks
 | 
				
			||||||
 | 
					        AllowOverride All
 | 
				
			||||||
 | 
					        Require all granted
 | 
				
			||||||
 | 
					    </Directory>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ErrorLog /var/log/apache2/phpipam_error.log
 | 
				
			||||||
 | 
					    CustomLog /var/log/apache2/phpipam_access.log combined
 | 
				
			||||||
 | 
					</VirtualHost>
 | 
				
			||||||
 | 
					EOF
 | 
				
			||||||
 | 
					$STD a2ensite phpipam
 | 
				
			||||||
 | 
					$STD a2enmod rewrite
 | 
				
			||||||
 | 
					$STD a2dissite 000-default.conf
 | 
				
			||||||
 | 
					$STD systemctl reload apache2
 | 
				
			||||||
 | 
					msg_ok "Created Service"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					motd_ssh
 | 
				
			||||||
 | 
					customize
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					msg_info "Cleaning up"
 | 
				
			||||||
 | 
					rm -rf "/opt/phpipam-v${RELEASE}.zip"
 | 
				
			||||||
 | 
					$STD apt-get -y autoremove
 | 
				
			||||||
 | 
					$STD apt-get -y autoclean
 | 
				
			||||||
 | 
					msg_ok "Cleaned"
 | 
				
			||||||
							
								
								
									
										37
									
								
								install/urbackupserver-install.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								install/urbackupserver-install.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,37 @@
 | 
				
			|||||||
 | 
					#!/usr/bin/env bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Copyright (c) 2021-2025 community-scripts ORG
 | 
				
			||||||
 | 
					# Author: Kristian Skov
 | 
				
			||||||
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					source /dev/stdin <<< "$FUNCTIONS_FILE_PATH"
 | 
				
			||||||
 | 
					color
 | 
				
			||||||
 | 
					verb_ip6
 | 
				
			||||||
 | 
					catch_errors
 | 
				
			||||||
 | 
					setting_up_container
 | 
				
			||||||
 | 
					network_check
 | 
				
			||||||
 | 
					update_os
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					msg_info "Installing Dependencies"
 | 
				
			||||||
 | 
					$STD apt-get install -y \
 | 
				
			||||||
 | 
					  curl \
 | 
				
			||||||
 | 
					  sudo \
 | 
				
			||||||
 | 
					  mc \
 | 
				
			||||||
 | 
					  gnupg \
 | 
				
			||||||
 | 
					  coreutils
 | 
				
			||||||
 | 
					msg_ok "Installed Dependencies"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					msg_info "Installing UrBackup Server"
 | 
				
			||||||
 | 
					curl -fsSL https://download.opensuse.org/repositories/home:uroni/Debian_12/Release.key | gpg --dearmor >/etc/apt/trusted.gpg.d/home_uroni.gpg
 | 
				
			||||||
 | 
					echo 'deb [signed-by=/etc/apt/trusted.gpg.d/home_uroni.gpg] http://download.opensuse.org/repositories/home:/uroni/Debian_12/ /' >/etc/apt/sources.list.d/home:uroni.list
 | 
				
			||||||
 | 
					$STD apt-get update -y
 | 
				
			||||||
 | 
					apt-get install -y -qq urbackup-server
 | 
				
			||||||
 | 
					msg_ok "Installed UrBackup Server"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					motd_ssh
 | 
				
			||||||
 | 
					customize
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					msg_info "Cleaning up"
 | 
				
			||||||
 | 
					$STD apt-get -y autoremove
 | 
				
			||||||
 | 
					$STD apt-get -y autoclean
 | 
				
			||||||
 | 
					msg_ok "Cleaned"
 | 
				
			||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
    "name": "2FAuth",
 | 
					    "name": "2FAuth",
 | 
				
			||||||
    "slug": "2fauth",
 | 
					    "slug": "2fauth",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
      0
 | 
					        6
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2024-12-20",
 | 
					    "date_created": "2024-12-20",
 | 
				
			||||||
    "type": "ct",
 | 
					    "type": "ct",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
    "name": "5etools",
 | 
					    "name": "5etools",
 | 
				
			||||||
    "slug": "5etools",
 | 
					    "slug": "5etools",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
        0
 | 
					        24
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2025-01-02",
 | 
					    "date_created": "2025-01-02",
 | 
				
			||||||
    "type": "ct",
 | 
					    "type": "ct",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
    "name": "Actual Budget",
 | 
					    "name": "Actual Budget",
 | 
				
			||||||
    "slug": "actualbudget",
 | 
					    "slug": "actualbudget",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
        0
 | 
					        23
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2024-05-02",
 | 
					    "date_created": "2024-05-02",
 | 
				
			||||||
    "type": "ct",
 | 
					    "type": "ct",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
    "name": "NetBird",
 | 
					    "name": "NetBird",
 | 
				
			||||||
    "slug": "add-netbird-lxc",
 | 
					    "slug": "add-netbird-lxc",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
        11
 | 
					        1
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2024-05-19",
 | 
					    "date_created": "2024-05-19",
 | 
				
			||||||
    "type": "misc",
 | 
					    "type": "misc",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
    "name": "Tailscale",
 | 
					    "name": "Tailscale",
 | 
				
			||||||
    "slug": "add-tailscale-lxc",
 | 
					    "slug": "add-tailscale-lxc",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
        11
 | 
					        1
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2024-05-02",
 | 
					    "date_created": "2024-05-02",
 | 
				
			||||||
    "type": "misc",
 | 
					    "type": "misc",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
    "name": "AdGuard Home",
 | 
					    "name": "AdGuard Home",
 | 
				
			||||||
    "slug": "adguard",
 | 
					    "slug": "adguard",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
        13
 | 
					        5
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2024-04-28",
 | 
					    "date_created": "2024-04-28",
 | 
				
			||||||
    "type": "ct",
 | 
					    "type": "ct",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
    "name": "AdventureLog",
 | 
					    "name": "AdventureLog",
 | 
				
			||||||
    "slug": "adventurelog",
 | 
					    "slug": "adventurelog",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
        0
 | 
					        24
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2024-10-26",
 | 
					    "date_created": "2024-10-26",
 | 
				
			||||||
    "type": "ct",
 | 
					    "type": "ct",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
    "name": "AgentDVR",
 | 
					    "name": "AgentDVR",
 | 
				
			||||||
    "slug": "agentdvr",
 | 
					    "slug": "agentdvr",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
        17
 | 
					        15
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2024-05-02",
 | 
					    "date_created": "2024-05-02",
 | 
				
			||||||
    "type": "ct",
 | 
					    "type": "ct",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
    "name": "All Templates",
 | 
					    "name": "All Templates",
 | 
				
			||||||
    "slug": "all-templates",
 | 
					    "slug": "all-templates",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
        10
 | 
					        1
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2024-05-02",
 | 
					    "date_created": "2024-05-02",
 | 
				
			||||||
    "type": "misc",
 | 
					    "type": "misc",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
    "name": "Alpine",
 | 
					    "name": "Alpine",
 | 
				
			||||||
    "slug": "alpine",
 | 
					    "slug": "alpine",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
        9
 | 
					        2
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2024-05-02",
 | 
					    "date_created": "2024-05-02",
 | 
				
			||||||
    "type": "ct",
 | 
					    "type": "ct",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
    "name": "Apache-Cassandra",
 | 
					    "name": "Apache-Cassandra",
 | 
				
			||||||
    "slug": "apache-cassandra",
 | 
					    "slug": "apache-cassandra",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
        5
 | 
					        8
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2024-05-02",
 | 
					    "date_created": "2024-05-02",
 | 
				
			||||||
    "type": "ct",
 | 
					    "type": "ct",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
    "name": "Apache-CouchDB",
 | 
					    "name": "Apache-CouchDB",
 | 
				
			||||||
    "slug": "apache-couchdb",
 | 
					    "slug": "apache-couchdb",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
        5
 | 
					        8
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2024-05-02",
 | 
					    "date_created": "2024-05-02",
 | 
				
			||||||
    "type": "ct",
 | 
					    "type": "ct",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
  "name": "Apache Guacamole",
 | 
					  "name": "Apache Guacamole",
 | 
				
			||||||
  "slug": "apache-guacamole",
 | 
					  "slug": "apache-guacamole",
 | 
				
			||||||
  "categories": [
 | 
					  "categories": [
 | 
				
			||||||
    11
 | 
					        0
 | 
				
			||||||
  ],
 | 
					  ],
 | 
				
			||||||
  "date_created": "2024-12-19",
 | 
					  "date_created": "2024-12-19",
 | 
				
			||||||
  "type": "ct",
 | 
					  "type": "ct",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
    "name": "Apt-Cacher-NG",
 | 
					    "name": "Apt-Cacher-NG",
 | 
				
			||||||
    "slug": "apt-cacher-ng",
 | 
					    "slug": "apt-cacher-ng",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
        11
 | 
					        4
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2024-05-02",
 | 
					    "date_created": "2024-05-02",
 | 
				
			||||||
    "type": "ct",
 | 
					    "type": "ct",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
    "name": "ArchiveBox",
 | 
					    "name": "ArchiveBox",
 | 
				
			||||||
    "slug": "archivebox",
 | 
					    "slug": "archivebox",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
        0
 | 
					        12
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2024-10-19",
 | 
					    "date_created": "2024-10-19",
 | 
				
			||||||
    "type": "ct",
 | 
					    "type": "ct",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
    "name": "Aria2",
 | 
					    "name": "Aria2",
 | 
				
			||||||
    "slug": "aria2",
 | 
					    "slug": "aria2",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
        16
 | 
					        11
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2024-05-02",
 | 
					    "date_created": "2024-05-02",
 | 
				
			||||||
    "type": "ct",
 | 
					    "type": "ct",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
    "name": "authentik",
 | 
					    "name": "authentik",
 | 
				
			||||||
    "slug": "authentik",
 | 
					    "slug": "authentik",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
        11
 | 
					        6
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2024-12-27",
 | 
					    "date_created": "2024-12-27",
 | 
				
			||||||
    "type": "ct",
 | 
					    "type": "ct",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
    "name": "Autobrr",
 | 
					    "name": "Autobrr",
 | 
				
			||||||
    "slug": "autobrr",
 | 
					    "slug": "autobrr",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
        18
 | 
					        14
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2024-05-02",
 | 
					    "date_created": "2024-05-02",
 | 
				
			||||||
    "type": "ct",
 | 
					    "type": "ct",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
    "name": "Bazarr",
 | 
					    "name": "Bazarr",
 | 
				
			||||||
    "slug": "bazarr",
 | 
					    "slug": "bazarr",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
        18
 | 
					        14
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2024-05-02",
 | 
					    "date_created": "2024-05-02",
 | 
				
			||||||
    "type": "ct",
 | 
					    "type": "ct",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
    "name": "Blocky",
 | 
					    "name": "Blocky",
 | 
				
			||||||
    "slug": "blocky",
 | 
					    "slug": "blocky",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
        13
 | 
					        5
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2024-05-02",
 | 
					    "date_created": "2024-05-02",
 | 
				
			||||||
    "type": "ct",
 | 
					    "type": "ct",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
    "name": "BookStack",
 | 
					    "name": "BookStack",
 | 
				
			||||||
    "slug": "bookstack",
 | 
					    "slug": "bookstack",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
        14
 | 
					        12
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2024-11-05",
 | 
					    "date_created": "2024-11-05",
 | 
				
			||||||
    "type": "ct",
 | 
					    "type": "ct",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
    "name": "BunkerWeb",
 | 
					    "name": "BunkerWeb",
 | 
				
			||||||
    "slug": "bunkerweb",
 | 
					    "slug": "bunkerweb",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
        11
 | 
					        6
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2024-06-12",
 | 
					    "date_created": "2024-06-12",
 | 
				
			||||||
    "type": "ct",
 | 
					    "type": "ct",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
    "name": "Caddy",
 | 
					    "name": "Caddy",
 | 
				
			||||||
    "slug": "caddy",
 | 
					    "slug": "caddy",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
        11
 | 
					        21
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2024-05-11",
 | 
					    "date_created": "2024-05-11",
 | 
				
			||||||
    "type": "ct",
 | 
					    "type": "ct",
 | 
				
			||||||
@@ -20,7 +20,7 @@
 | 
				
			|||||||
            "resources": {
 | 
					            "resources": {
 | 
				
			||||||
                "cpu": 1,
 | 
					                "cpu": 1,
 | 
				
			||||||
                "ram": 512,
 | 
					                "ram": 512,
 | 
				
			||||||
                "hdd": 2,
 | 
					                "hdd": 4,
 | 
				
			||||||
                "os": "debian",
 | 
					                "os": "debian",
 | 
				
			||||||
                "version": "12"
 | 
					                "version": "12"
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
@@ -30,5 +30,14 @@
 | 
				
			|||||||
        "username": null,
 | 
					        "username": null,
 | 
				
			||||||
        "password": null
 | 
					        "password": null
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "notes": []
 | 
					  "notes": [
 | 
				
			||||||
}
 | 
					    {
 | 
				
			||||||
 | 
					      "text": "if you need an internal module run: `caddy add-package PACKAGENAME`",
 | 
				
			||||||
 | 
					      "type": "info"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "text": "if you need an external module run: `xcaddy build --with github.com/caddy-dns/cloudflare`",
 | 
				
			||||||
 | 
					      "type": "info"
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  ]
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
    "name": "Calibre-Web",
 | 
					    "name": "Calibre-Web",
 | 
				
			||||||
    "slug": "calibre-web",
 | 
					    "slug": "calibre-web",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
        12
 | 
					        11
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2024-05-02",
 | 
					    "date_created": "2024-05-02",
 | 
				
			||||||
    "type": "ct",
 | 
					    "type": "ct",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
    "name": "CasaOS",
 | 
					    "name": "CasaOS",
 | 
				
			||||||
    "slug": "casaos",
 | 
					    "slug": "casaos",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
        8
 | 
					        2
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2024-05-02",
 | 
					    "date_created": "2024-05-02",
 | 
				
			||||||
    "type": "ct",
 | 
					    "type": "ct",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
    "name": "Change Detection",
 | 
					    "name": "Change Detection",
 | 
				
			||||||
    "slug": "changedetection",
 | 
					    "slug": "changedetection",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
        7
 | 
					        24
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2024-05-02",
 | 
					    "date_created": "2024-05-02",
 | 
				
			||||||
    "type": "ct",
 | 
					    "type": "ct",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
    "name": "Channels DVR Server",
 | 
					    "name": "Channels DVR Server",
 | 
				
			||||||
    "slug": "channels",
 | 
					    "slug": "channels",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
        17
 | 
					        15
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2024-05-02",
 | 
					    "date_created": "2024-05-02",
 | 
				
			||||||
    "type": "ct",
 | 
					    "type": "ct",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
  "name": "Checkmk",
 | 
					  "name": "Checkmk",
 | 
				
			||||||
  "slug": "checkmk",
 | 
					  "slug": "checkmk",
 | 
				
			||||||
  "categories": [
 | 
					  "categories": [
 | 
				
			||||||
    7
 | 
					        9
 | 
				
			||||||
  ],
 | 
					  ],
 | 
				
			||||||
  "date_created": "2024-12-19",
 | 
					  "date_created": "2024-12-19",
 | 
				
			||||||
  "type": "ct",
 | 
					  "type": "ct",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
    "name": "Cloudflared",
 | 
					    "name": "Cloudflared",
 | 
				
			||||||
    "slug": "cloudflared",
 | 
					    "slug": "cloudflared",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
        11
 | 
					        4
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2024-05-02",
 | 
					    "date_created": "2024-05-02",
 | 
				
			||||||
    "type": "ct",
 | 
					    "type": "ct",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
    "name": "Cockpit",
 | 
					    "name": "Cockpit",
 | 
				
			||||||
    "slug": "cockpit",
 | 
					    "slug": "cockpit",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
        16
 | 
					        10
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2024-10-20",
 | 
					    "date_created": "2024-10-20",
 | 
				
			||||||
    "type": "ct",
 | 
					    "type": "ct",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
    "name": "VS Code Server",
 | 
					    "name": "VS Code Server",
 | 
				
			||||||
    "slug": "code-server",
 | 
					    "slug": "code-server",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
        19
 | 
					        1
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2024-05-02",
 | 
					    "date_created": "2024-05-02",
 | 
				
			||||||
    "type": "misc",
 | 
					    "type": "misc",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
    "name": "CommaFeed",
 | 
					    "name": "CommaFeed",
 | 
				
			||||||
    "slug": "commafeed",
 | 
					    "slug": "commafeed",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
        0
 | 
					        19
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2024-05-02",
 | 
					    "date_created": "2024-05-02",
 | 
				
			||||||
    "type": "ct",
 | 
					    "type": "ct",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
    "name": "Cronicle Primary",
 | 
					    "name": "Cronicle Primary",
 | 
				
			||||||
    "slug": "cronicle",
 | 
					    "slug": "cronicle",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
        11
 | 
					        19
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2024-05-02",
 | 
					    "date_created": "2024-05-02",
 | 
				
			||||||
    "type": "ct",
 | 
					    "type": "ct",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
    "name": "CrowdSec",
 | 
					    "name": "CrowdSec",
 | 
				
			||||||
    "slug": "crowdsec",
 | 
					    "slug": "crowdsec",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
        11
 | 
					        6
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2024-05-02",
 | 
					    "date_created": "2024-05-02",
 | 
				
			||||||
    "type": "misc",
 | 
					    "type": "misc",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
    "name": "Daemon Sync Server",
 | 
					    "name": "Daemon Sync Server",
 | 
				
			||||||
    "slug": "daemonsync",
 | 
					    "slug": "daemonsync",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
        16
 | 
					        19
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2024-05-02",
 | 
					    "date_created": "2024-05-02",
 | 
				
			||||||
    "type": "ct",
 | 
					    "type": "ct",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
    "name": "Dashy",
 | 
					    "name": "Dashy",
 | 
				
			||||||
    "slug": "dashy",
 | 
					    "slug": "dashy",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
        15
 | 
					        10
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2024-05-02",
 | 
					    "date_created": "2024-05-02",
 | 
				
			||||||
    "type": "ct",
 | 
					    "type": "ct",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
    "name": "Debian 12",
 | 
					    "name": "Debian 12",
 | 
				
			||||||
    "slug": "debian-vm",
 | 
					    "slug": "debian-vm",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
        9
 | 
					        2
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2024-05-02",
 | 
					    "date_created": "2024-05-02",
 | 
				
			||||||
    "type": "vm",
 | 
					    "type": "vm",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
    "name": "Debian",
 | 
					    "name": "Debian",
 | 
				
			||||||
    "slug": "debian",
 | 
					    "slug": "debian",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
        9
 | 
					        2
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2024-05-02",
 | 
					    "date_created": "2024-05-02",
 | 
				
			||||||
    "type": "ct",
 | 
					    "type": "ct",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
    "name": "deCONZ",
 | 
					    "name": "deCONZ",
 | 
				
			||||||
    "slug": "deconz",
 | 
					    "slug": "deconz",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
        6
 | 
					        17
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2024-05-02",
 | 
					    "date_created": "2024-05-02",
 | 
				
			||||||
    "type": "ct",
 | 
					    "type": "ct",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
    "name": "Deluge",
 | 
					    "name": "Deluge",
 | 
				
			||||||
    "slug": "deluge",
 | 
					    "slug": "deluge",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
        16
 | 
					        11
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2024-05-02",
 | 
					    "date_created": "2024-05-02",
 | 
				
			||||||
    "type": "ct",
 | 
					    "type": "ct",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
    "name": "Docker",
 | 
					    "name": "Docker",
 | 
				
			||||||
    "slug": "docker",
 | 
					    "slug": "docker",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
        8
 | 
					        3
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2024-05-02",
 | 
					    "date_created": "2024-05-02",
 | 
				
			||||||
    "type": "ct",
 | 
					    "type": "ct",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
    "name": "Dockge",
 | 
					    "name": "Dockge",
 | 
				
			||||||
    "slug": "dockge",
 | 
					    "slug": "dockge",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
        8
 | 
					        3
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2024-05-02",
 | 
					    "date_created": "2024-05-02",
 | 
				
			||||||
    "type": "ct",
 | 
					    "type": "ct",
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										39
									
								
								json/dotnetaspwebapi.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								json/dotnetaspwebapi.json
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,39 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					   "name":"Dotnet ASP Web API",
 | 
				
			||||||
 | 
					   "slug":"dotnetaspwebapi",
 | 
				
			||||||
 | 
					   "categories":[
 | 
				
			||||||
 | 
					        20
 | 
				
			||||||
 | 
					   ],
 | 
				
			||||||
 | 
					   "date_created":"2025-01-15",
 | 
				
			||||||
 | 
					   "type":"ct",
 | 
				
			||||||
 | 
					   "updateable":true,
 | 
				
			||||||
 | 
					   "privileged":true,
 | 
				
			||||||
 | 
					   "interface_port":80,
 | 
				
			||||||
 | 
					   "documentation":"https://learn.microsoft.com/en-us/aspnet/core/host-and-deploy/linux-nginx?view=aspnetcore-9.0&tabs=linux-ubuntu",
 | 
				
			||||||
 | 
					   "website":"https://learn.microsoft.com/en-us/aspnet/core/host-and-deploy/linux-nginx?view=aspnetcore-9.0&tabs=linux-ubuntu",
 | 
				
			||||||
 | 
					   "logo":"https://upload.wikimedia.org/wikipedia/commons/thumb/7/7d/Microsoft_.NET_logo.svg/456px-Microsoft_.NET_logo.svg.png",
 | 
				
			||||||
 | 
					   "description":"Automatically setup a ASP.NET server up, as well as a FTP server so you can publish to this container from Visual Studio.",
 | 
				
			||||||
 | 
					   "install_methods":[
 | 
				
			||||||
 | 
					      {
 | 
				
			||||||
 | 
					         "type":"default",
 | 
				
			||||||
 | 
					         "script":"ct/dotnetaspwebapi.sh",
 | 
				
			||||||
 | 
					         "resources":{
 | 
				
			||||||
 | 
					            "cpu":1,
 | 
				
			||||||
 | 
					            "ram":1024,
 | 
				
			||||||
 | 
					            "hdd":8,
 | 
				
			||||||
 | 
					            "os":"Ubuntu",
 | 
				
			||||||
 | 
					            "version":"24.04"
 | 
				
			||||||
 | 
					         }
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					   ],
 | 
				
			||||||
 | 
					   "default_credentials":{
 | 
				
			||||||
 | 
					      "username":null,
 | 
				
			||||||
 | 
					      "password":null
 | 
				
			||||||
 | 
					   },
 | 
				
			||||||
 | 
					   "notes":[
 | 
				
			||||||
 | 
					      {
 | 
				
			||||||
 | 
					         "text":"FTP server credentials: `cat ~/ftp.creds`",
 | 
				
			||||||
 | 
					         "type":"info"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					   ]
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
    "name": "Emby Media Server",
 | 
					    "name": "Emby Media Server",
 | 
				
			||||||
    "slug": "emby",
 | 
					    "slug": "emby",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
        12
 | 
					        13
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2024-05-02",
 | 
					    "date_created": "2024-05-02",
 | 
				
			||||||
    "type": "ct",
 | 
					    "type": "ct",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
    "name": "EMQX",
 | 
					    "name": "EMQX",
 | 
				
			||||||
    "slug": "emqx",
 | 
					    "slug": "emqx",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
        4
 | 
					        18
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2024-05-02",
 | 
					    "date_created": "2024-05-02",
 | 
				
			||||||
    "type": "ct",
 | 
					    "type": "ct",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
    "name": "ErsatzTV",
 | 
					    "name": "ErsatzTV",
 | 
				
			||||||
    "slug": "ersatztv",
 | 
					    "slug": "ersatztv",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
        12
 | 
					        13
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2024-05-02",
 | 
					    "date_created": "2024-05-02",
 | 
				
			||||||
    "type": "ct",
 | 
					    "type": "ct",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
    "name": "ESPHome",
 | 
					    "name": "ESPHome",
 | 
				
			||||||
    "slug": "esphome",
 | 
					    "slug": "esphome",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
        3
 | 
					        16
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2024-05-02",
 | 
					    "date_created": "2024-05-02",
 | 
				
			||||||
    "type": "ct",
 | 
					    "type": "ct",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
    "name": "evcc",
 | 
					    "name": "evcc",
 | 
				
			||||||
    "slug": "evcc",
 | 
					    "slug": "evcc",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
        0
 | 
					        16
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2024-10-15",
 | 
					    "date_created": "2024-10-15",
 | 
				
			||||||
    "type": "ct",
 | 
					    "type": "ct",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
    "name": "Fenrus",
 | 
					    "name": "Fenrus",
 | 
				
			||||||
    "slug": "fenrus",
 | 
					    "slug": "fenrus",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
        15
 | 
					        10
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2024-05-05",
 | 
					    "date_created": "2024-05-05",
 | 
				
			||||||
    "type": "ct",
 | 
					    "type": "ct",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
    "name": "FHEM",
 | 
					    "name": "FHEM",
 | 
				
			||||||
    "slug": "fhem",
 | 
					    "slug": "fhem",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
        3
 | 
					        16
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2024-05-02",
 | 
					    "date_created": "2024-05-02",
 | 
				
			||||||
    "type": "ct",
 | 
					    "type": "ct",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
    "name": "File Browser",
 | 
					    "name": "File Browser",
 | 
				
			||||||
    "slug": "filebrowser",
 | 
					    "slug": "filebrowser",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
        16
 | 
					        1
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2024-05-02",
 | 
					    "date_created": "2024-05-02",
 | 
				
			||||||
    "type": "misc",
 | 
					    "type": "misc",
 | 
				
			||||||
@@ -36,4 +36,4 @@
 | 
				
			|||||||
            "type": "warning"
 | 
					            "type": "warning"
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    ]
 | 
					    ]
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
  "name": "Firefly III",
 | 
					  "name": "Firefly III",
 | 
				
			||||||
  "slug": "firefly",
 | 
					  "slug": "firefly",
 | 
				
			||||||
  "categories": [
 | 
					  "categories": [
 | 
				
			||||||
    0
 | 
					        23
 | 
				
			||||||
  ],
 | 
					  ],
 | 
				
			||||||
  "date_created": "2025-01-01",
 | 
					  "date_created": "2025-01-01",
 | 
				
			||||||
  "type": "ct",
 | 
					  "type": "ct",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
    "name": "FlareSolverr",
 | 
					    "name": "FlareSolverr",
 | 
				
			||||||
    "slug": "flaresolverr",
 | 
					    "slug": "flaresolverr",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
        11
 | 
					        14
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2024-06-12",
 | 
					    "date_created": "2024-06-12",
 | 
				
			||||||
    "type": "ct",
 | 
					    "type": "ct",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
    "name": "FlowiseAI",
 | 
					    "name": "FlowiseAI",
 | 
				
			||||||
    "slug": "flowiseai",
 | 
					    "slug": "flowiseai",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
        19
 | 
					        20
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2024-05-02",
 | 
					    "date_created": "2024-05-02",
 | 
				
			||||||
    "type": "ct",
 | 
					    "type": "ct",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
    "name": "Forgejo",
 | 
					    "name": "Forgejo",
 | 
				
			||||||
    "slug": "forgejo",
 | 
					    "slug": "forgejo",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
        19
 | 
					        20
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2024-06-12",
 | 
					    "date_created": "2024-06-12",
 | 
				
			||||||
    "type": "ct",
 | 
					    "type": "ct",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
    "name": "Frigate",
 | 
					    "name": "Frigate",
 | 
				
			||||||
    "slug": "frigate",
 | 
					    "slug": "frigate",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
        17
 | 
					        15
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2024-05-02",
 | 
					    "date_created": "2024-05-02",
 | 
				
			||||||
    "type": "ct",
 | 
					    "type": "ct",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -40,4 +40,4 @@
 | 
				
			|||||||
            "type": "warning"
 | 
					            "type": "warning"
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    ]
 | 
					    ]
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
    "name": "Ghost",
 | 
					    "name": "Ghost",
 | 
				
			||||||
    "slug": "ghost",
 | 
					    "slug": "ghost",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
      12
 | 
					        25
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2025-01-10",
 | 
					    "date_created": "2025-01-10",
 | 
				
			||||||
    "type": "ct",
 | 
					    "type": "ct",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
    "name": "Gitea",
 | 
					    "name": "Gitea",
 | 
				
			||||||
    "slug": "gitea",
 | 
					    "slug": "gitea",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
        19
 | 
					        20
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2024-07-26",
 | 
					    "date_created": "2024-07-26",
 | 
				
			||||||
    "type": "ct",
 | 
					    "type": "ct",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
    "name": "Glance",
 | 
					    "name": "Glance",
 | 
				
			||||||
    "slug": "glance",
 | 
					    "slug": "glance",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
      15
 | 
					        9
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2024-12-02",
 | 
					    "date_created": "2024-12-02",
 | 
				
			||||||
    "type": "ct",
 | 
					    "type": "ct",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
    "name": "Glances",
 | 
					    "name": "Glances",
 | 
				
			||||||
    "slug": "glances",
 | 
					    "slug": "glances",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
        7
 | 
					        9
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2024-05-02",
 | 
					    "date_created": "2024-05-02",
 | 
				
			||||||
    "type": "misc",
 | 
					    "type": "misc",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
  "name": "GLPI",
 | 
					  "name": "GLPI",
 | 
				
			||||||
  "slug": "glpi",
 | 
					  "slug": "glpi",
 | 
				
			||||||
  "categories": [
 | 
					  "categories": [
 | 
				
			||||||
    0
 | 
					        0
 | 
				
			||||||
  ],
 | 
					  ],
 | 
				
			||||||
  "date_created": "2025-01-06",
 | 
					  "date_created": "2025-01-06",
 | 
				
			||||||
  "type": "ct",
 | 
					  "type": "ct",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
    "name": "go2rtc",
 | 
					    "name": "go2rtc",
 | 
				
			||||||
    "slug": "go2rtc",
 | 
					    "slug": "go2rtc",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
        0
 | 
					        15
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2024-05-02",
 | 
					    "date_created": "2024-05-02",
 | 
				
			||||||
    "type": "ct",
 | 
					    "type": "ct",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
    "name": "Gokapi",
 | 
					    "name": "Gokapi",
 | 
				
			||||||
    "slug": "gokapi",
 | 
					    "slug": "gokapi",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
        16
 | 
					        11
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2024-05-02",
 | 
					    "date_created": "2024-05-02",
 | 
				
			||||||
    "type": "ct",
 | 
					    "type": "ct",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
    "name": "Gotify",
 | 
					    "name": "Gotify",
 | 
				
			||||||
    "slug": "gotify",
 | 
					    "slug": "gotify",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
        0
 | 
					        19
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2024-05-02",
 | 
					    "date_created": "2024-05-02",
 | 
				
			||||||
    "type": "ct",
 | 
					    "type": "ct",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,11 +2,11 @@
 | 
				
			|||||||
    "name": "Grafana",
 | 
					    "name": "Grafana",
 | 
				
			||||||
    "slug": "grafana",
 | 
					    "slug": "grafana",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
        7
 | 
					        9
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2024-05-02",
 | 
					    "date_created": "2024-05-02",
 | 
				
			||||||
    "type": "ct",
 | 
					    "type": "ct",
 | 
				
			||||||
    "updateable": false,
 | 
					    "updateable": true,
 | 
				
			||||||
    "privileged": false,
 | 
					    "privileged": false,
 | 
				
			||||||
    "interface_port": 3000,
 | 
					    "interface_port": 3000,
 | 
				
			||||||
    "documentation": null,
 | 
					    "documentation": null,
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
  "name": "Grist",
 | 
					  "name": "Grist",
 | 
				
			||||||
  "slug": "grist",
 | 
					  "slug": "grist",
 | 
				
			||||||
  "categories": [
 | 
					  "categories": [
 | 
				
			||||||
    5
 | 
					        12
 | 
				
			||||||
  ],
 | 
					  ],
 | 
				
			||||||
  "date_created": "2024-12-27",
 | 
					  "date_created": "2024-12-27",
 | 
				
			||||||
  "type": "ct",
 | 
					  "type": "ct",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
    "name": "grocy",
 | 
					    "name": "grocy",
 | 
				
			||||||
    "slug": "grocy",
 | 
					    "slug": "grocy",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
        0
 | 
					        24
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2024-05-02",
 | 
					    "date_created": "2024-05-02",
 | 
				
			||||||
    "type": "ct",
 | 
					    "type": "ct",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
    "name": "Home Assistant OS",
 | 
					    "name": "Home Assistant OS",
 | 
				
			||||||
    "slug": "haos-vm",
 | 
					    "slug": "haos-vm",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
        2
 | 
					        16
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2024-04-29",
 | 
					    "date_created": "2024-04-29",
 | 
				
			||||||
    "type": "vm",
 | 
					    "type": "vm",
 | 
				
			||||||
@@ -40,4 +40,4 @@
 | 
				
			|||||||
            "type": "info"
 | 
					            "type": "info"
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    ]
 | 
					    ]
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
    "name": "Headscale",
 | 
					    "name": "Headscale",
 | 
				
			||||||
    "slug": "headscale",
 | 
					    "slug": "headscale",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
        11
 | 
					        4
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2024-05-13",
 | 
					    "date_created": "2024-05-13",
 | 
				
			||||||
    "type": "ct",
 | 
					    "type": "ct",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
    "name": "Heimdall Dashboard",
 | 
					    "name": "Heimdall Dashboard",
 | 
				
			||||||
    "slug": "heimdall-dashboard",
 | 
					    "slug": "heimdall-dashboard",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
        15
 | 
					        10
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2024-05-02",
 | 
					    "date_created": "2024-05-02",
 | 
				
			||||||
    "type": "ct",
 | 
					    "type": "ct",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
    "name": "HiveMQ CE",
 | 
					    "name": "HiveMQ CE",
 | 
				
			||||||
    "slug": "hivemq",
 | 
					    "slug": "hivemq",
 | 
				
			||||||
    "categories": [
 | 
					    "categories": [
 | 
				
			||||||
        4
 | 
					        18
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    "date_created": "2024-05-02",
 | 
					    "date_created": "2024-05-02",
 | 
				
			||||||
    "type": "ct",
 | 
					    "type": "ct",
 | 
				
			||||||
 
 | 
				
			|||||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user