aboutsummaryrefslogtreecommitdiffstats
path: root/rust/INSTALL.md
blob: 3f8b6b843235b4f5ba93c534d049e89ff0e9ad42 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35

Canonical IA production/QA ansible scripts are in the journal-infra repo. These
directions are likely to end up out-of-date.

## Simple Server Deployment

To install manually, on a bare server, as root:

    adduser fatcat
    apt install postgresql-13 postgresql-contrib postgresql-client-13 \
        nginx build-essential git pkg-config libssl-dev libpq-dev \
        htop screen
    mkdir -p /srv/fatcat
    chown fatcat:fatcat /srv/fatcat

    # setup new postgres user
    su - postgres
    createuser -P -s fatcat     # strong random password

    # as fatcat user
    su - fatcat
    ssh-keygen
    curl https://sh.rustup.rs -sSf | sh
    source $HOME/.cargo/env
    cargo install diesel_cli --no-default-features --features "postgres"
    cd /srv/fatcat
    git clone https://github.com/internetarchive/fatcat.git
    cd rust
    cargo build
    echo "DATABASE_URL=postgres://fatcat@localhost/fatcat" > .env
    diesel database reset

    # as fatcat, in a screen or something
    cd /srv/fatcat/fatcat/rust
    cargo run --bin fatcatd