diff --git a/.gitattributes b/.gitattributes index ebbf0f13..dfe07704 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,13 +1,2 @@ -* text=auto eol=lf - -*.sh text eol=lf -*.ps1 text eol=crlf -*.bat text eol=crlf -*.cmd text eol=crlf - -*.png binary -*.jpg binary -*.jpeg binary -*.gif binary -*.ico binary -*.pdf binary +# Auto detect text files and perform LF normalization +* text=auto diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index 56460712..9855ea8f 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -1,6 +1,6 @@ # These are supported funding model platforms -github: [jhd3197] +github: [andreamada] patreon: # Replace with a single Patreon username open_collective: # Replace with a single Open Collective username ko_fi: # Replace with a single Ko-fi username @@ -10,6 +10,6 @@ liberapay: # Replace with a single Liberapay username issuehunt: # Replace with a single IssueHunt username lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry polar: # Replace with a single Polar username -buy_me_a_coffee: jhd3197 +buy_me_a_coffee: andreamada thanks_dev: # Replace with a single thanks.dev username custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] \ No newline at end of file diff --git a/.github/workflows/agent-release.yml b/.github/workflows/agent-release.yml index aa397e03..1afb3ce6 100644 --- a/.github/workflows/agent-release.yml +++ b/.github/workflows/agent-release.yml @@ -12,7 +12,7 @@ on: type: string env: - GO_VERSION: '1.23' + GO_VERSION: '1.21' jobs: build: @@ -190,107 +190,10 @@ jobs: path: packages/*.rpm retention-days: 5 - # Build Windows MSI - build-msi: - name: Build MSI Installer - runs-on: windows-latest - needs: build - - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Get version - id: version - shell: bash - run: | - if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then - VERSION="${{ github.event.inputs.version }}" - else - VERSION="${GITHUB_REF#refs/tags/agent-v}" - fi - echo "version=$VERSION" >> $GITHUB_OUTPUT - - - name: Install WiX Toolset - run: | - dotnet tool install --global wix --version 5.0.2 - - - name: Download binary - uses: actions/download-artifact@v4 - with: - name: serverkit-agent-windows-amd64 - path: dist/ - - - name: Extract binary - shell: bash - run: | - cd dist - unzip serverkit-agent-${{ steps.version.outputs.version }}-windows-amd64.zip - - - name: Build MSI - shell: pwsh - run: | - cd agent/packaging/msi - .\build.ps1 -Version "${{ steps.version.outputs.version }}" -BinaryPath "..\..\..\dist\serverkit-agent-windows-amd64.exe" -OutputDir "..\..\..\packages" - - - name: Upload MSI - uses: actions/upload-artifact@v4 - with: - name: serverkit-agent-msi - path: packages/*.msi - retention-days: 5 - - # Build Docker image - build-docker: - name: Build Docker Image - runs-on: ubuntu-latest - needs: build - - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Get version - id: version - run: | - if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then - VERSION="${{ github.event.inputs.version }}" - else - VERSION="${GITHUB_REF#refs/tags/agent-v}" - fi - echo "version=$VERSION" >> $GITHUB_OUTPUT - - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Login to Docker Hub - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - continue-on-error: true - - - name: Build and push Docker image - uses: docker/build-push-action@v5 - with: - context: ./agent - platforms: linux/amd64,linux/arm64 - push: ${{ secrets.DOCKERHUB_USERNAME != '' }} - tags: | - jhd3197/serverkit-agent:latest - jhd3197/serverkit-agent:${{ steps.version.outputs.version }} - build-args: | - VERSION=${{ steps.version.outputs.version }} - BUILD_TIME=${{ github.event.repository.updated_at }} - GIT_COMMIT=${{ github.sha }} - release: name: Create Release runs-on: ubuntu-latest - needs: [build, build-deb, build-rpm, build-msi, build-docker] + needs: [build, build-deb, build-rpm] permissions: contents: write @@ -322,8 +225,6 @@ jobs: find artifacts -type f -name "*.deb" -exec mv {} release/ \; # RPM packages find artifacts -type f -name "*.rpm" -exec mv {} release/ \; - # MSI installers - find artifacts -type f -name "*.msi" -exec mv {} release/ \; ls -la release/ - name: Generate checksums @@ -364,15 +265,9 @@ jobs: #### Windows Installer | Format | Architecture | Download | |--------|--------------|----------| - | MSI | x64 | `serverkit-agent-${{ steps.version.outputs.version }}-x64.msi` | - - > **New:** Run `serverkit-agent tray` to launch the **System Tray Application** which provides a visual indicator that the agent is running, along with quick access to status, logs, and service controls. The MSI installer auto-starts the tray on Windows login. + | ZIP | x64 | `serverkit-agent-${{ steps.version.outputs.version }}-windows-amd64.zip` | - #### Docker - ```bash - docker pull jhd3197/serverkit-agent:${{ steps.version.outputs.version }} - docker pull jhd3197/serverkit-agent:latest - ``` + > **New:** Run `serverkit-agent tray` to launch the **System Tray Application** which provides a visual indicator that the agent is running, along with quick access to status, logs, and service controls. ### Quick Install @@ -391,19 +286,11 @@ jobs: sudo systemctl start serverkit-agent ``` - **Windows (MSI):** - Download and run the MSI installer, then: + **Windows:** + Download and run the binary zip, then: ```powershell - serverkit-agent register --token "YOUR_TOKEN" --server "https://your-serverkit.com" - Start-Service ServerKitAgent - ``` - - **Docker:** - ```bash - docker run -d --name serverkit-agent \ - -v /var/run/docker.sock:/var/run/docker.sock:ro \ - -v serverkit-config:/etc/serverkit-agent \ - jhd3197/serverkit-agent:${{ steps.version.outputs.version }} + .\serverkit-agent.exe register --token "YOUR_TOKEN" --server "https://your-serverkit.com" + .\serverkit-agent.exe start ``` ### Verification @@ -422,7 +309,7 @@ jobs: summary: name: Build Summary runs-on: ubuntu-latest - needs: [build, build-deb, build-rpm, build-msi, build-docker, release] + needs: [build, build-deb, build-rpm, release] steps: - name: Get version @@ -457,8 +344,6 @@ jobs: echo "| DEB | arm64 | ✅ Built |" >> $GITHUB_STEP_SUMMARY echo "| RPM | x86_64 | ✅ Built |" >> $GITHUB_STEP_SUMMARY echo "| RPM | aarch64 | ✅ Built |" >> $GITHUB_STEP_SUMMARY - echo "| MSI | x64 | ✅ Built |" >> $GITHUB_STEP_SUMMARY - echo "| Docker | multi-arch | ✅ Built |" >> $GITHUB_STEP_SUMMARY echo "" >> $GITHUB_STEP_SUMMARY echo "### Release" >> $GITHUB_STEP_SUMMARY echo "" >> $GITHUB_STEP_SUMMARY diff --git a/.gitignore b/.gitignore index 29f74047..1df8cd72 100644 --- a/.gitignore +++ b/.gitignore @@ -96,3 +96,4 @@ nul SECURITY_AUDIT.md APP_IMPROVEMENTS.md *.png +frontend/.env.development diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index 9e7d57a6..07dbb698 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -4,7 +4,7 @@ Thanks to everyone who has contributed to ServerKit! ## Core -- **Juan Denis** ([@jhd3197](https://github.com/jhd3197)) — Creator and maintainer +- **Juan Denis** ([@andreamada](https://github.com/andreamada)) — Creator and maintainer ## Contributors diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..9755ffb8 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 andreamada + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md index b2c2ed4c..66bf3ebb 100644 --- a/README.md +++ b/README.md @@ -1,369 +1,2 @@ -
-
-
- - - -
- -
-
-
-
-
-
-
-
-
-
-
- Use these one-liner commands to download and install the agent. Replace YOUR_TOKEN with the server registration token.
+ Use these one-liner commands to download and install the agent. Replace YOUR_TOKEN with your server's registration token.
Run the registration command with your token:
-{`serverkit-agent register --token "YOUR_TOKEN" --server "${getBaseUrl()}"`}
+ serverkit-agent register --token "YOUR_TOKEN" --server "{getBaseUrl()}"
Paste a GitHub repo URL, release URL, or direct zip link.
-{plugin.description}
} - {plugin.error_message &&{plugin.error_message}
} -No plugins installed. Use the form above to install one from a URL.
-{server.description}
- )} ++ {server.hostname || server.ip_address} + {server.description && ` - ${server.description}`} +
The registration token expires in 24 hours. You can regenerate it from the server settings page. @@ -1194,12 +1178,6 @@ Install-ServerKitAgent -Server "${window.location.origin}" -Token "${token}"` : }; // Icons -const FolderTinyIcon = () => ( - -); - const RefreshIcon = () => (