Open link in a new tab

Content

Expand project menu

OpenProject armhf packages

Hello everyone.

I would like to install OpenProject on my Odroid (similar to Raspberry Pi - ARM architecture), but there aren’t any binary armhf packages for OpenProject, which is really unfortunate.

I am currently using Redmine on my Odroid which does have armhf debian packages and that makes installation a breeze. Ruby on rails sites are a real pita to set up and install manually.

Is there a chance for OpenProject Debian armhf packages in the future? I would love to migrate to OpenProject.

Message actions

For some reason I cannot unzip the image file you sent. It's giving an "unspecified error". I'll try and message you through github as well

Made Whatnow wrote:

William Golden wrote:

I followed your guide but am running into several issues. In the guide you mentioned sending you a message for an image file link. Could you share that with me please?

Hi William,

I'll put that link here temporarily, but will likely take it off in a day or two - perhaps notify me once you have it:

https://drive.google.com/file/d/1tUtiHvJ4S0MiMC0mz3d4pW8M5crPVlQp/view?usp=sharing

SSH is enabled, use pi // raspberry as the login. OpenProject can be accessed via admin // RaspberryPi .
Background jobs are NOT enabled yet, but emails can be sent once configured. You will need a 32gb sd card - the image is zipped, MD5 checksum is 275277afc2dcd81562bf534997601a15.

Message actions

Can you try downloading it again? I got one confirmed, running installation based off that file.

Message actions

I'm running into some problems too. I worked out that unzipping the image with 'the unarchiver' would result in an img file, but then (although my SD card is 32GB) when I try to burn the image to it there's not enough space on it. Tried to find contact details for MadeWhatnow on GIT but couldn't find them.

Message actions

I had the same problem with the file size. Then i downsized the image from MadeWhatnow with PiShrink. New file size is 9.9gb. You can temporarily download the file here: https://drive.google.com/file/d/1-K7A2MhWsV1nEIXjV4XaMu0Qr5iQtwtK/view?usp=sharing

Message actions

Didn't know that tool existed, very useful - thanks!

Message actions

Thanks Mischu! Much appreciated :) and Made Whatnow, thanks so much for all your work so far!

Message actions

Did you change the password Mischu?

Message actions

No, i downsized the original image from MadeWhatnow

Message actions

I'm so sorry, I was using a german keyboard, and the y of raspberry became a z in the password! All fine now. Thanks very much :)

Message actions

Thanks a lot for all of you that worked hard to make this work.  I'm trying to install the image and set it up, but I'm not that expert in Raspberry, and would appreciate a hand from you guys if you are willing to point me at least in some directions.

I have managed to install the image and boot the pi to a command line. but, when I try to connect to the webserver from another computer on the same network, here is what i get:

Looks like I'm able to contact the server, but maybe I'm missing some configuration...  

thanks in advance for your help!

Message actions

Can you take a look at the /var/log/apache2/error.log?

Message actions

I will take a wild guess - assuming that the Apache permissions are ok, I have seen this problem due to a timeout error. Creating a /etc/apache2/conf-available/passenger.conf file and adding the line 'PassengerStartTimeout 200' at the top might just fix it. Good luck!

Message actions

Hey, guys. A few months ago I wrote about how to make OP works in ARM using Rancher -- which runs Kubernetes under the hood -- through a Docker image. Unfortunatelly I published only in Portuguese; I think that only by seeing the config screenshots you might be able to understand the whole process. Here is the link: https://fazenda.hashnode.dev/chega-de-jira

note: maybe using Bing Translator might help you also

Message actions

Update for Feb 2021 - OpenProject 11 works on Raspberry Pi 4. I updated the instructions, the process seems a lot more robust and throws hardly any/no error messages. I have a test image if somebody wants to give it a go, and this time round I will actually check my mailbox. Sorry!

Message actions

The link to the image file lives on github now, which should make it easier to test performance and features.

Message actions

Thanks to Made Whatnow I got OP installed on my RasPi4. 

I would like to change manually now to BIM edition? Does anybody know how to do it?

Message actions

Sorry - that's beyond me! But happy to hear you got it working!

Message actions

