Project

General

Profile

Redmine » History » Version 2

Redmine Admin, 10/26/2026 02:24 AM
deploy-publish.sh

1 2 Redmine Admin
Containers `site-redmine` (Redmine 6, Puma on :3000) + `db-redmine`
2 1 Redmine Admin
(PostgreSQL) on `net-redmine`. NPM forwards to `site-redmine:3000`.
3
4 2 Redmine Admin
Persistence: `files` is a named volume; **config, plugins, public/images,
5
public/assets/plugin_assets are host bind mounts under `~/redmine_data/`**
6
(added after a container recreate wiped a `podman cp`'d plugin). Anything
7
dropped into the container with `podman cp` outside those paths does NOT
8 1 Redmine Admin
survive a recreate.
9
10 2 Redmine Admin
```bash
11 1 Redmine Admin
# reload Puma after changing a plugin / View Customize / logo (no restart needed)
12
podman kill -s USR2 site-redmine
13
14
# Rails console / rake inside the container
15
podman exec -it site-redmine bundle exec rails console -e production
16
podman exec -it site-redmine bundle exec rake redmine:plugins:migrate RAILS_ENV=production
17
18
# PostgreSQL
19
podman exec -it db-redmine psql -U redmine redmine
20
podman exec db-redmine pg_dump -U redmine redmine > ~/tmp/redmine-$(date +%F).sql
21
```
22
23 2 Redmine Admin
Mail: no SMTP AUTH (M365 Security Defaults stay on) — Exchange Online
24
IP-based inbound connector relay, port 25 to the tenant MX endpoint
25
(`mdsdefense-com.mail.protection.outlook.com`), STARTTLS, no credentials,
26
sender `sysadmin@mdsdefense.com`. Redmine's settings:
27
`grep -nE 'address|port|domain|starttls' ~/redmine_data/config/configuration.yml`.
28
Why no password is needed: Exchange Online only accepts mail from IP addresses
29
it has been told about (the IP-based connector), and this host's public egress IP
30
is on that list. Every other container on this host leaves through the same IP,
31
so it can use the same relay the same way (Snipe-IT, below). The one exception is
32
a container on a network with `Internal=true`: it has no internet access at all,
33
so it cannot reach the relay.
34 1 Redmine Admin
35 2 Redmine Admin
Git repositories and the commit/push procedure: [[Git Workflow]].
36 1 Redmine Admin
37
38
---
39 2 Redmine Admin
_Source: `dmz-web-podman-cheatsheet.md` v1.2 in the `dmz-web-deploy` repo ([[Releases]]). Edit the wiki and the repo copy together._