2023-08-23 13:59:18 +02:00
|
|
|
---
|
|
|
|
|
sidebar_navigation:
|
|
|
|
|
title: Development setup on Debian / Ubuntu
|
2024-08-29 11:34:01 +02:00
|
|
|
short_title: Setup on Debian / Ubuntu
|
2023-08-23 13:59:18 +02:00
|
|
|
description: OpenProject development setup on Debian / Ubuntu
|
|
|
|
|
keywords: development setup debian ubuntu linux
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
# OpenProject development setup on Debian / Ubuntu
|
2019-10-17 14:39:25 +02:00
|
|
|
|
|
|
|
|
To develop OpenProject a setup similar to that for using OpenProject in production is needed.
|
|
|
|
|
|
2021-12-16 10:30:36 +01:00
|
|
|
This guide assumes that you have a Ubuntu 20.04 installation with administrative rights. This guide will work
|
2024-03-25 12:16:14 -05:00
|
|
|
analogous with all other distributions, but may require slight changes in the required packages. _Please, help us to
|
|
|
|
|
extend this guide with information on other distributions should there be required changes._
|
2019-10-17 14:39:25 +02:00
|
|
|
|
2024-03-25 12:16:14 -05:00
|
|
|
OpenProject Development Environment will be installed with a PostgreSQL database, OpenProject on-premises installation
|
|
|
|
|
shall NOT be present before.
|
2019-10-17 14:39:25 +02:00
|
|
|
|
|
|
|
|
**Please note**: This guide is NOT suitable for a production setup, but only for developing with it!
|
|
|
|
|
|
2024-03-25 12:16:14 -05:00
|
|
|
If you find any bugs or you have any recommendations for improving this tutorial, please, feel free to send a pull
|
|
|
|
|
request or comment in the [OpenProject forums](https://community.openproject.org/projects/openproject/boards).
|
2019-10-17 14:39:25 +02:00
|
|
|
|
2024-04-29 17:06:08 +02:00
|
|
|
## Prepare your environment
|
2019-10-17 14:39:25 +02:00
|
|
|
|
2024-03-25 12:16:14 -05:00
|
|
|
We need an active Ruby and Node JS environment to run OpenProject. To this end, we need some packages installed on the
|
|
|
|
|
system.o
|
2019-10-17 14:39:25 +02:00
|
|
|
|
2024-03-25 12:16:14 -05:00
|
|
|
CPU recommendation: 4 CPUs, Memory recommendation: 8 better 16 GB (in general we need double the amount of a normal
|
|
|
|
|
production installation)
|
2021-12-30 12:08:43 +01:00
|
|
|
|
2023-08-23 14:53:53 +02:00
|
|
|
```shell
|
2019-11-15 14:46:07 +01:00
|
|
|
sudo apt-get update
|
2020-08-24 09:22:08 +02:00
|
|
|
sudo apt-get install git curl build-essential zlib1g-dev libyaml-dev libssl-dev libpq-dev libreadline-dev
|
2019-10-17 14:39:25 +02:00
|
|
|
```
|
|
|
|
|
|
2024-04-29 17:06:08 +02:00
|
|
|
### Install Ruby
|
2019-10-17 14:39:25 +02:00
|
|
|
|
2024-03-25 12:16:14 -05:00
|
|
|
Use [rbenv](https://github.com/rbenv/rbenv) and [ruby-build](https://github.com/rbenv/ruby-build#readme) to install
|
2024-08-26 11:18:21 +02:00
|
|
|
Ruby.
|
|
|
|
|
You can check available ruby versions with `rbenv install --list`.
|
2026-03-31 11:21:01 +02:00
|
|
|
At the time of this writing, the latest stable version is `4.0.2`, which we also require.
|
2024-08-26 11:18:21 +02:00
|
|
|
|
|
|
|
|
We suggest you install the version we require in [.ruby-version](https://github.com/opf/openproject/blob/dev/.ruby-version).
|
2026-03-31 11:21:01 +02:00
|
|
|
Read the first line e.g. `4.0.2` and install that version.
|
2019-10-17 14:39:25 +02:00
|
|
|
|
2024-04-29 17:06:08 +02:00
|
|
|
#### Install rbenv and ruby-build
|
2019-10-17 14:39:25 +02:00
|
|
|
|
|
|
|
|
rbenv is a ruby version manager that lets you quickly switch between ruby versions.
|
2019-11-15 14:46:07 +01:00
|
|
|
ruby-build is an addon to rbenv that installs ruby versions.
|
2019-10-17 14:39:25 +02:00
|
|
|
|
2023-08-23 14:53:53 +02:00
|
|
|
```shell
|
2019-10-17 14:39:25 +02:00
|
|
|
# Install rbenv locally for the dev user
|
2019-11-15 14:46:07 +01:00
|
|
|
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
|
2020-03-25 09:56:29 +00:00
|
|
|
# Optional: Compile bash extensions
|
2019-11-15 14:46:07 +01:00
|
|
|
cd ~/.rbenv && src/configure && make -C src
|
2019-10-17 14:39:25 +02:00
|
|
|
# Add rbenv to the shell's $PATH.
|
2019-11-15 14:46:07 +01:00
|
|
|
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
|
2019-10-17 14:39:25 +02:00
|
|
|
|
|
|
|
|
# Run rbenv-init and follow the instructions to initialize rbenv on any shell
|
2019-11-15 14:46:07 +01:00
|
|
|
~/.rbenv/bin/rbenv init
|
2021-12-30 12:08:43 +01:00
|
|
|
# Issue the recommended command from the stdout of the last command
|
|
|
|
|
echo 'eval "$(rbenv init - bash)"' >> ~/.bashrc
|
2019-10-17 14:39:25 +02:00
|
|
|
# Source bashrc
|
2019-11-15 14:46:07 +01:00
|
|
|
source ~/.bashrc
|
2019-10-17 14:39:25 +02:00
|
|
|
```
|
|
|
|
|
|
2024-04-29 17:06:08 +02:00
|
|
|
#### Installing ruby-build
|
2019-10-17 14:39:25 +02:00
|
|
|
|
|
|
|
|
ruby-build is an addon to rbenv that installs ruby versions
|
|
|
|
|
|
2023-08-23 14:53:53 +02:00
|
|
|
```shell
|
2019-11-15 14:46:07 +01:00
|
|
|
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
|
2019-10-17 14:39:25 +02:00
|
|
|
```
|
|
|
|
|
|
2024-04-29 17:06:08 +02:00
|
|
|
#### Installing ruby
|
2019-10-17 14:39:25 +02:00
|
|
|
|
2025-02-10 11:33:48 +00:00
|
|
|
With both installed, we can now install ruby.
|
2024-08-26 11:18:21 +02:00
|
|
|
You can check available ruby versions with `rbenv install --list`.
|
2019-10-17 14:39:25 +02:00
|
|
|
|
2024-08-26 11:18:21 +02:00
|
|
|
We suggest you install the version we require in [.ruby-version](https://github.com/opf/openproject/blob/dev/.ruby-version).
|
2026-03-31 11:21:01 +02:00
|
|
|
Read the first line e.g. `4.0.2` and install that version.
|
2019-10-17 14:39:25 +02:00
|
|
|
|
2023-08-23 14:53:53 +02:00
|
|
|
```shell
|
2024-08-26 11:18:21 +02:00
|
|
|
# Install the required version as read from the .ruby-version file
|
2026-03-31 11:21:01 +02:00
|
|
|
rbenv install 4.0.2
|
2019-10-17 14:39:25 +02:00
|
|
|
```
|
|
|
|
|
|
2024-03-25 12:16:14 -05:00
|
|
|
This might take a while depending on whether ruby is built from source. After it is complete, you need to tell rbenv to
|
|
|
|
|
globally activate this version
|
2019-10-17 14:39:25 +02:00
|
|
|
|
2023-08-23 14:53:53 +02:00
|
|
|
```shell
|
2026-03-31 11:21:01 +02:00
|
|
|
rbenv global 4.0.2
|
2019-11-15 15:19:04 +01:00
|
|
|
rbenv rehash
|
2019-10-17 14:39:25 +02:00
|
|
|
```
|
|
|
|
|
|
2024-03-25 12:16:14 -05:00
|
|
|
You also need to install [bundler](https://github.com/bundler/bundler/), the ruby gem bundler (remark: if you run into
|
|
|
|
|
an error, first try with a fresh reboot).
|
2019-10-17 14:39:25 +02:00
|
|
|
|
2024-03-25 12:16:14 -05:00
|
|
|
If you get `Command 'gem' not found...` here, ensure you followed the instructions `rbenv init` command to ensure it is
|
|
|
|
|
loaded in your shell.
|
2019-11-15 15:19:04 +01:00
|
|
|
|
2024-04-29 17:06:08 +02:00
|
|
|
### Setup PostgreSQL database
|
2019-10-17 14:39:25 +02:00
|
|
|
|
|
|
|
|
Next, install a PostgreSQL database.
|
|
|
|
|
|
2023-08-23 14:53:53 +02:00
|
|
|
```shell
|
2019-11-15 14:46:07 +01:00
|
|
|
[dev@debian]# sudo apt-get install postgresql postgresql-client
|
2019-10-17 14:39:25 +02:00
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Create the OpenProject database user and accompanied database.
|
|
|
|
|
|
2023-08-23 14:53:53 +02:00
|
|
|
```shell
|
2023-09-06 15:03:22 +02:00
|
|
|
sudo su - postgres
|
2019-10-17 14:39:25 +02:00
|
|
|
[postgres@ubuntu]# createuser -d -P openproject
|
|
|
|
|
```
|
2024-03-25 12:16:14 -05:00
|
|
|
|
2019-10-17 14:39:25 +02:00
|
|
|
You will be prompted for a password, for the remainder of these instructions, we assume its `openproject-dev-password`.
|
|
|
|
|
|
|
|
|
|
Now, create the database `openproject_dev` and `openproject_test` owned by the previously created user.
|
|
|
|
|
|
2023-08-23 14:53:53 +02:00
|
|
|
```shell
|
2019-10-17 14:39:25 +02:00
|
|
|
[postgres@ubuntu]# createdb -O openproject openproject_dev
|
|
|
|
|
[postgres@ubuntu]# createdb -O openproject openproject_test
|
|
|
|
|
|
|
|
|
|
# Exit the shell as postgres
|
|
|
|
|
[postgres@ubuntu]# exit
|
|
|
|
|
```
|
|
|
|
|
|
2024-04-29 17:06:08 +02:00
|
|
|
### Install Node.js
|
2019-10-17 14:39:25 +02:00
|
|
|
|
2024-03-25 12:16:14 -05:00
|
|
|
We will install the latest LTS version of Node.js via [nodenv](https://github.com/nodenv/nodenv). This is basically the
|
|
|
|
|
same steps as for rbenv:
|
2019-10-17 14:39:25 +02:00
|
|
|
|
2024-04-29 17:06:08 +02:00
|
|
|
#### Install nodenv
|
2019-10-17 14:39:25 +02:00
|
|
|
|
2023-08-23 14:53:53 +02:00
|
|
|
```shell
|
2019-10-17 14:39:25 +02:00
|
|
|
# Install nodenv
|
2019-11-15 14:46:07 +01:00
|
|
|
git clone https://github.com/nodenv/nodenv.git ~/.nodenv
|
2019-10-17 14:39:25 +02:00
|
|
|
# Optional: Install bash extensions
|
2019-11-15 14:46:07 +01:00
|
|
|
cd ~/.nodenv && src/configure && make -C src
|
2019-10-17 14:39:25 +02:00
|
|
|
# Add nodenv to the shell's $PATH.
|
2019-11-15 14:46:07 +01:00
|
|
|
echo 'export PATH="$HOME/.nodenv/bin:$PATH"' >> ~/.bashrc
|
2019-10-17 14:39:25 +02:00
|
|
|
|
|
|
|
|
# Run nodenv init and follow the instructions to initialize nodenv on any shell
|
2019-11-15 14:46:07 +01:00
|
|
|
~/.nodenv/bin/nodenv init
|
2021-12-30 12:08:43 +01:00
|
|
|
# Issue the recommended command from the stdout of the last command
|
|
|
|
|
echo 'eval "$(nodenv init -)"' >> ~/.bashrc
|
2019-10-17 14:39:25 +02:00
|
|
|
# Source bashrc
|
2019-11-15 14:46:07 +01:00
|
|
|
source ~/.bashrc
|
2019-10-17 14:39:25 +02:00
|
|
|
```
|
|
|
|
|
|
2024-04-29 17:06:08 +02:00
|
|
|
#### Install node-build
|
2019-10-17 14:39:25 +02:00
|
|
|
|
2023-08-23 14:53:53 +02:00
|
|
|
```shell
|
2019-11-15 14:46:07 +01:00
|
|
|
git clone https://github.com/nodenv/node-build.git $(nodenv root)/plugins/node-build
|
2019-10-17 14:39:25 +02:00
|
|
|
```
|
|
|
|
|
|
2024-04-29 17:06:08 +02:00
|
|
|
#### Install latest LTS node version
|
2019-10-17 14:39:25 +02:00
|
|
|
|
2022-03-23 16:36:45 +01:00
|
|
|
You can find the latest LTS version here: [nodejs.org/en/download/](https://nodejs.org/en/download/)
|
2020-03-25 09:56:29 +00:00
|
|
|
|
2025-10-27 10:36:46 +01:00
|
|
|
At the time of writing this is v22.21.0 Install and activate it with:
|
2019-10-17 14:39:25 +02:00
|
|
|
|
2023-08-23 14:53:53 +02:00
|
|
|
```shell
|
2025-10-27 10:36:46 +01:00
|
|
|
nodenv install 22.21.0
|
|
|
|
|
nodenv global 22.21.0
|
2020-03-25 09:56:29 +00:00
|
|
|
nodenv rehash
|
2019-10-17 14:39:25 +02:00
|
|
|
```
|
|
|
|
|
|
2024-04-29 17:06:08 +02:00
|
|
|
#### Update NPM to the latest version
|
2021-06-02 19:41:36 +02:00
|
|
|
|
2023-08-23 14:53:53 +02:00
|
|
|
```shell
|
2021-06-02 19:41:36 +02:00
|
|
|
npm install npm@latest -g
|
|
|
|
|
```
|
|
|
|
|
|
2024-04-29 17:06:08 +02:00
|
|
|
### Verify your installation
|
2019-10-17 14:39:25 +02:00
|
|
|
|
|
|
|
|
You should now have an active ruby and node installation. Verify that it works with these commands.
|
|
|
|
|
|
2023-08-23 14:53:53 +02:00
|
|
|
```shell
|
2019-11-15 14:46:07 +01:00
|
|
|
ruby --version
|
2026-03-31 11:21:01 +02:00
|
|
|
ruby 4.0.2 (2026-03-17 revision d3da9fec82) +PRISM [arm64-darwin25]
|
2019-10-17 14:39:25 +02:00
|
|
|
|
2019-11-15 14:46:07 +01:00
|
|
|
bundler --version
|
2026-03-31 11:21:01 +02:00
|
|
|
4.0.9
|
2019-10-17 14:39:25 +02:00
|
|
|
|
2020-04-20 07:36:47 +02:00
|
|
|
node --version
|
2025-10-27 10:36:46 +01:00
|
|
|
v22.21.0
|
2020-04-20 07:36:47 +02:00
|
|
|
|
2019-11-15 14:46:07 +01:00
|
|
|
npm --version
|
2024-03-25 12:16:14 -05:00
|
|
|
10.5.0
|
2019-10-17 14:39:25 +02:00
|
|
|
```
|
|
|
|
|
|
2024-04-29 17:06:08 +02:00
|
|
|
## Install OpenProject Sources
|
2019-10-17 14:39:25 +02:00
|
|
|
|
2024-03-25 12:16:14 -05:00
|
|
|
In order to create a pull request to the core OpenProject repository, you will want to fork it to your own GitHub
|
|
|
|
|
account.
|
2020-08-24 09:22:08 +02:00
|
|
|
This allows you to create branches and push changes and finally opening a pull request for us to review.
|
|
|
|
|
|
2024-03-25 12:16:14 -05:00
|
|
|
To do that, go to [github.com/opf/openproject](https://github.com/opf/openproject) and press "Fork" on the upper right
|
|
|
|
|
corner.
|
2020-08-24 09:22:08 +02:00
|
|
|
|
2023-08-23 14:53:53 +02:00
|
|
|
```shell
|
2019-10-17 14:39:25 +02:00
|
|
|
# Download the repository
|
2020-08-24 09:22:08 +02:00
|
|
|
# If you want to create a pull request, replace the URL with your own fork as described above
|
2021-12-30 12:08:43 +01:00
|
|
|
mkdir ~/dev
|
|
|
|
|
cd ~/dev
|
2019-11-15 14:46:07 +01:00
|
|
|
git clone https://github.com/opf/openproject.git
|
|
|
|
|
cd openproject
|
2019-10-17 14:39:25 +02:00
|
|
|
```
|
|
|
|
|
|
2024-03-25 12:16:14 -05:00
|
|
|
Note that we have checked out the `dev` branch of the OpenProject repository. Development in OpenProject happens in
|
|
|
|
|
the `dev` branch (there is no `master` branch).
|
2019-10-17 14:39:25 +02:00
|
|
|
So, if you want to develop a feature, create a feature branch from a current `dev` branch.
|
|
|
|
|
|
2024-04-29 17:06:08 +02:00
|
|
|
### Configure OpenProject
|
2019-10-17 14:39:25 +02:00
|
|
|
|
|
|
|
|
Create and configure the database configuration file in `config/database.yml` (relative to the openproject-directory.
|
|
|
|
|
|
2023-08-23 14:53:53 +02:00
|
|
|
```shell
|
2019-10-17 14:39:25 +02:00
|
|
|
[dev@debian]# vim config/database.yml
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Now edit the `config/database.yml` file and insert your database credentials.
|
|
|
|
|
It should look like this (just with your database name, username, and password):
|
|
|
|
|
|
2023-08-23 14:53:53 +02:00
|
|
|
```yaml
|
2019-10-17 14:39:25 +02:00
|
|
|
default: &default
|
|
|
|
|
adapter: postgresql
|
|
|
|
|
encoding: unicode
|
|
|
|
|
host: localhost
|
|
|
|
|
username: openproject
|
|
|
|
|
password: openproject-dev-password
|
|
|
|
|
|
|
|
|
|
development:
|
|
|
|
|
<<: *default
|
|
|
|
|
database: openproject_dev
|
|
|
|
|
|
|
|
|
|
test:
|
|
|
|
|
<<: *default
|
|
|
|
|
database: openproject_test
|
|
|
|
|
```
|
|
|
|
|
|
2024-03-25 12:16:14 -05:00
|
|
|
To configure the environment variables such as the number of web server threads `OPENPROJECT_WEB_WORKERS`, copy
|
|
|
|
|
the `.env.example` to `.env` and add the environment variables you want to configure. The variables will be
|
|
|
|
|
automatically loaded to the application's environment.
|
2022-05-03 15:37:25 +02:00
|
|
|
|
2024-04-29 17:06:08 +02:00
|
|
|
### Finish the Installation of OpenProject
|
2019-10-17 14:39:25 +02:00
|
|
|
|
2021-06-02 19:41:36 +02:00
|
|
|
Install code dependencies, link plugin modules and export translation files.
|
2024-03-25 12:16:14 -05:00
|
|
|
|
2021-06-02 19:41:36 +02:00
|
|
|
- gem dependencies (If you get errors here, you're likely missing a development dependency for your distribution)
|
|
|
|
|
- node_modules
|
|
|
|
|
- link plugin frontend modules
|
|
|
|
|
- and export frontend localization files
|
2019-10-17 14:39:25 +02:00
|
|
|
|
2023-08-23 14:53:53 +02:00
|
|
|
```shell
|
2021-06-02 19:41:36 +02:00
|
|
|
bin/setup_dev
|
2019-10-17 14:39:25 +02:00
|
|
|
```
|
|
|
|
|
|
2021-06-02 19:41:36 +02:00
|
|
|
Now, run the following tasks to seed the dev database, and prepare the test setup for running tests locally.
|
|
|
|
|
|
2023-08-23 14:53:53 +02:00
|
|
|
```shell
|
2021-06-02 19:41:36 +02:00
|
|
|
RAILS_ENV=development bin/rails db:seed
|
|
|
|
|
```
|
2019-10-17 14:39:25 +02:00
|
|
|
|
2024-04-29 17:06:08 +02:00
|
|
|
### Run OpenProject through overmind
|
2019-10-17 14:39:25 +02:00
|
|
|
|
2024-03-25 12:16:14 -05:00
|
|
|
You can run all required workers of OpenProject through `overmind`, which combines them in a single tab. Optionally, you
|
|
|
|
|
may also
|
2023-05-24 17:03:51 -05:00
|
|
|
run `overmind` as a daemon and connect to services individually.
|
2024-06-24 15:54:37 +02:00
|
|
|
The `bin/dev` command will first check if `overmind` is available and run the application via `Procfile.dev`. Otherwise
|
|
|
|
|
it will use `foreman` if it is available.
|
2019-10-17 14:39:25 +02:00
|
|
|
|
2023-08-23 14:53:53 +02:00
|
|
|
```shell
|
2023-05-17 15:01:14 +02:00
|
|
|
bin/dev
|
2019-10-17 14:39:25 +02:00
|
|
|
```
|
2023-05-17 15:01:14 +02:00
|
|
|
|
2024-03-25 12:16:14 -05:00
|
|
|
The application will be available at `http://127.0.0.1:3000`. To customize bind address and port copy the `.env.example`
|
|
|
|
|
provided in the root of this
|
|
|
|
|
project as `.env` and [configure values](https://github.com/DarthSim/overmind/tree/v2.4.0#overmind-environment) as
|
|
|
|
|
required.
|
2019-10-17 14:39:25 +02:00
|
|
|
|
2024-03-25 12:16:14 -05:00
|
|
|
By default a worker process will also be started. In development asynchronous execution of long-running background
|
|
|
|
|
tasks (sending emails, copying projects,
|
|
|
|
|
etc.) may be of limited use and it has known issues with regards to memory (see background worker section below). To
|
|
|
|
|
disable the worker process:
|
2019-10-17 14:39:25 +02:00
|
|
|
|
2023-08-23 14:53:53 +02:00
|
|
|
```shell
|
2023-05-24 17:03:51 -05:00
|
|
|
echo "OVERMIND_IGNORED_PROCESSES=worker" >> .overmind.env
|
|
|
|
|
```
|
2019-10-17 14:39:25 +02:00
|
|
|
|
2024-03-25 12:16:14 -05:00
|
|
|
For more information refer to the great Overmind
|
|
|
|
|
documentation [usage section](https://github.com/DarthSim/overmind/tree/v2.4.0#usage).
|
2019-10-17 14:39:25 +02:00
|
|
|
|
|
|
|
|
You can access the application with the admin-account having the following credentials:
|
|
|
|
|
|
2024-04-29 13:52:04 +02:00
|
|
|
```text
|
|
|
|
|
Username: admin
|
|
|
|
|
Password: admin
|
|
|
|
|
```
|
2019-10-17 14:39:25 +02:00
|
|
|
|
2024-04-29 17:06:08 +02:00
|
|
|
### Run OpenProject manually
|
2019-10-17 14:39:25 +02:00
|
|
|
|
|
|
|
|
To run OpenProject manually, you need to run the rails server and the webpack frontend bundler to:
|
|
|
|
|
|
2024-04-29 17:06:08 +02:00
|
|
|
#### Rails web server
|
2019-10-17 14:39:25 +02:00
|
|
|
|
2023-08-23 14:53:53 +02:00
|
|
|
```shell
|
2022-01-19 16:43:11 +01:00
|
|
|
RAILS_ENV=development bin/rails server
|
2019-10-17 14:39:25 +02:00
|
|
|
```
|
|
|
|
|
|
|
|
|
|
This will start the development server on port `3000` by default.
|
|
|
|
|
|
2024-04-29 17:06:08 +02:00
|
|
|
#### Angular frontend
|
2019-10-17 14:39:25 +02:00
|
|
|
|
|
|
|
|
To run the frontend server, please run
|
|
|
|
|
|
2023-08-23 14:53:53 +02:00
|
|
|
```shell
|
2019-11-15 14:46:07 +01:00
|
|
|
RAILS_ENV=development npm run serve
|
2019-10-17 14:39:25 +02:00
|
|
|
```
|
|
|
|
|
|
2024-03-25 12:16:14 -05:00
|
|
|
This will watch for any changes within the `frontend/` and compile the application javascript bundle on demand. You will
|
|
|
|
|
need to watch this tab for the compilation output,
|
2019-10-17 14:39:25 +02:00
|
|
|
should you be working on the TypeScript / Angular frontend part.
|
|
|
|
|
|
2024-03-25 12:16:14 -05:00
|
|
|
You can then access the application either through `localhost:3000` (Rails server) or through the frontend
|
|
|
|
|
proxied `http://localhost:4200`, which will provide hot reloading for changed frontend code.
|
2019-10-17 14:39:25 +02:00
|
|
|
|
2024-04-29 17:06:08 +02:00
|
|
|
#### Background job worker
|
2022-01-19 16:43:11 +01:00
|
|
|
|
2023-08-23 14:53:53 +02:00
|
|
|
```shell
|
2024-03-07 13:59:24 +01:00
|
|
|
RAILS_ENV=development bundle exec good_job start
|
2022-01-19 16:43:11 +01:00
|
|
|
```
|
|
|
|
|
|
|
|
|
|
This will start a Delayed::Job worker to perform asynchronous jobs like sending emails.
|
|
|
|
|
|
2024-04-29 17:06:08 +02:00
|
|
|
### Known issues
|
2022-09-15 08:38:09 +02:00
|
|
|
|
2024-04-29 17:06:08 +02:00
|
|
|
#### Spawning a lot of browser tabs
|
2022-09-15 08:38:09 +02:00
|
|
|
|
2024-03-25 12:16:14 -05:00
|
|
|
If you haven't run this command for a while, chances are that a lot of background jobs have queued up and might cause a
|
|
|
|
|
significant amount of open tabs (due to the way we deliver mails with the letter_opener gem). To get rid of the jobs
|
|
|
|
|
before starting the worker, use the following command. **This will remove all currently scheduled jobs, never use this
|
|
|
|
|
in a production setting.**
|
2022-01-20 08:15:11 +01:00
|
|
|
|
2023-08-23 14:53:53 +02:00
|
|
|
```shell
|
2022-01-20 08:15:11 +01:00
|
|
|
RAILS_ENV=development bin/rails runner "Delayed::Job.delete_all"
|
|
|
|
|
```
|