Installation
Requirements
- Python 3.13 or later
- PostgreSQL 14 or later
- uv package manager (recommended) or pip
Setup
Clone the repository and install dependencies:
git clone https://github.com/itsnisuxyz/garden-cms.git
cd garden-cms
uv sync
Database
Create a PostgreSQL database:
createdb garden
Run migrations:
uv run piccolo migrations forwards db
uv run piccolo migrations forwards user
uv run piccolo migrations forwards session_auth
Environment variables
Create a .env file in the project root:
DATABASE_URL=postgres://postgres:postgres@localhost:5432/garden
SECRET_KEY=change-me-to-a-random-string
See Configuration for the full list of environment variables.
Start the server
uv run litestar run --reload
The admin interface is available at http://localhost:8000/admin. On first run, Garden CMS seeds the database with a default theme, sample pages, and two collections (Blog and Projects).
Admin password
Set the ADMIN_PASSWORD environment variable to enable password login:
ADMIN_PASSWORD=your-password
Alternatively, configure OAuth authentication for SSO.