Installation
Casnode is distributed as an archive for Linux, macOS and Windows (amd64 and arm64), and can also be built from source. Both ways need Node.js 20 or newer on the machine that runs the forum, because the pages are rendered by a Next.js server.
From a release archive
Download the archive for your platform from the latest release and unpack it. The archive contains the
casnodebinary (casnode.exeon Windows), theconf/folder and the built frontend inweb/build/.Optional: put your settings in
conf/app.local.conf, next toconf/app.conf. The file uses the samekey = valueformat and is not in git, so a new release does not overwrite it. See Configuration.Start the binary from the folder you unpacked:
./casnodeOn Windows, run
casnode.exefrom the same folder.Open
http://localhost:16900in a browser. The first account you register becomes the administrator. With the default configuration the database is a SQLite file calledcasnode.dband uploads go tofiles/uploads/, both relative to the working directory.
To run it as a service and put HTTPS in front, see Deployment.
From source
Requirements: Go 1.25 or newer, Node.js 20 or newer, and Yarn 1.
git clone https://github.com/casnode/casnode
cd casnode
cd web
yarn install
yarn build
cd ..
go build -o casnode .
./casnode
yarn build writes the frontend server to web/build/server-<time> and records it in web/build/server.txt. The Go binary starts that server on httpport + 1 and proxies page requests to it.
The first account
The first account registered on an empty database is the administrator, whether it signs up with a password or logs in through a single sign-on provider. Later accounts are ordinary members until an administrator promotes them on /admin/users.
The admins setting in conf/app.conf is different: it lists Casdoor user names that are always administrators. It does not apply to local accounts, because anyone could register a local account with such a name. Leave it empty if you do not use Casdoor.
What to back up
- The database:
casnode.dbfor SQLite, or the MySQL/PostgreSQL/SQL Server database configured inconf/app.local.conf. - The uploads folder (
uploadsDir,files/uploadsby default). conf/app.local.conf.
Site settings, categories, users and posts live in the database, so the database backup is what matters most.
Upgrading
2.x releases are drop-in replacements: stop the process, replace the binary and web/build/, keep conf/app.local.conf and the data, then start it again. 1.x cannot be upgraded in place; see Introduction.