summaryrefslogtreecommitdiff
path: root/InstallationNotes.md
blob: d3138fd2613029ed6e1be90585ae79c28dabc54f (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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
% Installation Guide

## Installing Tiny Tiny RSS for the first time

As of 2020, the recommended way to deploy tt-rss is via Docker. Unless you have very specific needs which require direct installation on the host, consider using docker-compose setup described below:

### Installing in a Docker container

Official dockerized setup uses [docker-compose](https://docs.docker.com/compose/). There are two variants available:

#### 1. Dynamic: tt-rss is automatically updated on container (re)start

Use this if you want to always run latest tt-rss code.

→ [Installation guide (dynamic)](https://git.tt-rss.org/fox/ttrss-docker-compose/src/master/README.md)

#### 2. Static: uses pre-built images provided via Docker Hub

This seems to be a more commonly used pattern for Docker containers: images (including tt-rss source code) are built automatically and then pushed to [Docker Hub](https://hub.docker.com/u/cthulhoo). 

Use this if you want manual control over tt-rss updates or an ability to revert to an older prebuilt image.

→ [Installation guide (static)](https://git.tt-rss.org/fox/ttrss-docker-compose/src/static-dockerhub/README.md)

-----

### Installing on a host machine (not recommended)

Before you begin, you’ll need to verify the following:

 - You need access to a hosting/VDS running a http server and a database
(mysql or postgresql). Your database should properly support unicode.
 - You will need to acquire database credentials, i.e. login, password,
and a database name. If you don’t have a database already created, you
need to do so before installing. Tiny Tiny RSS can coexist with other
applications in a shared database, creating a dedicated one is not
necessary.
 - Your http server should be running PHP version 5.6 or newer. Enabling
PHP [opcode cache](https://www.google.com/search?q=php+enable+opcode+cache) is recommended.
See also: [PhpCompatibilityNotes](wiki/PhpCompatibilityNotes).
 - This manual assumes you have basic knowledge of [Git SCM](https://www.google.com/search?q=git+howto).

#### Host installation overview

 - Clone tt-rss repository using Git. Always use latest Git code from master branch.
 
```
git clone https://git.tt-rss.org/fox/tt-rss.git tt-rss
```

Alternatively, you can clone the repository on your local machine and
upload files to the server using FTP or any other means available to
you.

 - Verify that you can open <code>http://your.site/tt-rss/install/</code>

 - Proceed with the installation using the easy installer. It will ask
your database credentials and a full URL on which tt-rss will be
accessed, for example <code>http://your.site/tt-rss/install/</code>.
It is required that the URL is an externally accessible one (if any),
don’t use <code>localhost</code> there. If you are deploying tt-rss on LAN, 
you can disregard this requirement.

 - Easy installer will generate <code>config.php</code> for you,
after you have entered your database credentials and initialized tt-rss
database. You will need to either copy text from the installer and paste
it into <code>config.php</code> on the server, or, if possible, the
installer will be able to do it for you automatically.

 - It is suggested that you read through <code>config.php</code> to see
if you need to enable additional functionality or change default
configuration values.

 - After finishing with the installer, open your Tiny Tiny RSS
installation at <code>http://yoursite/tt-rss/</code> and login with
default credentials (username: <code>admin</code>, password:
<code>password</code>).

- **Open preferences and change your password!**

- You will also need to decide on the method tt-rss uses to update
feeds. This is a separate topic, outlined in [UpdatingFeeds](wiki/UpdatingFeeds).

- If all went well, you may proceed to use tt-rss normally. Create a
separate non-admin user, login under it, and start importing your feeds,
subscribing, and configure it to your taste.

Don’t forget to read [UpdatingFeeds](wiki/UpdatingFeeds) otherwise your feeds won’t update
automatically.

See also: [SecuringCacheDirectories](wiki/SecuringCacheDirectories)

#### Take a look at available plugins

There are many plugins written for tt-rss. You can see the list here: [Plugins](wiki/Plugins).

-----

## Upgrading Tiny Tiny RSS

It is highly recommended to temporarily disable any third party themes
and user CSS customizations before upgrading. Don’t forget to empty your
browser cache if you experience weird bugs right after upgrading.

Note that you should upgrade to the latest version available, installing
intermediate releases sequentially is not needed.

### Upgrading with Git

#### Update base tt-rss code

Change to tt-rss directory on your server and run ``git pull origin master``.

#### Merge new config.php directives and/or update the database

After the files have been upgraded to newer versions, open tt-rss. It
may complain about missing directives in <code>config.php</code>. If
that happens, you will need to either merge new stuff from
<code>config.php-dist</code> to your <code>config.php</code> or remove
<code>config.php</code> and rerun the installer.

**DO NOT INITIALIZE DATABASE when upgrading. This will remove all your
tt-rss data.**

Afterwards, you may be redirected to the database updater. Log in with
admin credentials and follow instructions.

Finishing that, you should be able to use tt-rss normally by logging in
with your normal account.

#### Post-upgrade tasks

1. You might need to clear your browser cache if you experience CSS or
script-related issues, older scripts might have stuck in it.
2. Do not copy cache directories from your old tt-rss version, it is
unnecessary and potentially creates problems if you don’t preserve file
modification times.
3. If you are using an accelerator like php-apc you might need to
restart apache if older cached versions of PHP files got stuck in cache
(this happens rarely, but is a possibility).