Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@
- [Ubuntu](#ubuntu)
- [CentOS](#centosredhat)
- [OSX](#macosx)
- [Install BETY](#install-bety) THIS PAGE IS DEPRECATED
- [Install BETY](#install-bety)
- [Install Models](#install-models)
- [Install Data](#install-data)
Original file line number Diff line number Diff line change
@@ -1,126 +1,15 @@
### Installing BETY {#install-bety}

> ⚠️ **Deprecated BETY Installation Page**
>
> This page documents **legacy, non-Docker installation methods for BETYdb**.
> These instructions are **no longer recommended for new installations** and
> are kept **only for users who already depend on manual deployments**.
>
> **Recommended approach (for new users):**
> - Use the **Docker-based BETY installation** described in the PEcAn Docker section.
>
> **Authoritative BETY documentation:**
> - https://pecan.gitbook.io/betydb-documentation
>
> If you are installing BETY for the first time, **do not follow the instructions below**.
BETYdb is the PostgreSQL database used by PEcAn to store traits, inputs,
and other information required by PEcAn workflows.

## See Also
For new PEcAn installations, use the
[Docker installation guide](#install-docker). The Docker workflow installs
and initializes BETYdb as part of the PEcAn stack.

- PEcAn Docker-based BETY installation (recommended)
- Official BETYdb documentation: https://pecan.gitbook.io/betydb-documentation
For a standalone or bare-metal BETYdb installation, see the
[BETYdb Technical Guide](https://pecanproject.github.io/bety-documentation/technical/).

#### Install Database + Data

* _note_ To install BETYdb without PEcAn, first download the [`load.bety.sh` script](https://raw.githubusercontent.com/PecanProject/pecan/main/scripts/load.bety.sh)

```sh
# install database (code assumes password is bety)
sudo -u postgres createuser -d -l -P -R -S bety
sudo -u postgres createdb -O bety bety
sudo -u postgres ./scripts/load.bety.sh -c YES -u YES -r 0
sudo -u postgres ./scripts/load.bety.sh -r 1
sudo -u postgres ./scripts/load.bety.sh -r 2

# configure for PEcAn web app (change password if needed)
cp web/config.example.php web/config.php

# add models to database (VM only)
./scripts/add.models.sh

# add data to database
./scripts/add.data.sh

# create outputs folder
mkdir ~/output
chmod 777 ~/output
```


#### Installing BETYdb Web Application

> ⚠️ **Legacy (Deprecated)**
>
> This section documents **manual PHP and Ruby-based BETYdb web application installations**.
> These workflows are deprecated and are **not recommended for new installations**.
> New users should use the **Docker-based BETY deployment** described in the PEcAn Docker section
> or consult the official BETY documentation:
> https://pecan.gitbook.io/betydb-documentation


There are two flavors of BETY, PHP and RUBY. The PHP version allows for a minimal interaction with the database while the RUBY version allows for full interaction with the database.

##### PHP version

⚠️ This section describes a **deprecated manual installation path**.
>
> This PHP-based BETYdb web interface is part of a legacy workflow.
> New installations should use the Docker-based BETY deployment instead.

The php version comes with PEcAn and is already configured.

##### RUBY version

⚠️ This section describes a **deprecated manual installation path**.
>
> This Ruby-based BETYdb web application setup is a legacy, manual workflow.
> It is retained for existing deployments and is not recommended for new installations.

The RUBY version requires a few extra packages to be installed first.

Next we install the web app.

```bash
# install bety
cd
git clone https://github.com/PecanProject/bety.git

# install gems
cd bety
sudo gem2.0 install bundler
bundle install --without development:test:javascript_testing:debug
```

and configure BETY

```bash
# create folders for upload folders
mkdir paperclip/files paperclip/file_names
chmod 777 paperclip/files paperclip/file_names

# create folder for log files
mkdir log
touch log/production.log
chmod 0666 log/production.log

# fix configuration for vm
cp config/additional_environment_vm.rb config/additional_environment.rb
chmod go+w public/javascripts/cache/

# setup bety database configuration
cat > config/database.yml << EOF
production:
adapter: postgis
encoding: utf-8
reconnect: false
database: bety
pool: 5
username: bety
password: bety
EOF

# setup login tokens
cat > config/initializers/site_keys.rb << EOF
REST_AUTH_SITE_KEY = 'thisisnotasecret'
REST_AUTH_DIGEST_STRETCHES = 10
EOF
```
The legacy PHP and Ruby/Rails installation instructions previously included
on this page have been removed because they are outdated and are maintained
in the BETYdb documentation.
Loading