Skip to content

chickenbellyfin/azure-spot-starter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

azure-spot-starter

A service which keeps azure spot instances running.

Setup

  • First, copy template_config.yaml to config.yaml. All configuration/secrets will go in config.yaml.
$ docker pull chickenbellyfin/azure-spot-starter

# OR

$ docker build . -t azure-spot-starter

docker-compose

version: '3.8'

services:
  azure-spot-starter:
    image: chickenbellyfin/azure-spot-starter
    container_name: azure-spot-starter
    volumes:
      - './azure-spot-starter.yaml:/app/config.yaml'
    restart: unless-stopped

Run

$ docker run -v $(pwd)/data:/data chickenbellyfin/azure-spot-starter

Create Azure Service Principal

  • From Azure Portal, go to Azure Active Directory -> App registrations
  • Click "New registration", enter a name, and click "Register"
  • From the new application
    • Copy the Application (client) ID as az_client_id in config.yaml
    • Copy the Directory (tenant) ID as az_tenant_id in config.yaml
  • Go to "Certificates & secrets" and click "New Client Secret"
    • Copy the secret Value as az_client_secret in config.yaml
  • From Azure Portal, go to "Subscriptions" and copy your Subscription ID as az_subscription_id in config.yaml

To add a VM to the bot

You need to grant permission for azure-spot-starter to control each VM you create.

  • Go to the VM page in Azure Portal
  • Click on "Access control (IAM)"
  • Click "Add role assignment", select "Virtual Machine Contributor" and click "Next"
  • Under "Assign access to", make sure "User, group, or service principal" is selected
  • Click "Select members" and search for the application name you created in the first step. Click on it and then "Select"
  • Click "Review + assign"

About

A service which keeps azure spot instances running.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published