Initial commit after Claude implementation

This commit is contained in:
Ian Roddis
2026-03-23 14:29:32 -03:00
commit 5920d3fd7a
62 changed files with 1847 additions and 0 deletions
@@ -0,0 +1,57 @@
services:
roundcube-db:
image: postgres:16-alpine
container_name: roundcube-db
restart: unless-stopped
environment:
POSTGRES_DB: roundcube
POSTGRES_USER: roundcube
POSTGRES_PASSWORD: "{{ roundcube_db_password }}"
volumes:
- {{ roundcube_data_dir }}/db:/var/lib/postgresql/data
networks:
- internal
logging:
driver: gelf
options:
gelf-address: "udp://{{ graylog_host }}:{{ graylog_gelf_port }}"
tag: "roundcube-db"
roundcube:
image: roundcube/roundcubemail:{{ roundcube_version }}
container_name: roundcube
restart: unless-stopped
depends_on:
- roundcube-db
environment:
ROUNDCUBEMAIL_DB_TYPE: pgsql
ROUNDCUBEMAIL_DB_HOST: roundcube-db
ROUNDCUBEMAIL_DB_NAME: roundcube
ROUNDCUBEMAIL_DB_USER: roundcube
ROUNDCUBEMAIL_DB_PASSWORD: "{{ roundcube_db_password }}"
ROUNDCUBEMAIL_DEFAULT_HOST: "ssl://stalwart"
ROUNDCUBEMAIL_DEFAULT_PORT: 993
ROUNDCUBEMAIL_SMTP_SERVER: "tls://stalwart"
ROUNDCUBEMAIL_SMTP_PORT: 587
ROUNDCUBEMAIL_DES_KEY: "{{ roundcube_des_key }}"
ROUNDCUBEMAIL_PLUGINS: "archive,zipdownload,managesieve,jqueryui"
ROUNDCUBEMAIL_SKIN: elastic
labels:
- "traefik.enable=true"
- "traefik.http.routers.roundcube.rule=Host(`{{ roundcube_domain }}`)"
- "traefik.http.routers.roundcube.tls=true"
- "traefik.http.routers.roundcube.tls.certresolver=letsencrypt"
- "traefik.http.services.roundcube.loadbalancer.server.port=80"
networks:
- internal
- {{ sovereign_network_name }}
logging:
driver: gelf
options:
gelf-address: "udp://{{ graylog_host }}:{{ graylog_gelf_port }}"
tag: "roundcube"
networks:
internal:
{{ sovereign_network_name }}:
external: true