punchify.Documentation Deutsch punchify.app

Installation

Punchify runs as a Docker application with three containers: the app, a PostgreSQL database and the Caddy web server, which takes care of the HTTPS certificate automatically. All settings live in one file: .env.

Requirements

  • A Linux server with Docker and the Compose plugin (docker compose). A small server is enough for small and medium businesses, e.g. 2 CPU cores, 4 GB RAM and 40 GB storage.
  • An address (e.g. time.yourcompany.com) whose DNS record (A or AAAA) points to the server.
  • Ports 80 and 443 reachable from the internet (for the Let's Encrypt certificate).
  • Outgoing access to https://admin.punchify.app (daily licence check).
  • A licence key – free for up to 5 people or as a 60-day trial via punchify.app.

In three steps

1. Fetch the files

mkdir punchify && cd punchify
curl -fsSLO https://punchify.app/install/docker-compose.yml
curl -fsSLO https://punchify.app/install/Caddyfile
curl -fsSL  https://punchify.app/install/env.example -o .env

2. Enter the configuration

nano .env

At minimum you need: PUNCHIFY_DOMAIN, ACME_EMAIL, PUNCHIFY_LICENSE_KEY, two random values for PUNCHIFY_DB_PASSWORD and PUNCHIFY_SECRET_KEY, and the email and password of the first admin. You can create random values with:

openssl rand -hex 32

All settings are explained under Configuration.

3. Start

docker compose up -d

After about a minute Punchify is available at https://<your domain>. Sign in with the email and password from PUNCHIFY_ADMIN_EMAIL and PUNCHIFY_ADMIN_PASSWORD – and change the password afterwards under Settings. Continue with the first steps.

Important: Keep PUNCHIFY_SECRET_KEY safe (e.g. in a password manager). Without this key the backups cannot be restored.

What lives where

Container Purpose Data (Docker volume)
app Punchify itself punchify-data – including the nightly backups under /data/backups
db PostgreSQL 16 db-data
caddy Web server, HTTPS caddy-data, caddy-config (certificates)

Check that everything runs

docker compose ps
docker compose logs app --tail 50
curl -fsS https://<your domain>/healthz

/healthz answers with {"status":"ok", "version": …} once the app is ready.

Hosted by Punchify

If you don't want to look after a server, we run Punchify for you in a data centre in Nuremberg, Germany – with your own address such as yourcompany.punchify.app, automatic updates and backups. See pricing.

Version: Punchify 0.10.1 · Found a mistake? Let us know