Hi, instructions in how to upgrade to the latest version will be very helpful, thanks! all working good on my raspberry pi 4 version 11.1.4 but want to upgrade to 11.2.3, any help appreciated

Message actions

I've been using OpenProject 11 on a Raspberry Pi 4 for about 2 months and it runs smoothly despite some very small issues. I can't thank you all enough for this, specially to Made Whatnow whose image I used to make it work. I'm still getting using to OP, but I'm very enthusiastic about it.

That being said, I have to say I'm a huge noob when it comes to programming, but I've made my way thought setting up OP on the Raspberry Pi 4, and I've been trying to fix some of the issues I came across. The most annoying issues are that I can't get the email notification to work and can't upgrade OP version (as Louis mentioned).

The e-mail notification seems not be working because the system can't find ruby. When I try running the command presented in here I get the error "/usr/bin/env: ‘ruby’: No such file or directory". When I run "ruby --version" I get "ruby: command not found" message.

On the other hand, when trying to upgrade OP following the procedure presented here I get the following error: "Unable to locate package openproject".

I haven't figured out my way through yet, but I hope it rings someone's bell.

Message actions

Thanks to Made Whatnow for the new image file! It runs very well on my PI4 4GB.

After installing the OpenProject 11 image i also had problems with the notifications. I am not a programmer. But after some hours of reading and searching it works now.

Here is my solution/configuration:

Login with:

su - openproject -c "bash -l"

Mail settings in configuration.yml

production:
  email_delivery_method: :smtp
  smtp_enable_starttls_auto: true
  smtp_address: smtp.gmail.com
  smtp_port: 587
  smtp_domain: smtp.gmail.com
  smtp_authentication: :plain
  smtp_user_name: "yourmail@gmail.com"
  smtp_password: "password"

Settings for crontab: 

crontab -e

Insert the following line at the end of the file:

*/1 * * * * cd /home/openproject/openproject; . ~/.profile; RAILS_ENV="production" bundle exec rake jobs:workoff

I d'ont now why but it takes about 5 minutes to receive notifications mails. But for me it's ok

Message actions

Thank you very much, Michel W! Your solution worked perfectly to me. 

Michel W wrote:

Thanks to Made Whatnow for the new image file! It runs very well on my PI4 4GB.

After installing the OpenProject 11 image i also had problems with the notifications. I am not a programmer. But after some hours of reading and searching it works now.

Here is my solution/configuration:

Login with:

su - openproject -c \"bash -l\"

Mail settings in configuration.yml

production:
  email_delivery_method: :smtp
  smtp_enable_starttls_auto: true
  smtp_address: smtp.gmail.com
  smtp_port: 587
  smtp_domain: smtp.gmail.com
  smtp_authentication: :plain
  smtp_user_name: \"yourmail@gmail.com\"
  smtp_password: \"password\"

Settings for crontab:

crontab -e

Insert the following line at the end of the file:

*/1 * * * * cd /home/openproject/openproject; . ~/.profile; RAILS_ENV=\"production\" bundle exec rake jobs:workoff

I d'ont now why but it takes about 5 minutes to receive notifications mails. But for me it's ok

Message actions

Hy, I want to try this... reading, I realized that Openproject 11 worked better than Open Project 10...
Now, Openproject 12 is out...
Has somebody tried to install Openproject 12 on Raspberry?

Message actions

juan m. wrote:

Hy, I want to try this... reading, I realized that Openproject 11 worked better than Open Project 10...
Now, Openproject 12 is out...
Has somebody tried to install Openproject 12 on Raspberry?

I am currently working on trying to install OP 12, if anyone has compiled it correctly I would love to hear from you

Message actions

POLL: Please could you share on what hardware that is ARM based you would run OpenProject as a production environment?

Message actions

Levi Walton wrote:

I am currently working on trying to install OP 12, if anyone has compiled it correctly I would love to hear from you

I am also currently trying on my RPI4. Running through the instructions at https://github.com/madewhatnow/OpenProjectRaspberryPi/blob/master/index.md rather straightforward when setting the following versions

  • Ruby --> 3.1.2 (via rbenv)
  • Node --> 16.17.0 (via nodenv)
  • npm --> 8.12.1 (this one I set manually via "npm install -g npm@8.12.1" as the version 8.15.something that  comes with nodenv for node 16.17.0 some reasons seems not to work)

