Anleitung

Redmine in 15 Minuten – mit Docker, ohne Vorkenntnisse.

Eine Datei, drei Befehle, dann läuft ein vollständiges Redmine. Diese Anleitung ist für den Weg von null bis zum ersten Login gedacht und endet mit der Einrichtung der Zeiterfassung. Voraussetzung: ein Linux-Server oder eine virtuelle Maschine mit installiertem Docker.

Schritt 1

Eine Datei anlegen.

Ein neues Verzeichnis, darin die Datei docker-compose.yml mit diesem Inhalt. Die beiden Passwörter und den Schlüssel ersetzen Sie durch eigene Werte – der Schlüssel darf lang und beliebig sein, er wird nirgends eingetippt.

services:
  db:
    image: postgres:16-alpine
    restart: unless-stopped
    environment:
      POSTGRES_DB: redmine
      POSTGRES_USER: redmine
      POSTGRES_PASSWORD: bitte-aendern
    volumes:
      - ./data/db:/var/lib/postgresql/data

  redmine:
    image: redmine:6.1
    restart: unless-stopped
    depends_on: [db]
    ports:
      - "3000:3000"
    environment:
      REDMINE_DB_POSTGRES: db
      REDMINE_DB_DATABASE: redmine
      REDMINE_DB_USERNAME: redmine
      REDMINE_DB_PASSWORD: bitte-aendern
      SECRET_KEY_BASE: bitte-durch-eine-lange-zufallszeichenkette-ersetzen
    volumes:
      - ./data/files:/usr/src/redmine/files
      - ./data/plugins:/usr/src/redmine/plugins

Dann die Datenverzeichnisse anlegen – vor dem ersten Start, damit sie Ihnen gehören und nicht dem Container:

mkdir -p data/db data/files data/plugins

Dort liegen Datenbank, Anhänge und Plugins – das ist alles, was Sie sichern müssen.

Schritt 2

Starten und Grunddaten laden.

Im selben Verzeichnis:

docker compose up -d
docker compose exec redmine bundle exec rake redmine:load_default_data REDMINE_LANG=de RAILS_ENV=production

Der erste Befehl lädt die Images und startet beide Container; der zweite legt Rollen, Ticket-Status und Workflows an – einmalig. Danach ist Redmine unter http://<server>:3000 erreichbar. Anmeldung mit admin / admin; Redmine verlangt sofort ein neues Passwort.

Schritt 3

Die Zeiterfassung einrichten.

Das Plugin-Zip aus Ihrer Kauf-E-Mail in das Plugin-Verzeichnis entpacken, die Datenbanktabellen anlegen, neu starten:

unzip at_zeiterfassung-1.6.0.zip -d data/plugins/
docker compose exec redmine bundle exec rake redmine:plugins:migrate RAILS_ENV=production
docker compose restart redmine

In Redmine dann: Administration → Rollen und Rechte → der Rolle Ihrer Mitarbeitenden das Recht Eigene Zeiterfassung ansehen geben, ein Projekt anlegen, Mitglieder zuordnen. Ab jetzt steht die Zeiterfassung im Hauptmenü. Alles Weitere erklärt das Handbuch.

Gut zu wissen

Drei Dinge für den Betrieb.

HTTPS

Für den Zugriff aus dem Internet gehört ein Reverse-Proxy mit Zertifikat davor – Caddy erledigt das mit zwei Zeilen Konfiguration, nginx oder Traefik ebenso. Im Firmennetz reicht Port 3000.

Sicherung

Das Verzeichnis data/ regelmäßig kopieren; für die Datenbank sauber per docker compose exec db pg_dump -U redmine redmine > backup.sql.

Updates

Redmine: Image-Version in der Datei erhöhen, docker compose up -d – der Container migriert die Datenbank beim Start. Plugin: altes Verzeichnis löschen, neues Zip entpacken, plugins:migrate, Neustart – genau wie bei der Installation.

Oder erst einmal ansehen

Die Demo braucht keine Installation.

Demo öffnen Zur Zeiterfassung