Installation

Detailed installation guide for ActionsManager Self-Hosted Beta.

Table of contents
  1. Prerequisites
  2. Installation Methods
  3. Option 1: Docker Run (Fastest)
  4. Option 2: Docker Compose
  5. Authentication Setup
    1. Personal Access Token (Recommended for Quick Start)
    2. GitHub OAuth
  6. Post-Installation
  7. Upgrading
  8. Accessing Logs
  9. Uninstalling
  10. Next Steps

Beta notice: ActionsManager Self-Hosted is currently a free beta preview for testing, evaluation, and feedback. No paid plans are currently available. Provided as-is, without warranty or production-readiness guarantee.

Prerequisites

  • Docker Engine 20.10+ with Docker Compose plugin (or Podman 3.0+)
  • A GitHub account
  • Free port 8080 on your host
  • 4 GB RAM (8 GB recommended), 10 GB disk

Installation Methods

ActionsManager can be installed using either docker run or Docker Compose. Both use the same prebuilt image:

ghcr.io/turbo5000c/actions-manager/self-hosted:latest

SQLite is the default database. PostgreSQL is available for larger deployments.

Option 1: Docker Run (Fastest)

For PAT-based login (no OAuth App required):

docker run -d \
  --name actions-manager \
  -p 8080:8080 \
  -v actions-manager-data:/app/backend \
  -e INSTALLATION_MODE=self-hosted \
  -e SECRET_KEY=$(openssl rand -hex 32) \
  -e REACT_APP_BACKEND_URL=http://localhost:8080 \
  -e REACT_APP_FRONTEND_URL=http://localhost:8080 \
  -e REACT_APP_WEBSOCKET_URL=ws://localhost:8080/ws \
  ghcr.io/turbo5000c/actions-manager/self-hosted:latest

For GitHub OAuth login, add your OAuth App credentials:

docker run -d \
  --name actions-manager \
  -p 8080:8080 \
  -v actions-manager-data:/app/backend \
  -e INSTALLATION_MODE=self-hosted \
  -e SECRET_KEY=$(openssl rand -hex 32) \
  -e REACT_APP_BACKEND_URL=http://localhost:8080 \
  -e REACT_APP_FRONTEND_URL=http://localhost:8080 \
  -e REACT_APP_WEBSOCKET_URL=ws://localhost:8080/ws \
  -e GITHUB_CLIENT_ID=your_client_id \
  -e GITHUB_CLIENT_SECRET=your_client_secret \
  ghcr.io/turbo5000c/actions-manager/self-hosted:latest

Option 2: Docker Compose

Create a docker-compose.yml file:

version: "3.8"
services:
  actions-manager:
    image: ghcr.io/turbo5000c/actions-manager/self-hosted:latest
    ports:
      - "8080:8080"
    volumes:
      - actions-manager-data:/app/backend
    environment:
      - INSTALLATION_MODE=self-hosted
      - SECRET_KEY=${SECRET_KEY}
      - REACT_APP_BACKEND_URL=http://localhost:8080
      - REACT_APP_FRONTEND_URL=http://localhost:8080
      - REACT_APP_WEBSOCKET_URL=ws://localhost:8080/ws
      # Optional OAuth:
      # - GITHUB_CLIENT_ID=${GITHUB_CLIENT_ID}
      # - GITHUB_CLIENT_SECRET=${GITHUB_CLIENT_SECRET}
    restart: unless-stopped

volumes:
  actions-manager-data:

Then start with:

SECRET_KEY=$(openssl rand -hex 32) docker compose up -d

Authentication Setup

No additional configuration required. After starting the container:

  1. Open http://localhost:8080
  2. Click Sign in with Personal Access Token
  3. Paste your GitHub PAT and submit

See GitHub PAT Setup for token creation instructions.

GitHub OAuth

  1. Create a GitHub OAuth App (see GitHub OAuth Setup)
  2. Add GITHUB_CLIENT_ID and GITHUB_CLIENT_SECRET to your container environment
  3. Use the Sign in with GitHub button

Post-Installation

After startup:

  1. Open http://localhost:8080
  2. Sign in using your preferred authentication method
  3. Create your first project
  4. Add repositories to manage

Upgrading

Pull the latest image and restart:

docker pull ghcr.io/turbo5000c/actions-manager/self-hosted:latest
docker stop actions-manager
docker rm actions-manager
# Re-run the docker run command with the same volume mount

Back up your data volume before upgrading. The SQLite database is stored in the mounted actions-manager-data volume.

Accessing Logs

# Docker run
docker logs actions-manager --tail=100 -f

# Docker Compose
docker compose logs --tail=100 -f

Uninstalling

docker stop actions-manager
docker rm actions-manager
# To also remove data:
docker volume rm actions-manager-data

Next Steps