But now I am stuck at the very end. Phusion Passenger throws errors related to non-matching gem versions (such as "You have already activated strscan 3.0.1, but your Gemfile requires strscan 3.0.4. [..]").
Reason seems to be that it does not pick up the gems from "vendor/bundle" directory (where all the gems seem to be correctly available) inside the openproject folder but rather some gems from the local installation. This one I haven't figured out yet. Any ideas around here?

Message actions

Ok, I made OP12 work for me on my Raspberry PI4. In addition to the modifications already described in my post above, here's the rest

  1. added
    SetEnv GEM_PATH /home/openproject/openproject/vendor/bundle/ruby/3.1.0
    to /etc/apache2/sites-available/openproject.conf 
    This resolved my gem path / bundler issue from above. No idea why this was necessary, but it helped for me
  2. Added
     PassengerDisableAnonymousTelemetry on
     PassengerFriendlyErrorPages on
     PassengerDisableSecurityUpdateCheck on
    to /etc/apache2/mods-available/passenger.conf to get rid of some apache / passenger errors and warnings with telemetry and failing update checks. 
  3. As I don't have ssl certificates configured for my local network I had to turn off ssl enforcement in production environment
    config.force_ssl = false
    in /home/openproject/openproject/config/environments/production.rb (was config.force_ssl = OpenProject::Configuration.https?)

All of this together made it work for me. Your mileage may vary...

And also - pretty sure this configuration is as insecure as it can get, should not be used outside a trusted local network

Message actions

