Skip to content

Hammer #2101

Closed
Closed

Description

@MickLesk

Name of the Script

Hammer

Script Type

CT (LXC Container)

Does this script support arm64?

arm64 supported

📋 Script Details

Installs the self-hosted sync server for Hammer, the offline-first story/novel writing app (Kotlin/Ktor). It lets you sync Hammer projects across your own devices instead of Dropbox/third parties. The server has no UI of its own — install the Hammer desktop/mobile client separately and point it at http://<IP>:8080.

  • Deployment: uses the upstream prebuilt server.zip release asset (Gradle installDist) — no source build required. Runs on Temurin JDK 21 via /opt/hammer/bin/server.
  • Storage: in-process (embedded) PostgreSQL 18 — no external DB. Data in /opt/hammer_data (survives updates, via -Duser.home).
  • arm64: the embedded PostgreSQL binaries include linux-arm64v8, so arm64 is supported.
  • Note: plain HTTP on :8080; put behind a TLS reverse proxy for internet access.

Source: https://github.com/Darkrock-Studios/hammer-editor

Activity

  1. TJohansen commented on Aug 15, 2026

    @TJohansen

    Deployed successfully and exposed via Netbird reverse proxy with no issue. Initial testing seems to indicate everything is working well.

  2. yorkshirelandscape commented on Sep 6, 2026

    @yorkshirelandscape

    The website listed for this app is wrong. It should be https://hammer.ink

  3. github-actions commented on Sep 7, 2026

    @github-actions
    Contributor

    The Hammer script is ready for testing:

    bash -c "$(curl -fsSL https://github.com/community-scripts/ProxmoxVED/raw/main/ct/hammer.sh)"
    

    This is the SYNC SERVER only, not the Hammer editor. Install the Hammer client (desktop/mobile) separately and create your account from there - the first account created becomes the admin account. http://:8080 serves the public web pages (/setup, /admin); /api is the sync endpoint and returns an error in a browser because it requires the client's protocol-version header.
    Hammer clients only speak https and will NOT connect to plain HTTP, so the default http://:8080 works in a browser but not from the app. Put a TLS reverse proxy in front of it, or give Hammer a real certificate via sslPort/[sslCert] in /opt/hammer_data/config.toml. Self-signed certificates are rejected by the clients.
    Sync data is stored in an embedded PostgreSQL under /opt/hammer_data (kept outside the app directory so it survives updates). Include /opt/hammer_data in regular backups.
    Settings live in /opt/hammer_data/config.toml, which the server auto-loads from its data directory. It ships pre-filled with the container IP plus commented examples for reverse proxy, TLS, external PostgreSQL and caching. Apply changes with 'systemctl restart hammer'.

    Note: This is not in the official repo yet—it's just a dev version! After merging into ProxmoxVE, it will need to be recreated.

    Discord testing thread: https://discord.com/channels/1302816934508630047/1546509574356607057

  4. github-actions commented on Sep 11, 2026

    @github-actions
    Contributor

    A PR has been created for hammer: community-scripts/ProxmoxVE#17189

  5. MickLesk commented on Sep 12, 2026

    @MickLesk
    MemberAuthor

    Merged with #17189 in ProxmoxVE

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions