{"id":36464666,"url":"https://github.com/asmfreak/pages-server","last_synced_at":"2026-01-12T00:01:19.977Z","repository":{"id":253092172,"uuid":"841983713","full_name":"asmfreak/pages-server","owner":"asmfreak","description":":books: pages-server is a simple server that serves pages from Gitea repositories.","archived":false,"fork":false,"pushed_at":"2024-09-02T13:29:41.000Z","size":1671,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-25T23:33:30.414Z","etag":null,"topics":["gitea","pages","pages-server","server"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/asmfreak.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-13T12:42:41.000Z","updated_at":"2025-09-26T19:02:01.000Z","dependencies_parsed_at":"2024-08-14T12:29:20.476Z","dependency_job_id":"11638c90-069b-45d6-905d-e5d652224e0e","html_url":"https://github.com/asmfreak/pages-server","commit_stats":null,"previous_names":["asmfreak/pages-server"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/asmfreak/pages-server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asmfreak%2Fpages-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asmfreak%2Fpages-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asmfreak%2Fpages-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asmfreak%2Fpages-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/asmfreak","download_url":"https://codeload.github.com/asmfreak/pages-server/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asmfreak%2Fpages-server/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28328663,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-11T22:11:01.104Z","status":"ssl_error","status_checked_at":"2026-01-11T22:10:58.990Z","response_time":60,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gitea","pages","pages-server","server"],"created_at":"2026-01-12T00:01:19.093Z","updated_at":"2026-01-12T00:01:19.967Z","avatar_url":"https://github.com/asmfreak.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# pages-server\n\n[![CI](https://github.com/ASMfreaK/pages-server/actions/workflows/ci.yml/badge.svg)](https://github.com/ASMfreaK/pages-server/actions/workflows/ci.yml)\n\n`pages-server` is a simple server that serves pages from Gitea repositories.\n\nIt works in three modes:\n1. Repository with `pages-branch` topic should have `gh-pages` or `gh-pages-VERSION` branched, where `VERSION` is a version of the docs\n2. Repository with `pages-release` topic should have release with `docs.zip` attachment with a zipped pages site.\n3. Repository with `pages-packages` topic should have corresponding Gitea package with a zipped pages site with `docs.zip` name.\nE.g. for `gitea.com/owner/repo` there should be a generic package repository `repo` in `gitea.com/owner` with a file called `docs.zip` containing the site.\n\nThis server will **not** build any content on its own. It will only serve existing code.\n\n\n## Pages flow\n\n1. Every valid Gitea user is authenticated with Gitea using OAuth2 (configured using `AUTH_GITEA_OAUTH_CLIENT_ID` and `AUTH_GITEA_OAUTH_CLIENT_SECRET`).\n1. `pages-server` uses the users' oauth token to check if the user has access to the repository.\n1. If the user has access to the repository, `pages-server` fetches the latest version of the repository using `GITEA_ADMIN_TOKEN` and caches it in the bbolt database.\n1. `pages-server` serves the pages from the bbolt database.\n\n\n## Usage\n\n```\npages-server dev\npages-server simple pages server for small-to-medium gitea installations\n\nUSAGE:\n    pages-server [global options] [arguments...]\n\nGLOBAL OPTIONS:\n    --pages-url value                       url for pages server (default: \"http://localhost:8000\") [$PAGES_URL]\n    --pages-title value                     title for pages server (default: \"Gitea Pages\") [$PAGES_TITLE]\n    --gitea-url value                       url for Gitea (default: \"http://localhost:3000\") [$GITEA_URL]\n    --gitea-admin-token value               admin token for Gitea [$GITEA_ADMIN_TOKEN]\n    --gitea-hook-secret value               secret for gitea webhooks [$GITEA_HOOK_SECRET]\n    --gitea-pages-addr-from-gitea value     url for pages server as viewed from gitea (default: \"http://localhost:8000\") [$GITEA_PAGES_ADDR_FROM_GITEA]\n    --database-filename value               path to database (default: \"pages-server.db\") [$DATABASE_FILENAME]\n    --auth-cookie-name value                name of cookie for oauth state (default: \"__i_love_pages_server\") [$AUTH_COOKIE_NAME]\n    --auth-secret value                     secret for auth (default: \"CHANGEME\") [$AUTH_SECRET]\n    --auth-gitea-oauth-client-id value      oauth2 app client id from Gitea [$AUTH_GITEA_OAUTH_CLIENT_ID]\n    --auth-gitea-oauth-client-secret value  oauth2 app client secret from Gitea [$AUTH_GITEA_OAUTH_CLIENT_SECRET]\n    --server-addr value                     address to listen on (default: \"localhost:8000\") [$SERVER_ADDR]\n    --help, -h                              show help\n    --version, -v                           print the version\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasmfreak%2Fpages-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fasmfreak%2Fpages-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasmfreak%2Fpages-server/lists"}