Skip to content
Commits on Source (23)
...@@ -2,43 +2,11 @@ ...@@ -2,43 +2,11 @@
A safe home for all your data. Access & share your files, calendars, contacts, mail & more from any device, on your terms. A safe home for all your data. Access & share your files, calendars, contacts, mail & more from any device, on your terms.
# How to use this image
The easiest is to use our `docker-compose.yml`.
Make sure you have [docker-compose](http://docs.docker.com/compose/install/) installed. And then:
```bash
git clone https://github.com/indiehosters/nextcloud.git
cd nextcloud
MYSQL_ROOT_PASSWORD=mystrongpassword docker-compose up
```
You can now access your instance on the port 80 of the IP of your machine (not recommended for production).
## Access it from Internet
We recommend the usage of TLS, so the easiest is to use a TLS capable reverse proxy.
Here are 2 examples:
- [haproxy](https://github.com/indiehosters/haproxy)
- [nginx](https://github.com/indiehosters/nginx)
You can also modify manually the nginx configuration file and map the TLS port of the host to the container.
## Installation ## Installation
Once started, you'll arrive at the configuration wizard. Once started with libre.sh , You get to the login screen , the password is generated in your env file
At the `Database Setup` step, please enter the following:
- Database Server: `db`
- Login: `root`
- Password: MYSQL_ROOT_PASSWORD
- Database Name: nextcloud (or you can choose)
And leave the rest as default.
Then you can continue the installation with the super user.
## Backup ## Backup
...@@ -48,4 +16,4 @@ In order to backup, just run the `./pre-backup` script. And copy all the data to ...@@ -48,4 +16,4 @@ In order to backup, just run the `./pre-backup` script. And copy all the data to
Pull requests are very welcome! Pull requests are very welcome!
We'd love to hear your feedback and suggestions in the issue tracker: [github.com/indiehosters/nextcloud/issues](https://github.com/indiehosters/nextcloud/issues). We'd love to hear your feedback and suggestions in the issue tracker: [https://lab.libreho.st/libre.sh/compose/nextcloud/issues](https://lab.libreho.st/libre.sh/compose/nextcloud/issues).
...@@ -23,7 +23,7 @@ services: ...@@ -23,7 +23,7 @@ services:
- back - back
- lb_web - lb_web
app: app:
image: indiehosters/nextcloud:${NEXTCLOUD_VERSION:-latest} image: libresh/nextcloud:${NEXTCLOUD_VERSION:-latest}
links: links:
- db - db
volumes: volumes:
...@@ -32,24 +32,25 @@ services: ...@@ -32,24 +32,25 @@ services:
- ./data/config:/var/www/html/config - ./data/config:/var/www/html/config
- ./data/data:/var/www/html/data - ./data/data:/var/www/html/data
environment: environment:
- MAIL_HOST - SMTP_HOST
- MAIL_FROM - SMTP_SECURE
- MAIL_PASS - SMTP_AUTHTYPE
- MAIL_PORT - SMTP_PASSWORD
- SMTP_PORT
- SMTP_NAME
- URL - URL
- MAIL_DOMAIN - MAIL_DOMAIN
- SMTP_NAME - MYSQL_DATABASE
- MYSQL_DATABASE=nextcloud - MYSQL_HOST
- MYSQL_HOST=db - MYSQL_USER
- MYSQL_USER=root
- MYSQL_PASSWORD - MYSQL_PASSWORD
- NEXTCLOUD_ADMIN_USER=admin - NEXTCLOUD_ADMIN_USER
- NEXTCLOUD_ADMIN_PASSWORD - NEXTCLOUD_ADMIN_PASSWORD
- NEXTCLOUD_TRUSTED_DOMAINS - NEXTCLOUD_TRUSTED_DOMAINS
networks: networks:
- back - back
db: db:
image: mysql:${MYSQL_VERSION:-5.7} image: mariadb:${MYSQL_VERSION:-5.7}
volumes: volumes:
- ./mysql/runtime:/var/lib/mysql - ./mysql/runtime:/var/lib/mysql
environment: environment:
...@@ -57,7 +58,7 @@ services: ...@@ -57,7 +58,7 @@ services:
networks: networks:
- back - back
cron: cron:
image: indiehosters/nextcloud:${NEXTCLOUD_VERSION:-latest} image: libresh/nextcloud:${NEXTCLOUD_VERSION:-latest}
links: links:
- db - db
volumes_from: volumes_from:
......
#!/bin/bash -eux #!/bin/bash -eux
NEXTCLOUD_VERSION=15.0.4-fpm source /etc/environment
NEXTCLOUD_VERSION=24-fpm-eki
MYSQL_ROOT_PASSWORD=`tr -dc A-Za-z0-9_ < /dev/urandom | head -c 20 | xargs` MYSQL_ROOT_PASSWORD=`tr -dc A-Za-z0-9_ < /dev/urandom | head -c 20 | xargs`
NEXTCLOUD_ADMIN_PASSWORD=`tr -dc A-Za-z0-9_ < /dev/urandom | head -c 20 | xargs` NEXTCLOUD_ADMIN_PASSWORD=`tr -dc A-Za-z0-9_ < /dev/urandom | head -c 20 | xargs`
var=$(for folder in `ls /data/domains`; do cat /data/domains/$folder/.env | grep SUBNET | cut -d"=" -f2; done | sort -n | tail -n1)
SUBNET=$(($var +1))
echo "SUBNET=${SUBNET}" >> .env echo "SUBNET=${SUBNET}" >> .env
echo "MAIL_DOMAIN=${MAIL_DOMAIN}" >> .env
echo "URL=${URL}" >> .env echo "URL=${URL}" >> .env
#echo "VIRTUAL_HOST=${URL}" >> .env
echo "MAIL_DOMAIN=${MAIL_DOMAIN}" >> .env
echo "SMTP_HOST=${MAIL_HOST}" >> .env echo "SMTP_HOST=${MAIL_HOST}" >> .env
echo "SMTP_PORT=${MAIL_PORT}" >> .env echo "SMTP_PORT=${MAIL_PORT}" >> .env
echo "SMTP_PASSWORD=${MAIL_PASS}" >> .env echo "SMTP_PASSWORD=${MAIL_PASS}" >> .env
echo "MAIL_FROM_ADDRESS=${MAIL_USER}" >> .env echo "MAIL_FROM_ADDRESS=${MAIL_USER}" >> .env
echo "SMTP_NAME=${MAIL_USER}" >> .env echo "SMTP_NAME=${MAIL_USER}" >> .env
echo "SMTP_SECURE=ssl" >> .env
echo "NEXTCLOUD_ADMIN_USER=admin" >> .env
echo "NEXTCLOUD_ADMIN_PASSWORD=${NEXTCLOUD_ADMIN_PASSWORD}" >> .env echo "NEXTCLOUD_ADMIN_PASSWORD=${NEXTCLOUD_ADMIN_PASSWORD}" >> .env
echo "NEXTCLOUD_TRUSTED_DOMAINS=${URL}" >> .env echo "NEXTCLOUD_TRUSTED_DOMAINS=${URL}" >> .env
echo "NEXTCLOUD_VERSION=${NEXTCLOUD_VERSION}" >> .env echo "NEXTCLOUD_VERSION=${NEXTCLOUD_VERSION}" >> .env
echo "MYSQL_VERSION=5.7" >> .env
echo "MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}" >> .env
echo "MYSQL_PASSWORD=${MYSQL_ROOT_PASSWORD}" >> .env
echo "MYSQL_USER=root" >> .env
echo "MYSQL_DATABASE=nextcloud" >> .env
echo "MYSQL_HOST=db" >> .env
echo "MYSQL_VERSION=10.5" >> .env