Repository navigation
Installing on a new host
From an empty hosting account to a passing hammer doctor and your own account in the control panel. This page grows as Slim Killer does.
You need SSH access to the hosting account (on Hostinger: hPanel → Advanced → SSH Access shows the host, port and user).
The web root is the folder your domain serves, often public_html. Slim Killer's code
goes next to it, never inside it.
ssh -p <port> <user>@<host>
cd ~
git clone https://github.com/monatemedia/slim-killer.git
cd slim-killercomposer install --no-devIf the host has no composer command, install the dependencies on your own computer and
upload the vendor folder too.
Run hammer with the plain php command first:
php hammer doctorIf the command line's PHP is too old, hammer says so straight away and prints the full path of a newer PHP it found on the server. Use that path from now on, for example:
/opt/alt/php84/usr/bin/php hammer doctorThe website can run a different PHP from the command line, and only a real web request shows whether rewrites work. Give the doctor your site's address and the folder it is served from:
/opt/alt/php84/usr/bin/php hammer doctor --url=https://example.com --webroot=~/domains/example.com/public_htmlThe doctor places a temporary folder in the web root for a few seconds, asks your website about itself, and deletes the folder again.
The doctor prints the exact line under "Cron has not run yet". Add it in your host's
control panel as a custom cron job that runs every minute (* * * * *). On Hostinger:
Websites → your site → Advanced → Cron Jobs → Custom, with every field set to "Every …".
Wait two minutes and run the doctor again: the cron line should now be PASS.
Every FAIL line comes with a hint. WARN lines mean Slim Killer works, with a limitation or an accepted alternative (see Host requirements). When the last line says "Ready for Slim Killer", the host is ready.
The doctor also ends with a private link to the setup page, which shows the same report in a browser (see hammer doctor#the-setup-page).
/opt/alt/php84/usr/bin/php hammer install \
--url=https://example.com \
--email=you@example.com \
--name="Your Name" \
--site-name="Example Company"This:
- writes the site's settings to
.env(see below), never overwriting a value already there; - creates the SQLite database in
storage/; - creates your account, as an administrator;
- prints a welcome link, valid for 72 hours.
Open the link, choose a password and set up two-factor with your phone. From then on,
/cp/ is the sign-in page. To add the client, see Users and sign in.
Running install again on an installed site changes nothing and says so.
.env sits next to hammer, outside the web root. install writes it; you can also
copy .env.example and edit it by hand.
| Setting | What it is | Example |
|---|---|---|
APP_URL |
The website's address, used in the links hammer prints. |
https://example.com |
APP_NAME |
The site's own name. Authenticator apps show it next to the six-digit code, and it heads the downloaded recovery codes. Without it: "Slim Killer". | Honey Badger Namibia |
APP_NAMEis in place but has not yet been tried on a client site; that happens with the first pilot site.