Edited 2025-12-22: The problem is specific to ARM architecture and OttoFMS versions 4.14.0 and 4.14.1. Version 4.13.1 has no issue.
Copilot helped make the following problem report and seems pretty certain this is an issue with the installer. Are others not seeing the same issue?
Subject: OttoFMS 4.14.1 Linux installer creates invalid systemd service file causing NOPERMISSION errors
Severity: High - Service fails to start via systemd restart but works when started manually
Description:
The OttoFMS Linux installer (version 4.14.1) creates a systemd service file with configuration errors that cause permission-related failures when restarting the service through systemd, though the service runs successfully when started manually.Root Causes:
- Systemd unit file bug:
AfterandWantsdirectives are incorrectly placed in[Install]section instead of[Unit]section- Exit code 4/NOPERMISSION: Service exits with permission error during automated restarts, triggering systemd rate limiting
- Rate limiting: After 5 rapid restart attempts, systemd blocks further starts with “Start request repeated too quickly”
Symptoms:
- Service fails with
status=4/NOPERMISSIONwhen restarted via systemd- Manual start (
systemctl start) works correctly after stopping- Service file shows configuration warnings about unknown keys in Install section
Service File Issue:
Environment:
- OS: Ubuntu 22.04 LTS (ARM64)
- FileMaker Server: 22.0.4
- OttoFMS Version: 4.14.1 (binary dated Dec 10, 2024)
- Installation Method:
curl -fsSL 'https://downloads.ottomatic.cloud/ottofms/install-scripts/install-linux.sh' | bashReproduction:
- Fresh Ubuntu 22.04 ARM64 with FileMaker Server 22.0.4
- Run OttoFMS installer
- Attempt to restart service:
systemctl restart ottofms-proofgeist-com.service- Service fails with exit code 4/NOPERMISSION
- After failure, run:
systemctl stop ottofms-proofgeist-com.service && systemctl start ottofms-proofgeist-com.service- Service starts successfully
Back to Jason:
Although the above says the service starts successfully after a manual stop/start, I still get 404 Not found on /otto
I also tried this on Ubuntu 24.04 (ARM).
Pretty sure I also got this result on 24.04 (ARM) with FMS 21.1.5
Here is how I install Otto with Ansible:
---
# Install or update OttoFMS
- name: Install OttoFMS
become: true
ansible.builtin.shell: |
set -o pipefail
curl -fsSL 'https://downloads.ottomatic.cloud/ottofms/install-scripts/install-linux.sh' | bash
args:
executable: /bin/bash
- name: Ensure OttoFMS data dir exists
become: true
ansible.builtin.file:
path: /opt/OttoFMS/data
state: directory
owner: fmserver
group: fmsadmin
mode: "2775" #setgid: keep group on new files
- name: Install OttoFMS License Key
become: true
ansible.builtin.template:
src: OttoFMS_license.j2
dest: /opt/OttoFMS/data/license.json
owner: fmserver
group: fmsadmin
mode: "0640"
register: ottofms_license
- name: Restart OttoFMS
become: true
ansible.builtin.service:
name: ottofms-proofgeist-com
state: restarted
when: ottofms_license is changed
The second step is new. I never used to need to create the data directory. Unsure if the installer changed or a new version of Ansible no longer creates the directory automatically on the next step. Edit: It’s probably because when OttoFMS is working, it creates the data directory on first start.