jiriks74
37c52c6887
Receive updates from apt so that there is no need to rebuild the image to receive security updates. Better safe than sorry.
120 lines
4.6 KiB
Markdown
120 lines
4.6 KiB
Markdown
# docker-nextcloud-extended
|
|
|
|
![Open issues](https://img.shields.io/gitea/issues/open-raw/jiriks74/docker-nextcloud-extended?gitea_url=https%3A%2F%2Fgitea.stefka.eu%2F&label=Open%20issues%3A)
|
|
![Closed issues](https://img.shields.io/gitea/issues/closed-raw/jiriks74/docker-nextcloud-extended?gitea_url=https%3A%2F%2Fgitea.stefka.eu%2F&label=Closed%20issues%3A)
|
|
![Last Commit](https://img.shields.io/gitea/last-commit/jiriks74/docker-nextcloud-extended?gitea_url=https%3A%2F%2Fgitea.stefka.eu%2F)
|
|
|
|
[![Docker Pulls](https://img.shields.io/docker/pulls/jiriks74/nextcloud-extended.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=pulls&logo=docker)](https://hub.docker.com/r/jiriks74/nextcloud-extended)
|
|
[![Docker Stars](https://img.shields.io/docker/stars/jiriks74/nextcloud-extended.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=stars&logo=docker)](https://hub.docker.com/r/jiriks74/nextcloud-extended)
|
|
[![Docker Size](https://img.shields.io/docker/image-size/jiriks74/nextcloud-extended/latest.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=Size&logo=docker)](https://hub.docker.com/r/jiriks74/nextcloud-extended)
|
|
|
|
Nextcloud's docker image with extra utilities
|
|
|
|
> [!Note]
|
|
> The images with tags `latest` and `stable` are being rebuilt every week even if
|
|
> there isn't a Nextcloud update to get security updates form `apt`.
|
|
|
|
> [!Important]
|
|
> I do not recommend automatically pulling the `latest` and `stable` tags as they track
|
|
> upstream image and they can update you to the next major version without you intending to do so.
|
|
>
|
|
> If you'd like to receive the weekly updates tag your images with the major version like
|
|
> `jiriks74/nextcloud-extended:28`. Keep in mind that these version tags are not automatically
|
|
> updated when new major version is out for the `stable` tag upstream.
|
|
|
|
## This image is availabe on [DockerHub](https://hub.docker.com/repository/docker/jiriks74/nextcloud-extended/general)
|
|
|
|
## Utilities added
|
|
|
|
- `gnupg2` - Used by [Snappymail](https://github.com/the-djmaze/snappymail) to encrypt and sign emails
|
|
- `ffmpeg` - Used by [Video converter](https://github.com/PaulLereverend/NextcloudVideo_Converter) app
|
|
- `aria2` and `youtube-dl` - Used by [NCDownloader](https://github.com/shiningw/ncdownloader) app
|
|
- `libmagickcore-dev` - To fix `Module php-imagick in this instance has no SVG support` error
|
|
|
|
## Setup
|
|
|
|
I recommend using `docker compose` to set up Nextcloud as it's easier to manage than palin Docker.
|
|
|
|
<details>
|
|
<summary>Basic <code>docker-compose.yml</code></summary>
|
|
|
|
> [!Important]
|
|
>
|
|
> Don't forget to change the passwords (similar to `<password>`) and if you'd like to change the database name and user too.
|
|
|
|
```yml
|
|
services:
|
|
db:
|
|
image: mariadb
|
|
restart: always
|
|
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
|
|
volumes:
|
|
- ./db:/var/lib/mysql
|
|
environment:
|
|
- MYSQL_ROOT_PASSWORD=<db_root_password>
|
|
- MYSQL_PASSWORD=<db_password>
|
|
- MYSQL_DATABASE=nextcloud
|
|
- MYSQL_USER=nextcloud
|
|
healthcheck:
|
|
test: mariadb-admin ping -h 127.0.0.1 -u $$MYSQL_USER --password=$$MYSQL_PASSWORD
|
|
start_period: 5s
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 55
|
|
|
|
app:
|
|
image: jiriks74/nextcloud-extended:stable
|
|
restart: always
|
|
ports:
|
|
- 80:80
|
|
links:
|
|
- db
|
|
- redis
|
|
depends_on:
|
|
redis:
|
|
condition: service_healthy
|
|
db:
|
|
condition: service_healthy
|
|
volumes:
|
|
- ./nextcloud:/var/www/html
|
|
- ./data:/var/www/html/data
|
|
environment:
|
|
- MYSQL_PASSWORD=<db_password>
|
|
- MYSQL_DATABASE=nextcloud
|
|
- MYSQL_USER=nextcloud
|
|
- MYSQL_HOST=db
|
|
- REDIS_HOST=redis
|
|
- REDIS_HOST_PASSWORD=<redis_password>
|
|
healthcheck:
|
|
test: curl -sSf 'http://localhost/status.php' | grep '"installed":true' | grep '"maintenance":false' | grep '"needsDbUpgrade":false' || exit 1
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 10
|
|
|
|
redis:
|
|
image: redis
|
|
restart: always
|
|
command: redis-server --requirepass <redis_password>
|
|
volumes:
|
|
- ./redis:/data
|
|
healthcheck:
|
|
test: [ "CMD", "redis-cli", "--raw", "incr", "ping" ]
|
|
```
|
|
|
|
</details>
|
|
|
|
## Tips
|
|
### Cron job
|
|
|
|
If you're getting error simmilar to `Last job execution ran a day ago. Something seems wrong.`
|
|
try to add this to your cron tab (`sudo crontab -e`):
|
|
|
|
```crontab
|
|
0,5,10,15,20,25,30,35,40,45,50,55 * * * * docker exec -u www-data <container_name> php -f /var/www/html/cron.php
|
|
```
|
|
|
|
> [!Important]
|
|
>
|
|
> *Don't forget to change the `<container_name>` to your Nextcloud's container name
|
|
> (eg. `docker-nextcloud_app`)*
|