Install on shared hosting

  1. Get a release zip. Download tidemark-x.y.z.zip  from the releases page. Dependencies are bundled. Building it yourself? Run scripts/build-release.sh x.y.z  from the source repository, which writes dist/tidemark-x.y.z.zip .
  2. Upload and unzip on your host with FTP or your control panel's file manager.
  3. Set the document root. Point the domain's document root at the public/  folder.

    If your host won't let you, leave the files in the web root as they are. The bundled root .htaccess  forwards requests to public/  and blocks internal files.

  4. Open /install . The page checks the server, connects your database, runs the migrations and creates your administrator account.
  5. Add a site and paste its snippet into your site's <head> .

Keep the project folder out of the web root where you can:

Pointing the document root at public/  is the safest setup. It keeps .env , storage/  and your SQLite file out of reach of the web server entirely. The root .htaccess  fallback blocks them on Apache; other servers need an equivalent rule.

Choosing a database

Choice When to use it
SQLite Single site or a few, low to moderate traffic. No setup.
MySQL / MariaDB The default on most shared hosts. Create a database and user in your control panel, then enter them in the installer.
PostgreSQL If your host offers it.

After installing

Other servers

Any server that can run PHP 8.3 and rewrite unknown paths to public/index.php  works. The front controller rules are in public/.htaccess ; for Nginx send everything that is not a file to index.php .