Cloudflare Pages,
under your control.
A self-hosted panel for your Cloudflare Pages projects, deployments and domains — running on your own server.
The EasyPages dashboard, running live with sample data
localhost:8002
EasyPages
Live demo with sample data — nothing is sent to Cloudflare.
Install it on your serverYour deployments, your rules, your server. No one else between you and publishing what you built.
How it works
Three steps to a self-hosted panel.
Connect your Cloudflare token
An API token with Pages permissions in your .env. It lives on your server and only talks to the Cloudflare API.
Manage your projects
List, create and configure Pages projects from your own panel, in English or Spanish.
Deploy from your dashboard
Trigger deployments, upload a ZIP or check recent history without opening another console.
Features
Everything it does without the Cloudflare dashboard.
-
List and manage Cloudflare Pages projects
Every project with its deployment status and source, in a single view.
-
Create Direct Upload projects
Spin up new projects from the panel, without the Cloudflare dashboard.
-
Trigger deployments and browse history
Ship production and review recent deployments with branch, commit and date.
-
Upload ZIP bundles for Direct Upload
Drop a .zip and publish it straight to the selected project.
-
Add and remove custom domains
Project domain management with confirmation before deleting.
-
Edit build command and output directory
Build configuration editable from the settings tab.
-
Bilingual UI (es/en)
Instant language switch across the whole interface.
Installation
Five commands and your panel is running on your own server.
-
mkdir easypages && cd easypages -
curl -fsSL -o docker-compose.yml https://raw.githubusercontent.com/KN990x/EasyPages/main/docker-compose.yml -
curl -fsSL -o .env.example https://raw.githubusercontent.com/KN990x/EasyPages/main/.env.example -
cp .env.example .env -
docker compose up -d --pull always
Requires Docker and a Cloudflare API token with Pages permissions.
Read the full docsYour infrastructure, your data.
EasyPages is free software under the Apache-2.0 license. It runs on your server, keeps its configuration in your own .env and talks straight to the Cloudflare API: no third-party central accounts in between.
Do I need an EasyPages account?
No. Just your Cloudflare account and an API token. EasyPages runs no servers of its own.
Where are my credentials stored?
The Cloudflare API token stays in the .env next to the container. Your EasyPages operator account is hashed in credentials.json inside the data volume — never sent anywhere else.
Does it work with GitHub and Direct Upload projects?
Yes. GitHub-connected projects get production deploys; Direct Upload projects get the ZIP upload tab.
Can I contribute?
Yes — the repository is open to issues and pull requests under Apache-2.0.