Skip to content
Install · free

Installation

Install LogNorth on a Linux server with one command: HTTPS, live database backups, and an update each night.

LogNorth runs on your own server with Chasen: HTTPS, live backups of the database, and an update each night. Pick where you start.

On a fresh Ubuntu or Debian server, as root:

Terminal window
curl -fsSL lognorth.com/install | sudo bash -s logs.example.com

Put your domain in place of logs.example.com. It installs Chasen (and Docker, when the server has none) and runs LogNorth. Run it again to update LogNorth now.

If you deploy other apps with Chasen, or you prefer your own terminal:

Terminal window
curl -fsSL https://chasenhq.com/cli | sh
chasen deploy karloscodes/lognorth --server root@203.0.113.5 --domain logs.example.com --auto-update

The first deploy installs Chasen on the server through SSH. --auto-update gives the same nightly update. Without it, run the line again to update.

  • The server needs Ubuntu or Debian, ports 80 and 443 open, and an A record for your domain. HTTPS comes on the first request.
  • Create your account. Open https://logs.example.com right after the install: the first visitor creates the owner account, so do it before anyone else can.
  • Then create an app on the Apps page and copy its key for your SDK: see Getting Started.
  • No settings needed. Chasen gives LogNorth its private key, keeps /app/storage across deploys, and updates it each night. Updates, backups, alerts, and the everyday commands are in Manage.

Using an AI coding assistant? Install the LogNorth plugin after setup and your agent can read the logs while it debugs.


LogNorth is one Docker image for amd64 and arm64, on two registries with the same tags: karloscodes/lognorth on Docker Hub, and ghcr.io/karloscodes/lognorth-releases on GitHub. Use latest, or a version like 0.27.0.

Terminal window
docker run -d \
--name lognorth \
-p 8080:8080 \
-v lognorth_data:/app/storage \
-e LOGNORTH_PRIVATE_KEY=$(openssl rand -hex 32) \
karloscodes/lognorth:latest

LogNorth is now running at http://localhost:8080

The container does not start without LOGNORTH_PRIVATE_KEY. It signs the login sessions, so keep the same value when you recreate the container. The data lives in /app/storage; mount a volume there or it is lost with the container.

The login cookie is sent over HTTPS only. On another host than localhost, put LogNorth behind a reverse proxy with HTTPS before you log in. The health path is /up (also /_health).

services:
lognorth:
image: karloscodes/lognorth:latest
ports:
- "8080:8080"
environment:
LOGNORTH_PRIVATE_KEY: "paste the output of: openssl rand -hex 32"
volumes:
- lognorth_data:/app/storage
restart: unless-stopped
volumes:
lognorth_data:
Variable Description Default
LOGNORTH_PRIVATE_KEY Signs login sessions. Required. At least 32 characters. Falls back to PRIVATE_KEY, which Chasen sets. none
LOGNORTH_PORT HTTP port 8080
LOGNORTH_STORAGE_PATH Data directory /app/storage
LOGNORTH_DOMAIN The domain, for the links in alerts. Falls back to BASE_URL, which Chasen sets. none
LOGNORTH_LOGS_DIR Rotated log files. Every line also goes to stdout, so docker logs shows them. /app/logs

LogNorth reads these from the environment only. It does not read a .env file.

Put LogNorth behind nginx or Caddy for HTTPS:

server {
server_name logs.yoursite.com;
location / {
proxy_pass http://localhost:8080;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}

We strongly recommend putting your LogNorth instance behind Cloudflare in proxied mode (orange cloud icon). This filters out bot scanners, vulnerability probes, and automated attacks before they reach your server. That keeps your error logs clean and your data meaningful.

Without Cloudflare, expect 90%+ of your logged requests to be bot noise (.env probes, .git/config scans, WordPress exploits, etc.).

Setup:

  1. Add your domain to Cloudflare (free plan works)
  2. Point the DNS A record to your server IP
  3. Ensure the proxy toggle is enabled (orange cloud)
  4. SSL mode: Full (strict)

LogNorth does not harden your server. Server security is your responsibility. chasen alerts lists what is missing on a server, each with its fix.

Before exposing LogNorth to the internet:

  • Use a non-root user with sudo privileges
  • Enable SSH key authentication (disable password login)
  • Configure a firewall (only open ports 80/443)
  • Enable automatic OS security updates

See DigitalOcean’s Ubuntu Server Setup Guide for a solid baseline.

Servers that the older installer set up keep working as they are: the nightly update and the lognorth commands. Running the install line again on them changes nothing. To move one to Chasen, see Move to Chasen.

  1. Send your first event
  2. Set up an integration