selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

GitHub
openadserver logo

Self-host openadserver

Open-source ad server with ML-powered CTR prediction

AlphaOpen SourceOther
Updated10 months ago
LanguagePython
Setup difficultyModerate
Stars
258
Port
8000 (HTTP API server)
Requires
PostgreSQL, Redis
Install with Docker Compose

What is openadserver?

OpenAdServer is a production-ready, self-hosted ad serving platform built with Python, FastAPI, and PyTorch. It delivers ads with sub-10ms latency and supports banner, native, video, and interstitial formats. Targeting covers geography, device type, operating system, demographics, and interests. The platform includes built-in machine learning for click-through rate prediction using DeepFM, Factorization Machines, and Logistic Regression models with inference under 5ms. It handles frequency capping, budget pacing, and eCPM-based ranking with CPM, CPC, CPA, and oCPM bid types. Deployment uses Docker Compose with PostgreSQL for campaign storage and Redis for caching. Prometheus metrics and Grafana dashboards provide observability. Licensed under Apache 2.0, the project is in active alpha development.

openadserver alternatives

All self-hosted alternatives to Google Ad Manager →

Should you self-host openadserver?

openadserver scores 42/100 on selfhost.directory (how scoring works) and ranks #122 of 166 in Developer Tools. It has 258 GitHub stars, +1 in the last 30 days.

There was no stable release in the past 12 months, so check the repository's recent activity before you rely on it.

Setup is moderate: expect some configuration beyond a single command. It is Other-licensed and written mostly in Python.

Its closest alternative on selfhost.directory is openhands (87/100, 92 210 stars). It scores higher overall, so compare the two before you pick. See openadserver vs openhands side by side.

Features

  • Budget Pacing
  • Custom CTR model training
  • Docker Compose Deployment
  • eCPM-based ranking
  • Event Tracking
  • Frequency Capping
  • Grafana Dashboards
  • High-performance ad serving API
  • ML-powered CTR prediction
  • Model hot-swap
  • Multiple ad formats
  • Prometheus Metrics
  • Smart targeting

openadserver README

OpenAdServer

OpenAdServer

Open Source Ad Serving Platform with ML-Powered CTR Prediction
Production-ready ad server for SMBs, startups, and developers

Features • Quick Start • Docs • Benchmarks • Roadmap

How to install openadserver

Install openadserver with Docker Compose

Docker, Docker Compose
Environment variables
LITEADS_ENV, LITEADS_DATABASE__HOST, LITEADS_DATABASE__PORT, LITEADS_DATABASE__NAME, LITEADS_DATABASE__USER, LITEADS_DATABASE__PASSWORD, LITEADS_REDIS__HOST, LITEADS_REDIS__PORT

Clone the repository

git clone https://github.com/pysean/openadserver.git cd openadserver

Start all services (PostgreSQL, Redis, Ad Server)

docker compose up -d

Initialize sample data

python scripts/init_test_data.py

Verify it's running

curl http://localhost:8000/health

{"status":"healthy","version":"1.0.0"}

Recommended production deployment

More in Developer Tools

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…