Commit Graph

91 Commits

Author SHA1 Message Date
Javi Martín
cf6d9ce753 Add Ruby version to Gemfile
Since Bundler 2.4.19, including in Ruby 3.2.3, it's possible to define
the Ruby version in the Gemfile by indicating which file contains the
version [1].

There are at least two practical cases where this is an advantage.

First, people using RVM in development will no longer accidentally run
the application using the wrong Ruby version (which, before these
changes, might happen if they switch to a branch using a different Ruby
version and forget to run `rvm use` or exit the current folder and enter
it again) because they will get an error when trying to do so.

Second, people using services like Heroku no longer need to modify the
Gemfile.

The disadvantage is that, now, every time we update the Ruby version, we
have to remember to run `bundle` so our `Gemfile.lock` gets the new
version.

[1] https://github.com/rubygems/rubygems/releases/tag/bundler-v2.4.19
2025-01-09 17:14:42 +01:00
Emmanuel Ferdman
e844204cf4 Update OS guides references
Signed-off-by: Emmanuel Ferdman <emmanuelferdman@gmail.com>
2024-11-14 07:24:18 -08:00
Javi Martín
170530e52e Unify database configuration files
We had three files that were almost identical, and we can use
environment variables to specify the differences.

Note we're using the `PGUSER` and `PGPASSWORD` variables, since these
variables will automatically be used by the PostgreSQL client when we
have a blank `username` and `password` keys in the `database.yml` file
(which we did until now). The difference between these variables and the
`POSTGRES_USER` and `POSTGRES_PASSWORD` variables is that the `PG`
variables are used by the client connecting to the database, while the
`POSTGRES_` variables are used by the Docker postgresql image when
creating the database superuser.

For consistency with the code in our github workflows (and everywhere
else in the postgres world), we're respecting this double standard. The
fact that there are two different names for what's basically the same
thing makes the code confusing, though, particularly when running the
docker-compose commands, since we get the password from an environment
variable but we have to assign two different environment variables with
it.

So we're accepting both `PGPASSWORD` and `POSTGRES_PASSWORD` variables
in the database configuration file. This way, developers using
docker-compose can use `POSTGRES_PASSWORD` for everything and it'll work
fine. We're also making `PGPASSWORD` default to `POSTGRES_PASSWORD` so
we don't get a warning if we only set `POSTGRES_PASSWORD`:

```
WARN[0000] The "PGPASSWORD" variable is not set. Defaulting to a blank
string.
```

Also note we're using `DB_HOST` instead of `PGHOST` because that's the
variable Rails currently uses by default for new applications [1].

Finally, note we're using `.presence` in the `ENV` calls in the
database.yml file. The `PGPASSWORD` variable was set to an empty string
when running docker-compose, so using `ENV["PGPASSWORD"] ||` wouldn't
work.

[1] https://github.com/rails/rails/blob/c90a8701e5/railties/lib/rails/generators/rails/app/templates/config/databases/postgresql.yml.tt#L22
2024-10-07 15:23:40 +02:00
taitus
ff74960ba3 Update mail server configuration instructions 2024-09-30 18:25:07 +02:00
taitus
c267679aeb Update Heroku instructions
Note that the variable related with the "hostname" is removed
from the Heroku instructions as it is not necessary to configure
the Bucket.
2024-09-30 18:25:07 +02:00
taitus
c27a32a5f3 Update digital ocean instructions 2024-09-30 18:25:07 +02:00
taitus
6316938e3b Update manual installation instructions 2024-09-30 18:25:07 +02:00
taitus
cee4f3f027 Update ssh key instructions 2024-09-30 18:25:07 +02:00
taitus
d425b88f26 Update create deploy user instructions 2024-09-30 18:25:07 +02:00
taitus
81ab194831 Update installer installation instructions 2024-09-30 18:25:07 +02:00
taitus
ac23dc162f Update servers installation instructions 2024-09-30 18:25:07 +02:00
Javi Martín
d86299f44d Add documentation to run tests with Docker 2024-09-19 15:41:32 +02:00
Javi Martín
b3facb39bf Don't use an image to show the results of docker ps
The alternative text of the image was useless, and we were depending on
an external server in order to display it. Furthermore, the text inside
the image was pretty small.

So we're displaying the output of the command as plain text.
2024-09-19 15:20:38 +02:00
Javi Martín
d88ea7f26d Use build+create in Docker installation instructions
There was a typo where we said we were creating the containers but we
were building the image.

While none of these commands are necessary because they're run
automatically when first running the `db:create` rake task, I think it's
better to show them separately, since the `build` command might be used
to rebuild the image, and running the `create` command separately makes
it easier to know what's going on.

We're also removing the "start database service" step, since it's
automatically started because the app service depends on it.

Finally, we're updating one command for macOS.
2024-09-19 15:20:38 +02:00
Javi Martín
2f5ddfd77e Simplify documentation to install Docker
Docker and Docker Compose are included in most Linux distributions, and
we don't know whether the windows error we talked about is still
relevant in 2024. In any case, the Docker documentation to install
windows is a better resource for that than our documentation.

