Kendiniz çalıştırın
Tek bir Node süreci ve tek bir SQLite dosyası.
Gitupcms, SQLite veritabanı (better-sqlite3) kullanan bir Astro SSR uygulamasıdır (@astrojs/node, standalone). Node 22+ ve pnpm gerektirir.
- cms/
- src/
- lib/ (algılama, GitHub, çalışma alanları, medya, SEO, yorumlar)
- components/ (React adaları ve Bejamas UI)
- pages/ (Astro sayfaları ve API rotaları)
- kit/i18n/ (sitelere kopyalanan dil kiti)
- widget/ (yorum gömme bileşeni)
- .env.example
- src/
- docs/ (bu site)
Yerel
Create a GitHub OAuth app
Callback URL: http://localhost:4321/api/auth/callback/github.
Configure
cd cms
cp .env.example .env # GitHub OAuth app + BETTER_AUTH_SECRETRun
pnpm install
pnpm dev # http://localhost:4321SQLite tabloları açılışta oluşturulur.
Production derlemesi
pnpm install --frozen-lockfile
pnpm build # also builds the comments widget
node ./dist/server/entry.mjs # HOST and PORT from the environment
Docker
cms/ içinde bir Dockerfile ve bir docker-compose.yml bulunur. Bu sayede CMS, Docker kurulu her makinede aynı şekilde çalışır; ana makinede Node, pnpm veya derleme araçlarına gerek kalmaz.
cd cms
cp .env.example .env # GitHub OAuth app + BETTER_AUTH_SECRET
docker compose up -d --build # http://localhost:4321
- SQLite veritabanı ve önizleme checkout’ları
gitupcms-datavolume’unda (container içinde/data) tutulur. Güncellemek içingit pullve ardındandocker compose up -d --buildçalıştırmanız yeterlidir; verileriniz korunur. - Port
127.0.0.1adresine bağlanır. Sunucuda HTTPS için önüne Caddy veya başka bir proxy koyun; Sunucu sayfasında anlatıldığı gibi. PREVIEW_RUNNER=1ayarlandığında önizlemeler CMS container’ının içinde, aynı kullanıcıyla çalışır. Bunu yalnızca güvendiğiniz siteler için açın.PREVIEW_DOCKERdeğişkenini ayarlamayın, çünkü container’ın içinde Docker yoktur.
Tüm değişkenler için Ortam sayfasına, eksiksiz bir Linux kurulumu için Sunucu sayfasına bakın.