Getting Started
IGC CMS runs from a released build — a ready-to-run server plus a prebuilt site. You don't need any development tools to install it.
Before you start
You need a machine with:
- Node.js 22.12 or newer and pnpm
- PostgreSQL — a database the server can reach — and the
psqlcommand
Install
From an installer package
- Debian / Ubuntu —
sudo apt install ./cms-server_<version>_<arch>.deb - macOS — open the
.dmgand run the installer (or use themanual/folder inside it to run without installing system-wide) - Windows — run the
.msi
Then edit the installed .env, run the migration step once, and start the
service.
From a release folder
-
Unpack the release onto the machine.
-
Copy
.env.exampleto.envand set two values:DATABASE_URL— your PostgreSQL connection stringSESSION_SECRET— any random string of 32+ characters
-
Run the three scripts, in order:
./install.sh # one-time: fetches the frontend's dependencies ./migrate.sh # one-time, and after upgrades: sets up the database ./start.sh # starts the server
To change the address, pass flags through to start:
./start.sh --host 0.0.0.0 --port 8080
The default is 127.0.0.1:3000. Run it behind an HTTPS proxy for anything
public.
First login
Open the server and go to /admin. Sign in with admin / admin and change
the password straight away.
The first start fills the database with starter content — an admin user, a home page, a posts page and a few sample posts. It won't overwrite anything once you've added your own.
Build your first page
- Go to Admin → Pages and open a page, or create one.
- Drag blocks from the sidebar onto the canvas, or use the Sections tab for ready-made hero, feature, testimonial, pricing and FAQ sections.
- Click a block to edit its text, colors and spacing, with live preview. Switch to the tablet or mobile view to adjust each screen size.
- Save. A page goes live at its URL as soon as its status is Published.
Upgrading
Install the new release over the old one, run the migration step again, and restart. Your database and uploaded files are left untouched.