From 8c69528dd8a08e02d436747bfa99199122b63be6 Mon Sep 17 00:00:00 2001 From: nurse-curtis Date: Tue, 16 May 2017 10:37:13 -0600 Subject: [PATCH 1/2] Update Dockerfile Shortened descriptions to fit better --- wallabag/Dockerfile | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/wallabag/Dockerfile b/wallabag/Dockerfile index a95ff5a..f8f769a 100644 --- a/wallabag/Dockerfile +++ b/wallabag/Dockerfile @@ -32,12 +32,12 @@ LABEL org.freenas.interactive="false" \ }, \ { \ \"env\": \"SYMFONY__ENV__DATABASE_DRIVER\", \ - \"descr\": \"defaults to "pdo_sqlite", this sets the database driver to use\", \ + \"descr\": \"defaults to "pdo_sqlite"\", \ \"optional\": true \ }, \ { \ \"env\": \"SYMFONY__ENV__DATABASE_HOST\", \ - \"descr\": \"defaults to "127.0.0.1", if use mysql this should be the name of the mariadb container\", \ + \"descr\": \"defaults to 127.0.0.1\", \ \"optional\": true \ }, \ { \ @@ -47,32 +47,32 @@ LABEL org.freenas.interactive="false" \ }, \ { \ \"env\": \"SYMFONY__ENV__DATABASE_NAME\", \ - \"descr\": \"defaults to "symfony", this is the name of the database to use\", \ + \"descr\": \"default "symfony", name of DB\", \ \"optional\": true \ }, \ { \ \"env\": \"SYMFONY__ENV__DATABASE_USER\", \ - \"descr\": \"defaults to "root", this is the name of the database user to use\", \ + \"descr\": \"default "root", name of DB user\", \ \"optional\": true \ }, \ { \ \"env\": \"SYMFONY__ENV__DATABASE_PASSWORD\", \ - \"descr\": \"defaults to "~", this is the password of the database user to use\", \ + \"descr\": \"default "~", password of DB user\", \ \"optional\": true \ }, \ { \ \"env\": \"SYMFONY__ENV__FOSUSER_REGISTRATION\", \ - \"descr\": \"Default 'true', enable public registration\", \ + \"descr\": \"Default 'true' public registration\", \ \"optional\": true \ }, \ { \ \"env\": \"MYSQL_ROOT_PASSWORD\", \ - \"descr\": \"needed for the mariadb container to initialise\", \ + \"descr\": \"Needed for mariadb to initialise\", \ \"optional\": true \ }, \ { \ \"env\": \"POPULATE_DATABASE\", \ - \"descr\": \"defaults to "True". Does the DB has to be populated or is it an existing on\", \ + \"descr\": \"default "True" for new DB\", \ \"optional\": true \ } \ ]" From f5d2c9aae0971ae3ac405c61e493e1b76ded8abb Mon Sep 17 00:00:00 2001 From: nurse-curtis Date: Tue, 16 May 2017 11:02:57 -0600 Subject: [PATCH 2/2] Removed Nextcloud-Wonderfall --- nextcloud-wonderfall/Dockerfile | 115 -------------------------------- nextcloud-wonderfall/README.md | 111 ------------------------------ 2 files changed, 226 deletions(-) delete mode 100644 nextcloud-wonderfall/Dockerfile delete mode 100644 nextcloud-wonderfall/README.md diff --git a/nextcloud-wonderfall/Dockerfile b/nextcloud-wonderfall/Dockerfile deleted file mode 100644 index fa7d055..0000000 --- a/nextcloud-wonderfall/Dockerfile +++ /dev/null @@ -1,115 +0,0 @@ -FROM wonderfall/nextcloud:latest -LABEL org.freenas.interactive="false" \ - org.freenas.version="11.0-Stable-FNv1" \ - org.freenas.upgradeable="false" \ - org.freenas.expose-ports-at-host="true" \ - org.freenas.port-mappings="8888:8888/tcp" \ - org.freenas.autostart="true" \ - org.freenas.web-ui-protocol="http" \ - org.freenas.web-ui-port="8888" \ - org.freenas.web-ui-path="" \ - org.freenas.volumes="[ \ - { \ - \"name\": \"/data\", \ - \"descr\": \"Nextcloud Data\" \ - }, \ - { \ - \"name\": \"/config\", \ - \"descr\": \"Nextcloud config.php location\" \ - }, \ - { \ - \"name\": \"/apps2\", \ - \"descr\": \"Nextcloud Downloaded Apps\" \ - }, \ - { \ - \"name\": \"/nextcloud/themes\", \ - \"descr\": \"Nextcloud Themes Location\" \ - } \ - ]" \ - org.freenas.settings="[ \ - { \ - \"env\": \"UID\", \ - \"descr\": \"User ID\", \ - \"optional\": true \ - }, \ - { \ - \"env\": \"GID\", \ - \"descr\": \"Group ID\", \ - \"optional\": true \ - }, \ - { \ - \"env\": \"UPLOAD_MAX_SIZE\", \ - \"descr\": \"maximum upload size (default : 10G)\", \ - \"optional\": true \ - }, \ - { \ - \"env\": \"APC_SHM_SIZE\", \ - \"descr\": \"apc memory size (default : 128M)\", \ - \"optional\": true \ - }, \ - { \ - \"env\": \"OPCACHE_MEM_SIZE\", \ - \"descr\": \"opcache memory size in megabytes (default : 128)\", \ - \"optional\": true \ - }, \ - { \ - \"env\": \"MEMORY_LIMIT\", \ - \"descr\": \"php memory limit (default : 512M)\", \ - \"optional\": true \ - }, \ - { \ - \"env\": \"CRON_PERIOD\", \ - \"descr\": \"time interval between two cron tasks (default : 15m)\", \ - \"optional\": true \ - }, \ - { \ - \"env\": \"CRON_MEMORY_LIMIT\", \ - \"descr\": \"memory limit for PHP when executing cronjobs (default : 1024m)\", \ - \"optional\": true \ - }, \ - { \ - \"env\": \"TZ\", \ - \"descr\": \"the system/log timezone (default : Etc/UTC)\", \ - \"optional\": true \ - }, \ - { \ - \"env\": \"ADMIN_USER\", \ - \"descr\": \"username of the admin account (default : none, web configuration)\", \ - \"optional\": true \ - }, \ - { \ - \"env\": \"ADMIN_PASSWORD\", \ - \"descr\": \"password of the admin account (default : none, web configuration)\", \ - \"optional\": true \ - }, \ - { \ - \"env\": \"DOMAIN\", \ - \"descr\": \"domain to use during the setup (default : localhost)\", \ - \"optional\": true \ - }, \ - { \ - \"env\": \"DB_TYPE\", \ - \"descr\": \"database type (sqlite3, mysql or pgsql) (default : sqlite3)\", \ - \"optional\": true \ - }, \ - { \ - \"env\": \"DB_NAME\", \ - \"descr\": \"name of database (default : none)\", \ - \"optional\": true \ - }, \ - { \ - \"env\": \"DB_USER\", \ - \"descr\": \"username for database (default : none)\", \ - \"optional\": true \ - }, \ - { \ - \"env\": \"DB_PASSWORD\", \ - \"descr\": \"password for database user (default : none)\", \ - \"optional\": true \ - }, \ - { \ - \"env\": \"DB_HOST\", \ - \"descr\": \"database host (default : none)\", \ - \"optional\": true \ - } \ - ]" diff --git a/nextcloud-wonderfall/README.md b/nextcloud-wonderfall/README.md deleted file mode 100644 index 602258b..0000000 --- a/nextcloud-wonderfall/README.md +++ /dev/null @@ -1,111 +0,0 @@ -## wonderfall/nextcloud - -![](https://upload.wikimedia.org/wikipedia/commons/thumb/6/60/Nextcloud_Logo.svg/2000px-Nextcloud_Logo.svg.png) - -### wonderfall/nextcloud with FreeNAS metadata - -**This image was made for my own use and I have no intention to make this official. Support won't be regular so if there's an update, or a fix, you can open a pull request. Any contribution is welcome, but please be aware I'm very busy currently. Before opening an issue, please check if there's already one related. Also please use Github instead of Docker Hub, otherwise I won't see your comments. Thanks.** - -### Features -- Based on Alpine Linux Edge. -- Bundled with nginx and PHP 7.1. -- Automatic installation using environment variables. -- Package integrity (SHA512) and authenticity (PGP) checked during building process. -- Data and apps persistence. -- OPCache (opcocde), APCu (local) installed and configured. -- system cron task running. -- MySQL, PostgreSQL (server not built-in) and sqlite3 support. -- Redis, FTP, SMB, LDAP, IMAP support. -- GNU Libiconv for php iconv extension (avoiding errors with some apps). -- No root processes. Never. -- Environment variables provided (see below). - -### Tags -- **latest** : latest stable version. (11.0) - -For security reasons, you should occasionally update the container, even if you have the latest version of Nextcloud. - -### Build-time variables -- **NEXTCLOUD_VERSION** : version of nextcloud -- **GNU_LIBICONV_VERSION** : version of GNU Libiconv -- **GPG_nextcloud** : signing key fingerprint - -### Environment variables -- **UID** : nextcloud user id *(default : 991)* -- **GID** : nextcloud group id *(default : 991)* -- **UPLOAD_MAX_SIZE** : maximum upload size *(default : 10G)* -- **APC_SHM_SIZE** : apc memory size *(default : 128M)* -- **OPCACHE_MEM_SIZE** : opcache memory size in megabytes *(default : 128)* -- **MEMORY_LIMIT** : php memory limit *(default : 512M)* -- **CRON_PERIOD** : time interval between two cron tasks *(default : 15m)* -- **CRON_MEMORY_LIMIT** : memory limit for PHP when executing cronjobs *(default : 1024m)* -- **TZ** : the system/log timezone *(default : Etc/UTC)* -- **ADMIN_USER** : username of the admin account *(default : none, web configuration)* -- **ADMIN_PASSWORD** : password of the admin account *(default : none, web configuration)* -- **DOMAIN** : domain to use during the setup *(default : localhost)* -- **DB_TYPE** : database type (sqlite3, mysql or pgsql) *(default : sqlite3)* -- **DB_NAME** : name of database *(default : none)* -- **DB_USER** : username for database *(default : none)* -- **DB_PASSWORD** : password for database user *(default : none)* -- **DB_HOST** : database host *(default : none)* - -Don't forget to use a **strong password** for the admin account! - -### Port -- **8888** : HTTP Nextcloud port. - -### Volumes -- **/data** : Nextcloud data. -- **/config** : config.php location. -- **/apps2** : Nextcloud downloaded apps. -- **/nextcloud/themes** : Nextcloud themes location. - -### Database -Basically, you can use a database instance running on the host or any other machine. An easier solution is to use an external database container. I suggest you to use MariaDB, which is a reliable database server. You can use the official `mariadb` image available on Docker Hub to create a database container, which must be linked to the Nextcloud container. PostgreSQL can also be used as well. -You are **not obliged** to use `ADMIN_USER` and `ADMIN_PASSWORD`. If these variables are not provided, you'll be able to configure your admin acccount from your browser. - -Now you have to use a **reverse proxy** in order to access to your container through Internet, steps and details are available at the end of the README.md. And that's it! Since you already configured Nextcloud through setting environment variables, there's no setup page. - -### Configure -In the admin panel, you should switch from `AJAX cron` to `cron` (system cron). - -### Update -Pull a newer image, then recreate the container as you did before (*Setup* step). None of your data will be lost since you're using external volumes. If Nextcloud performed a full upgrade, your apps could be disabled, enable them again. - -### Tip : how to use occ command -There is a script for that, so you shouldn't bother to log into the container, set the right permissions, and so on. Use `docker exec -ti nexcloud occ command`. - -### Reverse proxy -Of course you can use your own solution to do so! nginx, Haproxy, Caddy, h2o, there's plenty of choices and documentation about it on the Web. - -Personally I'm using nginx, so if you're using nginx, there are two possibilites : - -- nginx is on the host : get the Nextcloud container IP address with `docker inspect nextcloud | grep IPAddress\" | head -n1 | grep -Eo "[0-9.]+" `. But whenever the container is restarted or recreated, its IP address can change. Or you can bind Nextcloud HTTP port (8888) to the host (so the reverse proxy can access with `http://localhost:8888` or whatever port you set), but in this case you should consider using a firewall since it's also listening to `http://0.0.0.0:8888`. - -- nginx is in a container, things are easier : you can link nextcloud container to an nginx container so you can use `proxy_pass http://nextcloud:8888`. If you're interested, I provide a nginx image available on Docker Hub : `wonderfall/boring-nginx`, and it comes with a script called `ngxproxy`, which does all the magic after asking you a few questions. Otherwise, an example of configuration would be : - -``` -server { - listen 8000; - server_name example.com; - return 301 https://$host$request_uri; -} - -server { - listen 4430 ssl http2; - server_name example.com; - - ssl_certificate /certs/example.com.crt; - ssl_certificate_key /certs/example.com.key; - - include /etc/nginx/conf/ssl_params.conf; - - client_max_body_size 10G; # change this value it according to $UPLOAD_MAX_SIZE - - location / { - proxy_pass http://nextcloud:8888; - include /etc/nginx/conf/proxy_params; - } -} -``` -