Skip to content

Commit e616da3

Browse files
committed
upgrade discourse-virtmail plugin
1 parent a233c8d commit e616da3

File tree

2 files changed

+61
-18
lines changed

2 files changed

+61
-18
lines changed

Dockerfile

+19-18
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,21 @@ RUN --mount=type=cache,target=/var/cache/apt \
3333
vim-tiny \
3434
&& rm -rf /var/lib/apt/lists/*
3535

36+
FROM base AS imagemagick_builder
37+
RUN apt update && \
38+
DEBIAN_FRONTEND=noninteractive apt-get -y install wget \
39+
autoconf build-essential \
40+
git \
41+
cmake \
42+
gnupg \
43+
libpcre3-dev \
44+
libfreetype6-dev \
45+
libbrotli-dev
3646

47+
ADD discourse_docker/image/base/install-imagemagick /tmp/install-imagemagick
48+
RUN /tmp/install-imagemagick
49+
50+
FROM base AS complete
3751
# add node and npm to path so the commands are available
3852
# ENV NODE_PATH $NVM_DIR/v$NODE_VERSION/lib/node_modules
3953
# ENV PATH $NVM_DIR/versions/node/v$NODE_VERSION/bin:$PATH
@@ -83,7 +97,7 @@ ENV DISCOURSE_CHECKLIST_VERSION=6fcf9fed5c3ae3baf9ddd1cca9cef4dc089996c1
8397
ENV DISCOURSE_SOLVED_VERSION=f7bbffa6173b6e06a232e2eeaaef1e4da2d9cb8c
8498
ENV DISCOURSE_GROUP_GLOBAL_NOTICE_VERSION=598c3f22d000d9eb11df073f8e8d749797624653
8599
ENV DISCOURSE_MULTI_SSO_VERSION=e19fc0a860613a10dfc1e080484e3f2e76009da8
86-
ENV DISCOURSE_VIRTMAIL_VERSION=bb6ea6dee2db7e5ecdfd7e606398e3e4a2ce37bd
100+
ENV DISCOURSE_VIRTMAIL_VERSION=7290b57663c73b1b888ddec7e12cd8f121bbc259
87101

88102
RUN cd plugins \
89103
&& curl -L https://github.com/discourse/discourse-assign/archive/${DISCOURSE_ASSIGN_VERSION}.tar.gz | tar -xz \
@@ -107,26 +121,13 @@ RUN cd plugins \
107121
&& curl -L https://github.com/foodcoopsat/discourse-virtmail/archive/${DISCOURSE_VIRTMAIL_VERSION}.tar.gz | tar -xz \
108122
&& mv discourse-virtmail-* discourse-virtmail
109123

124+
# COPY plugins/discourse-virtmail plugins/discourse-virtmail
125+
110126
# RUN cd app/assets/javascripts/discourse && chown discourse:discourse -R . && su discourse -c 'ember build -prod'
111127

112128
# USER root
113129

114-
FROM base AS imagemagick_builder
115-
RUN apt update && \
116-
DEBIAN_FRONTEND=noninteractive apt-get -y install wget \
117-
autoconf build-essential \
118-
git \
119-
cmake \
120-
gnupg \
121-
libpcre3-dev \
122-
libfreetype6-dev \
123-
libbrotli-dev
124-
125-
ADD discourse_docker/image/base/install-imagemagick /tmp/install-imagemagick
126-
RUN /tmp/install-imagemagick
127-
128-
129-
FROM base AS builder
130+
FROM complete AS builder
130131

131132
RUN curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - \
132133
&& curl -fsSL https://packages.redis.io/gpg | apt-key add - \
@@ -151,7 +152,7 @@ RUN /etc/init.d/redis-server start \
151152
&& su discourse -c 'bundle exec rake assets:precompile' \
152153
&& su discourse -c 'bundle exec rake multisite:migrate'
153154

154-
FROM base
155+
FROM complete
155156

156157
RUN ln -sf /dev/stdout /home/discourse/discourse/log/production.log \
157158
&& ln -sf /dev/stdout /var/log/nginx/access.log \

docker-compose.yml

+42
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,37 @@
11
services:
2+
roundcube:
3+
image: ghcr.io/foodcoopsat/roundcube
4+
environment:
5+
ROUNDCUBEMAIL_DB_TYPE: sqlite
6+
ROUNDCUBEMAIL_DB_USER: roundcube
7+
ROUNDCUBEMAIL_DB_HOST: mariadb
8+
ROUNDCUBEMAIL_DB_SQLITE_PATH: /sqlite.db
9+
ROUNDCUBEMAIL_DB_NAME: roundcube
10+
ROUNDCUBEMAIL_DEFAULT_HOST: ssl://mail.local.at
11+
ROUNDCUBEMAIL_DEFAULT_PORT: 993
12+
ROUNDCUBEMAIL_SMTP_SERVER: ssl://mail.local.at
13+
ROUNDCUBEMAIL_SMTP_PORT: 465
14+
ROUNDCUBEMAIL_PLUGINS: archive,markasjunk,managesieve,nonce_login,zipdownload
15+
healthcheck:
16+
test: curl -f http://localhost/
17+
start_interval: 10s
18+
labels:
19+
traefik.enable: "true"
20+
traefik.http.middlewares.mail-admin.redirectregex.regex: ^https?://mail.local.at/admin(.*)
21+
traefik.http.middlewares.mail-admin.redirectregex.replacement: https://app.local.at/discourse-virtmail/addresses
22+
traefik.http.middlewares.roundcube-oauth.redirectregex.regex: ^https?://mail.local.at/index.php/login/oauth\?(.*)$$
23+
traefik.http.middlewares.roundcube-oauth.redirectregex.replacement: https://mail.local.at/?_task=login&_action=oauth&$${1}
24+
traefik.http.services.roundcube.loadbalancer.server.port: 80
25+
traefik.http.routers.roundcube.entrypoints: https
26+
traefik.http.routers.roundcube.middlewares: mail-admin,roundcube-oauth
27+
traefik.http.routers.roundcube.rule: Host(`mail.local.at`)
28+
traefik.http.routers.roundcube.tls: "true"
29+
traefik.http.routers.roundcube.tls.domains[0].main: mail.local.at
30+
volumes:
31+
- "./dev_config/roundcube.php/:/usr/src/roundcubemail/config/config.inc.php:ro"
32+
- "./dev_config/roundcube_secret:/run/secrets/roundcube_db_password"
33+
- "./dev_config/roundcube_secret:/run/secrets/roundcube_des_key"
34+
- "./dev_config/roundcube_secret:/run/secrets/roundcube_oauth_client_secret"
235
mkcert:
336
image: vishnunair/docker-mkcert
437
environment:
@@ -42,6 +75,7 @@ services:
4275
build:
4376
context: .
4477
environment:
78+
- RAILS_ENV=production
4579
- DISCOURSE_HOSTNAME=forum.test.net
4680
- DISCOURSE_DB_HOST=postgres
4781
- DISCOURSE_REDIS_HOST=redis
@@ -55,6 +89,8 @@ services:
5589
- ./dev_data/discourse_uploads:/home/discourse/discourse/public/uploads
5690
- ./dev_config/discourse-multisite.yml:/home/discourse/discourse/config/multisite.yml
5791
- ./dev_config/discourse.d/production.rb:/home/discourse/discourse/config/environments/production.rb
92+
- ./dev_config/discourse.d/development.rb:/home/discourse/discourse/config/environments/development.rb
93+
- ./plugins/discourse-virtmail:/home/discourse/discourse/plugins/discourse-virtmail/
5894
depends_on:
5995
- redis
6096
- postgres
@@ -68,9 +104,15 @@ services:
68104
traefik.http.routers.discourse.tls: "true"
69105
# traefik.http.routers.discourse.tls.certresolver: myresolver
70106
traefik.http.services.discourse.loadbalancer.server.port: 3000
107+
# traefik.http.services.discourse.loadbalancer.server.port: 4200
71108
command: bundle exec rails server --binding '0.0.0.0'
109+
# manually run docker compose exec -it discourse bin/rails server --port 3000
110+
# also disable traefik on the nginx service
111+
# command: node /usr/bin/pnpm --dir=app/assets/javascripts/discourse ember server --proxy http://localhost:3000 --host 0.0.0.0 --port 4200
72112
healthcheck:
73113
test: 'curl -f -H ''Host: forum.test.net'' http://localhost:3000/'
114+
start_period: 10s
115+
start_interval: 1s
74116
discourse_nginx:
75117
<<: *discourse
76118
command: nginx

0 commit comments

Comments
 (0)