These instructions are designed for setting up The Rails Port for development and testing.
If you want to deploy the software for your own project, then see the notes at the end.
-You can install the software directly on your machine, which is the traditional and probably best-supported approach. However, there is an alternative which may be easier: Vagrant. This installs the software into a virtual machine, which makes it easier to get a consistent development environment and may avoid installation difficulties. For Vagrant instructions, see [VAGRANT.md](VAGRANT.md).
+You can install the software directly on your machine, which is the traditional and probably best-supported approach. However, there
+are two alternatives which make it easier to get a consistent development environment and may avoid installation difficulties:
+
+* **Vagrant** This installs the software into a virtual machine. For Vagrant instructions see [VAGRANT.md](VAGRANT.md).
+* **Docker** This installs the software using containerization. For Docker instructions see [DOCKER.md](DOCKER.md).
These instructions are based on Ubuntu 20.04 LTS, which is the platform used by the OSMF servers.
The instructions also work, with only minor amendments, for all other current Ubuntu releases, Fedora and MacOSX
```
sudo dnf install ruby ruby-devel rubygem-rdoc rubygem-bundler rubygems \
- libxml2-devel js \
+ libxml2-devel nodejs \
gcc gcc-c++ git \
- postgresql postgresql-server postgresql-contrib \
+ postgresql postgresql-server postgresql-contrib libpq-devel \
perl-podlators ImageMagick libffi-devel gd-devel libarchive-devel \
bzip2-devel nodejs-yarn
```
To ensure that everything is set up properly, you should now run:
```
-bundle exec rake test:db
+bundle exec rails test:all
```
This test will take a few minutes, reporting tests run, assertions, and any errors. If you receive no errors, then your installation is successful.
```
psql -d openstreetmap -c "CREATE FUNCTION tile_for_point(int4, int4) RETURNS int8 AS '`pwd`/db/functions/libpgosm', 'tile_for_point' LANGUAGE C STRICT"
-psql -d openstreetmap -c "CREATE FUNCTION xid_to_int4(xid) RETURNS int4 AS '`pwd`/db/functions/libpgosm', 'xid_to_int4' LANGUAGE C STRICT"
```
# Ruby development install and versions<a name="rbenv"></a> (optional)