OpenProject

Last modified by chrisby on 2024/08/29 12:33

docker-compose.yml
version: "3.3"

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

services:
  traefik:
    image: "traefik:v2.10.4"
    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.5.8
    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"
Instructions
  • 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.