We're also using the same Docker commands for every operating system.
2024-09-19 15:20:14 +02:00
Javi Martín
9342ad757b Update links to user documentation and guides 2024-09-19 14:33:41 +02:00
Javi Martín
f133bc14a8 Add documentation to change the admin credentials
This is something really important, and we weren't mentioning it.
2024-09-19 14:33:41 +02:00
Javi Martín
71da9f4cda Update basic configuration guide
Other than checking typos and styling, we're removing references to
"Main URL" (which isn't used since commit f87165851), and updating the
process to configure the map.
2024-09-19 14:33:38 +02:00
taitus
e46fc35d31 Update macOS local installation instructions 2024-08-07 16:46:07 +02:00
Javi Martín
996885b8c8 Fix typos in local installation instructions 2024-08-07 16:34:41 +02:00
Javi Martín
37f737192e Add Docker as an option to develop using windows
For some people, this is easier than installing a virtual machine.
2024-08-07 15:48:50 +02:00
Javi Martín
b686489652 Update Debian local installation instructions
So now we install a specific version of Node.js and use the packages
required for Debian Bookworm.

For consistency, we're also making them similar to the Ubuntu
instructions and installing rbenv instead of RVM. Since we now suggest
rbenv in both cases as well as in the macOS instructions, we're also
listing rbenv as the first option in the generic local installation
instructions.
2024-08-07 15:48:50 +02:00
taitus
7845c7f78d Update ubuntu local installation instructions
So now we install a specific version of Node.js and use the packages
required for Ubuntu 24.04.
2024-08-07 15:48:50 +02:00
Javi Martín
0a3cabd8c8 Add rspec note to local installation instructions
This note was already present in the README, and it makes sense that we
mention it again in the other place where we recommend running the test
suite.
2024-08-07 15:48:50 +02:00
Javi Martín
9f5f0b3cf4 Remove UTF-8 PostgreSQL configuration instructions
Modern systems already use UTF-8 and so these instructions aren't
necessary.
2024-08-07 15:48:50 +02:00
Javi Martín
5b50040995 Simplify instructions to install rbenv
Some of these steps are no longer necessary since the rbenv installer
automatically configures the `~/.bashrc` file.
2024-08-07 15:48:50 +02:00
Javi Martín
9e3bbfd3aa Simplify wget command in Ubuntu instructions 2024-08-07 15:48:50 +02:00
Javi Martín
97c59afb0e Update instructions to install Node.js
We're using a specific version of Node.js since commit 55ed40e18.
2024-08-07 15:48:47 +02:00
Javi Martín
e666c28c5c Update instructions for the bin/setup command
This command simplifies some of the steps. However, there's a gotcha: it
might fail if the database requires username and password and they
haven't been configured before executing it.
2024-08-07 15:48:21 +02:00
Javi Martín
4c5e446d02 Remove step to install the bundler gem
Bundler is included in Ruby since Ruby 2.6, so we don't have to
manually install the gem since commit 8e64d6c1a.
2024-08-06 15:48:14 +02:00
Javi Martín
819485eb80 Re-add and apply MDL rule MD040
We were following it about half of the time and we even added it to our
former `.mdlrc` file. However, for some reason, MDL doesn't detect this
rule when specified in the `.mdlrc` file, so we didn't notice we weren't
following it in many cases.

Now that we're using a style file to configure MDL, we can enable this
rule again and apply it, since now MDL correctly includes it in its
report.
2024-06-21 15:57:52 +02:00
Javi Martín
3875503ea5 Update rbenv installation script URL
Their master branch was renamed to main.
2024-06-18 20:33:01 +02:00
Javi Martín
b4af3392cd Update URLs for other Consul Democracy projects 2023-07-12 16:03:17 +02:00
Javi Martín
10e2a9713f Update references to GitHub repositories 2023-07-12 16:03:17 +02:00
Javi Martín
13c641eedc Update application name
Note that, in order to have some consistency, we're always writing
"Consul Democracy", instead of using capital letters sometimes (but not
always), like we did until now.
2023-07-12 15:36:49 +02:00
taitus
08c78688db MD038 Spaces inside code span elements 2023-04-21 11:00:02 +02:00
taitus
32f825b6a6 MD034 Bare URL used 2023-04-21 11:00:02 +02:00
taitus
31efa97076 MD031 Fenced code blocks should be surrounded by blank lines 2023-04-21 11:00:02 +02:00
taitus
e5a8f06049 MD026 Trailing punctuation in header
This rule is broken when we have ".,;::!?" in the headers.
We have removed the ones with ":" but kept the ones
with "?", so this rule will always warn in these cases.
2023-04-21 11:00:02 +02:00
taitus
d8786fd66a MD025 Multiple top level headers in the same document 2023-04-21 11:00:02 +02:00
taitus
1b0246e505 MD022 Headers should be surrounded by blank lines 2023-04-21 11:00:02 +02:00
taitus
3ed836f6af MD019 Multiple spaces after hash on atx style header 2023-04-21 11:00:02 +02:00
taitus
1006940de5 MD006 Consider starting bulleted lists at the beginning of the line 2023-04-21 11:00:02 +02:00
taitus
65837049a2 MD002 First header should be a top level header
Adapt the rest of the headers.
2023-04-21 10:40:21 +02:00
Javi Martín
b2cb72ae81 Merge pull request #82 from LucasCioffi/patch-2
Add instructions for SendGrid + Heroku
2021-12-13 16:06:14 +01:00
Javi Martín
e2ec47ae4d Use the same URL to clone the repo everywhere
We were using the SSH URL in the Docker documentation, while using the
HTTPS URL everywhere else. The HTTPS URL is the right one in this case
because it's meant for people who won't have write access to the
repository.
2021-12-13 14:35:49 +01:00
taitus
2830045653 Add Deploying on Heroku section in Spanish 2021-12-13 13:22:18 +01:00
Javi Martín
7ac5443006 Recommend building the image with docker-compose
If we used the `docker build` to build the image and then
`docker-compose`, we'd build two images.
2021-12-10 20:04:37 +01:00
LucasCioffi
92446306ab Add instructions for how to turn on SendGrid
Instructions like these are necessary to prevent developers from
wondering why their emails aren't getting sent.
2021-12-10 18:21:10 +01:00
Javi Martín
350e4ff715 Add manual installation instructions in Spanish 2021-12-10 13:27:56 +01:00