Installation
Detailed installation guide for ActionsManager Self-Hosted Beta.
Table of contents
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
8080on 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
Personal Access Token (Recommended for Quick Start)
No additional configuration required. After starting the container:
- Open
http://localhost:8080 - Click Sign in with Personal Access Token
- Paste your GitHub PAT and submit
See GitHub PAT Setup for token creation instructions.
GitHub OAuth
- Create a GitHub OAuth App (see GitHub OAuth Setup)
- Add
GITHUB_CLIENT_IDandGITHUB_CLIENT_SECRETto your container environment - Use the Sign in with GitHub button
Post-Installation
After startup:
- Open
http://localhost:8080 - Sign in using your preferred authentication method
- Create your first project
- 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