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