Skip to content

Workflow file for this run

# name: Baphomet Server Deploy
# on:
# push:
# branches:
# - master
# jobs:
# build:
# runs-on: self-hosted
# steps:
# - name: Checkout Source
# uses: actions/checkout@v4
# - name: Set Environment Variables
# shell: powershell
# run: |
# Write-Output "Setting environment variables..."
# function Encode-Base64 {
# param (
# [string]$Text
# )
# $bytes = [System.Text.Encoding]::UTF8.GetBytes($Text)
# [System.Convert]::ToBase64String($bytes)
# }
# $envVars = @"
# ATLAS_DB_PASSWORD=${{ secrets.ATLAS_DB_PASSWORD }}
# ATLAS_DB_USERNAME=${{ secrets.ATLAS_DB_USERNAME }}
# ATLAS_CLUSTER=${{ secrets.ATLAS_CLUSTER }}
# ATLAS_DB=${{ secrets.ATLAS_DB }}
# ACCESS_TOKEN_SECRET=${{ secrets.ACCESS_TOKEN_SECRET }}
# REFRESH_TOKEN_SECRET=${{ secrets.REFRESH_TOKEN_SECRET }}
# SSL_CERT=$(Encode-Base64 "${{ secrets.SSL_CERT }}")
# SSL_PRIVATE_KEY=$(Encode-Base64 "${{ secrets.SSL_PRIVATE_KEY }}")
# SSL_CERT_INTERMEDIATE=$(Encode-Base64 "${{ secrets.SSL_CERT_INTERMEDIATE }}")
# SSL_KEY_PATH=./keyfile.key
# SSL_CERT_PATH=./certfile.cer
# SSL_CA_PATH=./intermediate.cer
# "@
# $envVars | Out-File -FilePath ".env" -Encoding utf8
# Write-Output "Environment variables set."
# - name: Verify `.env` File
# shell: powershell
# run: |
# Write-Output "Verifying .env file contents..."
# Get-Content -Path ".env"
# - name: Verify Working Directory and `.env` File Creation
# shell: powershell
# run: |
# Write-Output "Current directory: $(Get-Location)"
# if (Test-Path ".env") {
# Write-Output ".env file exists:"
# Get-Content ".env"
# } else {
# Write-Output ".env file does not exist."
# exit 1
# }
# - name: Install Docker Compose (if needed)
# shell: powershell
# run: |
# if (-not (Get-Command docker-compose -ErrorAction SilentlyContinue)) {
# $installPath = "${{ runner.temp }}/docker-compose.exe"
# Invoke-WebRequest -Uri "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-Windows-x86_64.exe" -OutFile $installPath
# Start-Process -FilePath "powershell.exe" -ArgumentList "-Command
# Move-Item -Path $installPath -Destination 'C:\Program Files\Docker\Docker\resources\bin\docker-compose.exe'" -Verb RunAs
# Write-Output "Docker Compose Installed"
# } else {
# Write-Output "Docker Compose already installed"
# }
# - name: List Files in Directory
# shell: powershell
# run: Get-ChildItem -Path .
# - name: Docker Login with Elevated Permissions
# shell: powershell
# run: |
# Start-Process -FilePath "powershell.exe" -ArgumentList "-Command echo ${{ secrets.DOCKER_PASSWORD }} | docker login -u ${{ secrets.DOCKER_USERNAME }} --password-stdin" -Verb RunAs
# - name: Verify Docker Login with Elevated Permissions
# shell: powershell
# run: |
# Start-Process -FilePath "powershell.exe" -ArgumentList "-Command docker info" -Verb RunAs
# Write-Output "Verifying Docker login..."
# - name: Build Docker Images with Elevated Privileges
# shell: powershell
# run: Start-Process -FilePath "powershell.exe" -ArgumentList "-Command docker-compose -f docker-compose.yml build" -Verb RunAs
# - name: Tag Docker Image with Elevated Privileges
# shell: powershell
# run: Start-Process -FilePath "docker" -ArgumentList "tag baphomet-server:latest collinlucke/baphomet-server:latest" -Verb RunAs
# - name: Verify `docker-push.ps1` File
# shell: powershell
# run: |
# if (Test-Path "./docker-push.ps1") {
# Write-Output "Found docker-push.ps1 script, executing it..."
# } else {
# Write-Output "docker-push.ps1 script not found."
# exit 1
# }
# - name: Push Docker Images with Elevated Privileges
# shell: powershell
# run: |
# if (Test-Path "./docker-push.ps1") {
# Write-Output "Found docker-push.ps1 script, executing it with elevated privileges..."
# Start-Process -FilePath "powershell.exe" -ArgumentList "-Command .\docker-push.ps1" -Verb RunAs
# } else {
# Write-Output "docker-push.ps1 script not found."
# exit 1
# }
# - name: Verify Docker Login again
# shell: powershell
# run: |
# Start-Process -FilePath "powershell.exe" -ArgumentList "-Command docker info" -Verb RunAs
# Write-Output "Verifying Docker login..."
# deploy:
# needs: build
# runs-on: self-hosted
# steps:
# - name: Checkout Source
# uses: actions/checkout@v4
# - name: Install Docker Compose (if needed)
# shell: powershell
# run: |
# if (-not (Get-Command docker-compose -ErrorAction SilentlyContinue)) {
# $installPath = "${{ runner.temp }}/docker-compose.exe"
# Invoke-WebRequest -Uri "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-Windows-x86_64.exe" -OutFile $installPath
# Start-Process -FilePath "powershell.exe" -ArgumentList "-Command
# Move-Item -Path $installPath -Destination 'C:\Program Files\Docker\Docker\resources\bin\docker-compose.exe'" -Verb RunAs
# Write-Output "Docker Compose Installed"
# } else {
# Write-Output "Docker Compose already installed"
# }
# - name: Pull Image from Docker Hub
# run: Start-Process -FilePath "powershell.exe" -ArgumentList "-Command docker-compose -f docker-compose.yml pull" -Verb RunAs
# - name: Delete Old Container
# run: Start-Process -FilePath "powershell.exe" -ArgumentList "-Command docker-compose -f docker-compose.yml rm" -Verb RunAs
# - name: Run Docker Container
# run: Start-Process -FilePath "powershell.exe" -ArgumentList "-Command docker-compose -f docker-compose.yml up -d" -Verb RunAs
name: Baphomet Server Deploy
on:
push:
branches:
- master
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout Source
uses: actions/checkout@v4
- name: Set Environment Variables
run: |
echo "ATLAS_DB_PASSWORD=${{ secrets.ATLAS_DB_PASSWORD }}" >> $GITHUB_ENV
echo "ATLAS_DB_USERNAME=${{ secrets.ATLAS_DB_USERNAME }}" >> $GITHUB_ENV
echo "ATLAS_CLUSTER=${{ secrets.ATLAS_CLUSTER }}" >> $GITHUB_ENV
echo "ATLAS_DB=${{ secrets.ATLAS_DB }}" >> $GITHUB_ENV
echo "ACCESS_TOKEN_SECRET=${{ secrets.ACCESS_TOKEN_SECRET }}" >> $GITHUB_ENV
echo "REFRESH_TOKEN_SECRET=${{ secrets.REFRESH_TOKEN_SECRET }}" >> $GITHUB_ENV
echo "SSL_CERT=$(echo "${{ secrets.SSL_CERT }}" | base64 --decode)" >> $GITHUB_ENV
echo "SSL_PRIVATE_KEY=$(echo "${{ secrets.SSL_PRIVATE_KEY }}" | base64 --decode)" >> $GITHUB_ENV
echo "SSL_CERT_INTERMEDIATE=$(echo "${{ secrets.SSL_CERT_INTERMEDIATE }}" | base64 --decode)" >> $GITHUB_ENV
- name: Build Docker Image
run: docker build -t collinlucke/baphomet-server:latest .
- name: Login to Docker Hub
run: echo "${{ secrets.DOCKER_PASSWORD }}" | docker login -u "${{ secrets.DOCKER_USERNAME }}" --password-stdin
- name: Push Docker Image
run: docker push collinlucke/baphomet-server:latest