OpenProject

Version 1.1 by chrisby on 2023/09/03 22:52

docker-compose.yml

version: "3.3"

volumes:
 traefik:
 openproject-pgdata:
 openproject-assets:

services:
 traefik:
   image: "traefik:latest"
   container_name: "traefik"
   restart: unless-stopped
   command:
      - "--api.insecure=true"
      - "--providers.docker=true"
      - "--providers.docker.exposedbydefault=false"
      - "--entrypoints.websecure.address=:443"
      - "--certificatesresolvers.myresolver.acme.tlschallenge=true"
     # - "--certificatesresolvers.myresolver.acme.email=<email>"
      - "--certificatesresolvers.myresolver.acme.storage=/letsencrypt/acme.json"
     # Uncomment for test mode. This allows detailed logging and creation of a fake certificate.
     # - "--log.level=DEBUG"
     # - "--certificatesresolvers.myresolver.acme.caserver=https://acme-staging-v02.api.letsencrypt.org/directory"
   ports:
      - "443:443"
   volumes:
      - "traefik:/letsencrypt"
      - "/var/run/docker.sock:/var/run/docker.sock:ro"

 openproject:
   image: openproject/community:12
   container_name: openproject
   restart: unless-stopped
   environment:
      - OPENPROJECT_HOST__NAME=<subdomain>
      - OPENPROJECT_HTTPS=true
      - OPENPROJECT_SECRET_KEY_BASE=<50-random-alpha-numeric-chars>
   volumes:
      - openproject-pgdata:/var/openproject/pgdata
      - openproject-assets:/var/openproject/assets
   labels:
      - "traefik.enable=true"
      - "traefik.http.routers.openproject.rule=Host(`<subdomain>`)
     - "traefik.http.routers.openproject.entrypoints=websecure"
      - "traefik.http.routers.openproject.tls.certresolver=myresolver"
  •  Execute docker-compose up -d
  • Go to https://<subdomain>
  • Login as 'admin' with password 'admin' and set a new strong password after the first login.