Having successfully installed OpenProject (stable/12), we forked the repository for the current installation procedure (https://github.com/madewhatnow/OpenProjectRaspberryPi) and modified the content based on it The following is the revised version.

https://creeper-0910.github.io/OpenProjectRaspberryPi4B/

Message actions

Installing Passenger from apt will save you one part of the procedure and the time required.

Message actions

っくり ゆ wrote:

Having successfully installed OpenProject (stable/12), we forked the repository for the current installation procedure (https://github.com/madewhatnow/OpenProjectRaspberryPi) and modified the content based on it The following is the revised version.

https://creeper-0910.github.io/OpenProjectRaspberryPi4B/

I couldn't get through that, unfortunately.

First of all, I needed never versions of node and ruby (starting from a fresh raspberry pi os lite installation (64bit), or later steps would complain.

git clone git://github.com/OiNutter/node-build.git ~/.nodenv/plugins/node-build failed, the repo doesn't seem to exist anymore. I found a replacement at https://github.com/nodenv/node-build.git. (Fingers crossed that's not what's breaking things for me)

Despite being on a 4gb model, I needed the swap-space enlarged; or the precompile-step would fail.

I can get through to the end; and maybe I'm just getting the apache-config wrong, but I only get to see the default website, and I'm really not competent enough to tell if openproject is even running. (home/openproject/openproject/public is populated: 422.html  assets  favicon.ico  fonts  javascripts

Message actions

I understand. I will check and update the procedure!
Thanks for the report!

Rasmus Neikes wrote:

っくり ゆ wrote:

Having successfully installed OpenProject (stable/12), we forked the repository for the current installation procedure (https://github.com/madewhatnow/OpenProjectRaspberryPi) and modified the content based on it The following is the revised version.

https://creeper-0910.github.io/OpenProjectRaspberryPi4B/

I couldn't get through that, unfortunately.

First of all, I needed never versions of node and ruby (starting from a fresh raspberry pi os lite installation (64bit), or later steps would complain.

git clone git://github.com/OiNutter/node-build.git ~/.nodenv/plugins/node-build failed, the repo doesn't seem to exist anymore. I found a replacement at https://github.com/nodenv/node-build.git. (Fingers crossed that's not what's breaking things for me)

Despite being on a 4gb model, I needed the swap-space enlarged; or the precompile-step would fail.

I can get through to the end; and maybe I'm just getting the apache-config wrong, but I only get to see the default website, and I'm really not competent enough to tell if openproject is even running. (home/openproject/openproject/public is populated: 422.html  assets  favicon.ico  fonts  javascripts

Message actions

Try running "sudo a2ensite openproject."
If it installs correctly, it should work.

Message actions

Running on a Raspberry 4b 4gig, with Ubuntu 23.4 / 64bit installed:

sudo apt-get update -y
sudo apt-get full-upgrade -y
curl -sSL https://get.docker.com | sh
sudo usermod -aG docker $(whoami)
sudo docker pull portainer/portainer-ce:linux-arm
sudo docker run --restart always -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:linux-arm

These steps will set up docker and compose, then run portainer. From there, I managed to get openproject started with the following stack defintion:

version: "3.7"

networks:
  frontend:
  backend:

volumes:
  pgdata:
  opdata:

x-op-restart-policy: &restart_policy
  restart: unless-stopped
x-op-image: &image
  image: openproject/community:${TAG:-12}
x-op-app: &app
  <<: [*image, *restart_policy]
  environment:
    OPENPROJECT_HTTPS: "${OPENPROJECT_HTTPS:-true}"
    OPENPROJECT_HOST__NAME: "${OPENPROJECT_HOST__NAME:-localhost:8080}"
    OPENPROJECT_HSTS: "${OPENPROJECT_HSTS:-true}"
    RAILS_CACHE_STORE: "memcache"
    OPENPROJECT_CACHE__MEMCACHE__SERVER: "cache:11211"
    OPENPROJECT_RAILS__RELATIVE__URL__ROOT: "${OPENPROJECT_RAILS__RELATIVE__URL__ROOT:-}"
    DATABASE_URL: "${DATABASE_URL:-postgres://postgres:p4ssw0rd@db/openproject?pool=20&encoding=unicode&reconnect=true}"
    RAILS_MIN_THREADS: ${RAILS_MIN_THREADS:-4}
    RAILS_MAX_THREADS: ${RAILS_MAX_THREADS:-16}
    # set to true to enable the email receiving feature. See ./docker/cron for more options
    IMAP_ENABLED: "${IMAP_ENABLED:-false}"
  volumes:
    - "${OPDATA:-opdata}:/var/openproject/assets"

services:
  db:
    image: postgres:13
    <<: *restart_policy
    stop_grace_period: "3s"
    volumes:
      - "${PGDATA:-pgdata}:/var/lib/postgresql/data"
    environment:
      POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-p4ssw0rd}
      POSTGRES_DB: openproject
    networks:
      - backend

  cache:
    image: memcached
    <<: *restart_policy
    networks:
      - backend

  proxy:
    <<: [*image, *restart_policy]
    command: "./docker/prod/proxy"
    ports:
      - "${PORT:-8080}:80"
    environment:
      APP_HOST: web
      OPENPROJECT_RAILS__RELATIVE__URL__ROOT: "${OPENPROJECT_RAILS__RELATIVE__URL__ROOT:-}"
    depends_on:
      - web
    networks:
      - frontend

  web:
    <<: *app
    command: "./docker/prod/web"
    networks:
      - frontend
      - backend
    depends_on:
      - db
      - cache
      - seeder
    labels:
      - autoheal=true
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8080${OPENPROJECT_RAILS__RELATIVE__URL__ROOT:-}/health_checks/default"]
      interval: 10s
      timeout: 3s
      retries: 3
      start_period: 30s

  autoheal:
    image: willfarrell/autoheal:1.2.0
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock"
    environment:
      AUTOHEAL_CONTAINER_LABEL: autoheal
      AUTOHEAL_START_PERIOD: 600
      AUTOHEAL_INTERVAL: 30

  worker:
    <<: *app
    command: "./docker/prod/worker"
    networks:
      - backend
    depends_on:
      - db
      - cache
      - seeder

  cron:
    <<: *app
    command: "./docker/prod/cron"
    networks:
      - backend
    depends_on:
      - db
      - cache
      - seeder

  seeder:
    <<: *app
    command: "./docker/prod/seeder"
    restart: on-failure
    networks:
      - backend

I am not sure from where I copied the original file; but on https://hub.docker.com/r/openproject/community/tags you can see that v12 is only a few days old. In an earlier attempt, I had to still grab a dev release.