|
Yêu cầu: đã cài docker và cơ sở dữ liệu mariadb
redmine/
├─ docker-compose.yml
├─ .env
└─ data/ # volumes lưu files/ attachments
#Tạo chuỗi REDMINE_SECRET_KEY_BASE
[root@redmine ~]# openssl rand -hex 64 #Tạo và thêm nội dung dưới vào file .env [root@redmine ~]# nano .env
###################################### REDMINE_PORT=3000
REDMINE_SECRET_KEY_BASE=thay bằng chuỗi in ra ở câu lệnh trước
# ====== Remote MariaDB ======
DB_HOST=10.128.59.200
DB_PORT=3306
DB_NAME=redmine
DB_USER=redmine
DB_PASSWORD=StrongP@ssw0rd! ######################################
###################################### version: "3.9"
services:
redmine:
image: redmine:6
container_name: redmine6
restart: unless-stopped
ports:
- "${REDMINE_PORT}:3000"
environment:
# Kết nối DB từ xa (MariaDB external)
REDMINE_DB_MYSQL: "${DB_HOST}"
REDMINE_DB_PORT: "${DB_PORT}"
REDMINE_DB_DATABASE: "${DB_NAME}"
REDMINE_DB_USERNAME: "${DB_USER}"
REDMINE_DB_PASSWORD: "${DB_PASSWORD}"
# Khuyến nghị set secret key để session/CSRF an toàn
REDMINE_SECRET_KEY_BASE: "${REDMINE_SECRET_KEY_BASE}"
# Tuỳ chọn locale/email (bật khi cần)
# REDMINE_LANG: "vi"
# REDMINE_EMAIL: "redmine@example.com"
# REDMINE_SMTP_ENABLED: "true"
# REDMINE_SMTP_METHOD: "smtp"
# REDMINE_SMTP_DOMAIN: "example.com"
# REDMINE_SMTP_SERVER: "smtp.example.com"
# REDMINE_SMTP_PORT: 587
# REDMINE_SMTP_USER: "smtp_user"
# REDMINE_SMTP_PASSWORD: "smtp_pass"
# REDMINE_SMTP_STARTTLS: "true"
volumes:
# Lưu files, themes, plugins, logs (nằm ngoài container)
- ./data/files:/usr/src/redmine/files
- ./data/plugins:/usr/src/redmine/plugins
- ./data/themes:/usr/src/redmine/public/themes
- ./data/log:/usr/src/redmine/log
# Nếu DB trên mạng on-prem khác subnet, đảm bảo route/firewall cho phép
networks:
- redmine_net
# Healthcheck cơ bản: kiểm tra cổng Puma/WEBrick
healthcheck:
test: ["CMD", "bash", "-c", "exec 3<>/dev/tcp/127.0.0.1/3000 && echo -e 'GET / HTTP/1.1\r\nHost: localhost\r\n\r\n' >&3 && grep -q '200 OK' <&3"]
interval: 30s
timeout: 5s
retries: 5
networks:
redmine_net:
driver: bridge ###############################################
#Tạo database dùng utf8mb4 để hỗ trợ đầy đủ emoji/ký tự đa ngôn ngữ
CREATE DATABASE redmine CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
#Tạo user (giới hạn chỉ từ IP của host chạy Redmine nếu muốn)
CREATE USER 'redmine'@'%' IDENTIFIED BY 'StrongP@ssw0rd!';
#Cấp quyền đầy đủ cho Redmine
GRANT ALL PRIVILEGES ON redmine_prod.* TO 'redmine'@'%';
FLUSH PRIVILEGES;
[root@redmine ~]docker compose up -d
#xem log [root@redmine ~]docker compose logs -f redmine
#Truy cập: http://<IP_máy_chạy_Redmine>:3000
###################################### |
