mirror of
https://github.com/hoellen/dockerfiles.git
synced 2025-04-19 20:09:16 +00:00
owncloud: update README
This commit is contained in:
parent
5f27668594
commit
f9403ce559
@ -7,29 +7,29 @@
|
|||||||
- Based on `debian/jessie`.
|
- Based on `debian/jessie`.
|
||||||
- **Lightweight**, even though it's based on Debian, I did my best.
|
- **Lightweight**, even though it's based on Debian, I did my best.
|
||||||
- **Functional by design**, and even through updates.
|
- **Functional by design**, and even through updates.
|
||||||
- **nginx 1.9.10** (mainline) is the webserver.
|
- **nginx** (mainline) is the webserver.
|
||||||
- **PHP 7.0.3** (latest stable) is used.
|
- **PHP 7** (latest stable) is used.
|
||||||
- **supervisor** is running the services.
|
- **supervisor** is running the services.
|
||||||
- **OPCache** is configured to provide best performances.
|
- **OPCache** (opcode cache) is configured to provide best performances.
|
||||||
|
- **APCu** (data store) is installed, so you can benefit from memory caching.
|
||||||
- **system cron** is already configured (you can disable AJAX cron).
|
- **system cron** is already configured (you can disable AJAX cron).
|
||||||
- **MySQL/MariaDB** compatibility (server not built-in)
|
- **MySQL/MariaDB** compatibility (server not built-in).
|
||||||
- **Secure installation**, it verifies both integrity and authenticity (sha256sum && gpg).
|
- **Secure installation**, it verifies both integrity and authenticity (sha256sum && gpg).
|
||||||
- **UID/GID flexibility**, so you won't bother about permissions.
|
- **UID/GID flexibility**, you won't bother about permissions.
|
||||||
|
|
||||||
#### Tags
|
#### Tags
|
||||||
- `latest`, `8.2` : ownCloud 8.2.x (actual version : 8.2.2).
|
- `latest`, `9.0` : ownCloud 9.0.x (actual version : 9.0.1).
|
||||||
- `dev` *(if present)* : don't use it unless you have a reason.
|
|
||||||
|
|
||||||
If you want some security, versioning with tags should be available since 8.2 (e.g. the next tags will be 8.3, 8.4, etc. major updates as you can notice). I do not make tags for minor updates, like 8.2.1, 8.2.2, 8.2.x, since it's only bugfixes and security patches, which are strongly recommended.
|
If you want some security, versioning with tags should be available since 9.0 (e.g. the next tags will be 9.1, 9.2, etc. major updates as you can notice). I do not make tags for minor updates, like 8.2.1, 8.2.2, 8.2.x, since there are only bugfixes and security patches, which are strongly recommended.
|
||||||
|
|
||||||
#### Environment variables
|
#### Environment variables
|
||||||
- **USERID** : owncloud user id.
|
- **USERID** : owncloud user id.
|
||||||
- **GROUPID** : owncloud group id.
|
- **GROUPID** : owncloud group id.
|
||||||
|
|
||||||
#### Volumes
|
#### Volumes
|
||||||
- **/data** : owncloud data (e.g. your files)
|
- **/data** : owncloud data (your files!)
|
||||||
- **/config** : configuration files
|
- **/config** : configuration files (contains config.php)
|
||||||
- **/apps2** : owncloud downloaded apps
|
- **/apps2** : owncloud downloaded apps (like calendar, contacts, etc.)
|
||||||
|
|
||||||
#### About the database
|
#### About the database
|
||||||
You have to use an external database container, thus allowing better security and less complexity. I suggest you to use MySQL/MariaDB, a reliable database server. For instance, you can use the official `mariadb` build, which is very easy to run and of course available on Docker Hub. I decided not to use sqlite since it's not recommended by ownCloud (sqlite is supected to cause some troubles with sync clients).
|
You have to use an external database container, thus allowing better security and less complexity. I suggest you to use MySQL/MariaDB, a reliable database server. For instance, you can use the official `mariadb` build, which is very easy to run and of course available on Docker Hub. I decided not to use sqlite since it's not recommended by ownCloud (sqlite is supected to cause some troubles with sync clients).
|
||||||
@ -38,14 +38,14 @@ You have to use an external database container, thus allowing better security an
|
|||||||
Go to your ownCloud instance, change `/ocwww/data` to `/data` (recommended), and fill in all the fields to configure your database. **Note #1 :** when you mount `/config`, you don't really mount `/ocwww/owncloud/config`. `/config` should contain `config.php`, although this is not the one actually used by ownCloud. However, each time you restart the container, `/config/config.php` overwrites `/ocwww/config/config.php`. Before that, `/ocwww/config/config.php` is copied as `/config/config.php.bkp`, so you can easily revert changes you're not satisfied of. **Note #2 :** this build doesn't make use of https, because I use it behind a reverse proxy (nginx), which is using https. You can do the same, it's easy to setup : take a look at my build `wonderfall/reverse` if you're interested.
|
Go to your ownCloud instance, change `/ocwww/data` to `/data` (recommended), and fill in all the fields to configure your database. **Note #1 :** when you mount `/config`, you don't really mount `/ocwww/owncloud/config`. `/config` should contain `config.php`, although this is not the one actually used by ownCloud. However, each time you restart the container, `/config/config.php` overwrites `/ocwww/config/config.php`. Before that, `/ocwww/config/config.php` is copied as `/config/config.php.bkp`, so you can easily revert changes you're not satisfied of. **Note #2 :** this build doesn't make use of https, because I use it behind a reverse proxy (nginx), which is using https. You can do the same, it's easy to setup : take a look at my build `wonderfall/reverse` if you're interested.
|
||||||
|
|
||||||
#### Configure
|
#### Configure
|
||||||
Now, ownCloud should be 100% functionnal. APCu was installed and configured before, but I had too many problems using this... on top of that, I didn't notice any performance improvement over Opcache + PHP7. As ownCloud recommends, **system cron is already active**. You should switch from `AJAX cron` to `cron` (system cron) in the admin pannel. By the way, I highly recommend encryption! My buid is fully-compatible with the encryption module.
|
Now, ownCloud should be 100% functionnal. APCu can be enabled if you set it correctly in the config.php file (see further). **system cron is already active**. **You should switch** from `AJAX cron` to `cron` (system cron) in the admin pannel. By the way, **I highly recommend encryption**! My buid is fully-compatible with the encryption module.
|
||||||
|
|
||||||
*config.php parameters can be found [here](https://doc.owncloud.org/server/8.2/admin_manual/configuration_server/config_sample_php_parameters.html) and [there](https://doc.owncloud.org/server/8.2/admin_manual/installation/apps_management_installation.html)* This is espacially useful when you're using a reverse proxy, and/or if you'd like to keep your 3rd-party plugins across updates (you should use the /apps volume to do that). **READ THE DOCUMENTATION, I WON'T DO SOME MAGIC TRICKS FOR YOU.**
|
*config.php parameters can be found [here](https://doc.owncloud.org/server/9.0/admin_manual/configuration_server/config_sample_php_parameters.html) and [there](https://doc.owncloud.org/server/9.0/admin_manual/installation/apps_management_installation.html)* This is espacially useful when you're using a reverse proxy, and/or if you'd like to keep your 3rd-party plugins across updates (you should use the /apps volume to do that). **READ THE DOCUMENTATION, I WON'T DO SOME MAGIC TRICKS FOR YOU.**
|
||||||
|
|
||||||
#### How do I update?
|
#### How do I update?
|
||||||
Just pull the newer image, and recreate the container. As you may know, backups are highly recommended (don't fear that, Docker just makes things a lot easier!), and even if it's boring, do it, do it, do it! There should be no issue with config.php, but if you see the setup screen, don't panic (your volumes should be intact...) and just restart the container and check `/ocwww/config/config.php`.
|
Just pull the newer image, and recreate the container. As you may know, backups are highly recommended (don't fear that, Docker just makes things a lot easier!), and even if it's boring, do it, do it, do it! There should be no issue with config.php, but if you see the setup screen, don't panic (your volumes should be intact...) and just restart the container and check `/ocwww/config/config.php`.
|
||||||
|
|
||||||
#### config.php (example, behind reverse proxy + external apps path)
|
#### Recommended config.php (example, behind reverse proxy + external apps path)
|
||||||
```
|
```
|
||||||
<?php
|
<?php
|
||||||
$CONFIG = array (
|
$CONFIG = array (
|
||||||
@ -72,6 +72,7 @@ $CONFIG = array (
|
|||||||
'overwritehost' => 'your.domain.tld',
|
'overwritehost' => 'your.domain.tld',
|
||||||
'overwriteprotocol' => 'https',
|
'overwriteprotocol' => 'https',
|
||||||
'updatechecker' => false,
|
'updatechecker' => false,
|
||||||
|
'memcache.local' => '\OC\Memcache\APCu',
|
||||||
...
|
...
|
||||||
);
|
);
|
||||||
```
|
```
|
||||||
@ -109,3 +110,7 @@ db_owncloud:
|
|||||||
|
|
||||||
#### Reverse proxy
|
#### Reverse proxy
|
||||||
https://github.com/Wonderfall/dockerfiles/tree/master/reverse
|
https://github.com/Wonderfall/dockerfiles/tree/master/reverse
|
||||||
|
Notice that you don't have to add any headers since they're already included in the container (you avoid useless warnings from owncloud). It is strongly recommended to use ownCloud through encrypted connection (HTTPS).
|
||||||
|
|
||||||
|
#### Enjoy!
|
||||||
|
Go to your admin pannel, and check the **Security & setup warnings** section. If you see **"All checks passed"**, then you can congratulate yourself for installing correctly your ownCloud instance!
|
||||||
|
Loading…
x
Reference in New Issue
Block a user