🎉 First commit!

This commit is contained in:
Steph 2021-02-05 15:12:31 +01:00
commit ab2f56975d
6 changed files with 92 additions and 0 deletions

9
.env.example Normal file
View File

@ -0,0 +1,9 @@
PASS=longrandomstring
HOST=example.com
ALLOWED_IPS=add_internal_proxy_ip_here
SMTP_HOST=mail.example.com
SMTP_EMAIL=cloud@example.com
SMTP_PASS=1234
SMTP_DOMAIN=example.com

2
.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
mnt/
.env

20
backup.conf Normal file
View File

@ -0,0 +1,20 @@
## Backup config file for service. To find the syntax for this file,
## take a look at `man duplicity` or the web docs at this url:
## http://duplicity.nongnu.org/vers8/duplicity.1.html#sect9
##
## Special syntax has been added, a single pound sign line will be
## interpreted like a variable assignment, a line with two pound
## signs will be seen as comments.
## This make daily backups, and keep them for one months, making
## incremental backups and doing a full backup once a week.
# RETAIN=2W
# INCREMENT=1W
# INTERVAL=1D
## We make backups of config, and the files from most apps.
## User storage isn't getting backed up.
+ **
- **/mnt/nextcloud/data
+ **/mnt/nextcloud/data/appdata_occp6ppq3u73

1
crontab Normal file
View File

@ -0,0 +1 @@
*/5 * * * * cd <to this directory>; /usr/local/bin/docker-compose exec -T --user www-data app php -f /var/www/html/cron.php

55
docker-compose.yml Normal file
View File

@ -0,0 +1,55 @@
version: '3'
services:
db:
image: mariadb
restart: always
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
expose:
- 3306
volumes:
- ./mnt/db:/var/lib/mysql
environment:
- "MYSQL_ROOT_PASSWORD=${PASS}"
- "MYSQL_PASSWORD=${PASS}"
- "MYSQL_DATABASE=nextcloud"
- "MYSQL_USER=nextcloud"
app:
image: nextcloud
restart: always
depends_on:
- redis
volumes:
- ./mnt/nextcloud:/var/www/html
environment:
- "VIRTUAL_HOST=${HOST}"
- "LETSENCRYPT_HOST=${HOST}"
- "MYSQL_PASSWORD=${PASS}"
- "MYSQL_DATABASE=nextcloud"
- "MYSQL_USER=nextcloud"
- "MYSQL_HOST=db"
- "NEXTCLOUD_ADMIN_USER=admin"
- "NEXTCLOUD_ADMIN_PASSWORD=${PASS}"
- "REDIS_HOST=redis"
- "SMTP_HOST=${SMTP_HOST}"
- "SMTP_SECURE=ssl"
- "SMTP_NAME=${SMTP_EMAIL}"
- "SMTP_PASSWORD=${SMTP_PASS}"
- "MAIL_FROM_ADDRESS=cloud"
- "MAIL_DOMAIN=${SMTP_DOMAIN}"
- "NEXTCLOUD_TRUSTED_DOMAINS=${HOST} ${ALLOWED_IPS}"
networks:
- default
- 10000-nginx-proxy_nginx-proxy
redis:
image: redis
expose:
- 6379
depends_on:
- db
networks:
10000-nginx-proxy_nginx-proxy:
external: true

5
readme.md Normal file
View File

@ -0,0 +1,5 @@
# cloud.steph.tools
This is the service configuration for the nextcloud instance over at cloud.steph.tools.
Secrets and config options are kept in `.env`, you can copy `.env.example` to see what you need to fill.