diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..5944644 --- /dev/null +++ b/.env.example @@ -0,0 +1,15 @@ +# volume +VOLUME_PATH=/data/nextcloud + +# nextcloud +NEXTCLOUD_TAG=23-apache + +# mariadb +MARIADB_TAG=10 + +# nginx +NGINX_HOST=localhost # REPLACE +NGINX_HTTP_PORT=80 +NGINX_HTTPS_PORT=443 +SSL_CERT_PATH=/etc/ssl/certs/ssl-cert-snakeoil.pem # REPLACE +SSL_KEY_PATH=/etc/ssl/private/ssl-cert-snakeoil.key # REPLACE \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..26e5337 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +.env +mariadb_password.txt \ No newline at end of file diff --git a/docker-compose.yaml b/docker-compose.yaml new file mode 100644 index 0000000..2c9f2e9 --- /dev/null +++ b/docker-compose.yaml @@ -0,0 +1,44 @@ +secrets: + mariadb_password: + file: ./mariadb_password.txt + +services: + db: + image: mariadb:${MARIADB_TAG} + restart: unless-stopped + command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW --innodb-file-per-table=1 --skip-innodb-read-only-compressed + secrets: + - mariadb_password + volumes: + - ${VOLUME_PATH}/var/lib/mysql:/var/lib/mysql + environment: + MARIADB_RANDOM_ROOT_PASSWORD: "yes" + MARIADB_PASSWORD_FILE: /run/secrets/mariadb_password + MARIADB_DATABASE: nextcloud + MARIADB_USER: nextcloud + + redis: + image: redis:alpine + restart: unless-stopped + + nextcloud: + build: + context: nextcloud + args: + NEXTCLOUD_TAG: ${NEXTCLOUD_TAG} + restart: unless-stopped + volumes: + - ${VOLUME_PATH}/var/www/html:/var/www/html + secrets: + - mariadb_password + environment: + MYSQL_PASSWORD_FILE: /run/secrets/mariadb_password + MYSQL_DATABASE: nextcloud + MYSQL_USER: nextcloud + MYSQL_HOST: db + REDIS_HOST: redis + NEXTCLOUD_TRUSTED_DOMAINS: ${NGINX_HOST} + OVERWRITEPROTOCOL: https + depends_on: + - db + - redis diff --git a/nextcloud/Dockerfile b/nextcloud/Dockerfile new file mode 100644 index 0000000..cb53906 --- /dev/null +++ b/nextcloud/Dockerfile @@ -0,0 +1,5 @@ +ARG NEXTCLOUD_TAG +FROM nextcloud:${NEXTCLOUD_TAG} + +RUN apt-get update +RUN apt-get install ffmpeg -y --no-install-recommends \ No newline at end of file