Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
182 changes: 83 additions & 99 deletions .env.example → .env.tmpl
Original file line number Diff line number Diff line change
@@ -1,40 +1,28 @@
# Copy this file to '.env'
PODMAN_NAMESPACE=yourcompanyname
PODMAN_SERVICE=nextcloud
PODMAN_STAGE=prod

# User and group IDs and names running the containers
# Depending on your system setup ${UID}, ${GID} and ${USER} may not be set
# You can uncomment and set them manually if needed
# Some containers may need to be run with names instead of IDs, so all four variable values must be provided
PODMAN_USER_UID=${UID}
PODMAN_GROUP_GID=${GID}
# PODMAN_USER_UID=
# PODMAN_GROUP_GID=

# SQL database
# 'mariadb' for MariaDB
# 'postgres' for Postgres
PODMAN_SQL_DATABASE=postgres
PODMAN_SQL_DATABASE_REQUIRED_MARIADB=false
PODMAN_SQL_DATABASE_REQUIRED_POSTGRES=true

# Key-value database
# 'redis' for Redis
# 'valkey' for Valkey
PODMAN_KEY_VALUE_DATABASE=valkey
PODMAN_KEY_VALUE_DATABASE_REQUIRED_REDIS=false
PODMAN_KEY_VALUE_DATABASE_REQUIRED_VALKEY=true
# Podman namespace used for all containers, volumes and networks.
PODMAN_NAMESPACE={{ .PodmanNamespace }}
PODMAN_SERVICE={{ .PodmanService }}
PODMAN_STAGE={{ .PodmanStage }}

# User and group IDs running the containers.
PODMAN_USER_UID={{ .UserUID }}
PODMAN_GROUP_GID={{ .GroupGID }}

# DatabaseSQL
DATABASE_SQL_SERVICE={{ .DatabaseSQLService }}
# DatabaseKeyValue
DATABASE_KEY_VALUE_SERVICE={{ .DatabaseKeyValueService }}

{{ if not .UseReverseProxy -}}
# SSL
PODMAN_SSL_DIR_HOST=/your/absolute/path/to/configs/ssl
PODMAN_SSL_DIR_HOST={{ .SSLDir }}

{{ end -}}
# clamav
# https://hub.docker.com/r/clamav/clamav/
PODMAN_CLAMAV_IMAGE=docker.io/clamav/clamav:1.5.3@sha256:6f4a9e7d616ffc8d1070200fe35ac860735fdd522161a1043f94856e6ee13c28
PODMAN_CLAMAV_DATA_DIR_HOST=/your/absolute/path/to/data/clamav_data
PODMAN_CLAMAV_DATA_DIR_HOST={{ .DataDir }}/clamav_data
PODMAN_CLAMAV_DATA_DIR_CONTAINER=/var/lib/clamav
PODMAN_CLAMAV_LOG_DIR_HOST=/your/absolute/path/to/data/clamav_log
PODMAN_CLAMAV_LOG_DIR_HOST={{ .DataDir }}/clamav_log
PODMAN_CLAMAV_LOG_DIR_CONTAINER=/var/log/clamav

CLAMAV_AV_HOST=clamav
Expand All @@ -53,123 +41,119 @@ CLAMAV_AV_ICAP_TLS=0
CLAMAV_AV_BLOCK_UNSCANNABLE=0
CLAMAV_AV_BLOCK_UNREACHABLE=yes


# installer
# Several variables are set in the 'phpfpm' section
PODMAN_INSTALLER_NEXTCLOUD_CONFIG_SCRIPT_FILE_HOST=${PWD}/configs/installer/nextcloud_config_default.php
# PODMAN_INSTALLER_NEXTCLOUD_CONFIG_SCRIPT_FILE_HOST=/your/absolute/path/to/configs/installer/nextcloud_config.php
# Several variables are set in the 'phpfpm' section.
PODMAN_INSTALLER_NEXTCLOUD_CONFIG_SCRIPT_FILE_HOST={{ .DataDir }}/configs/installer/nextcloud_config_default.php
PODMAN_INSTALLER_NEXTCLOUD_CONFIG_SCRIPT_FILE_CONTAINER=/etc/nextcloud_config.php
PODMAN_INSTALLER_ENTRYPOINT_SCRIPT_FILE_HOST=${PWD}/configs/installer/entrypoint_default.sh
# PODMAN_INSTALLER_ENTRYPOINT_SCRIPT_FILE_HOST=/your/absolute/path/to/configs/installer/entrypoint.sh
PODMAN_INSTALLER_ENTRYPOINT_SCRIPT_FILE_HOST={{ .DataDir }}/configs/installer/entrypoint_default.sh
PODMAN_INSTALLER_ENTRYPOINT_SCRIPT_FILE_CONTAINER=/etc/entrypoint.sh
PODMAN_INSTALLER_NEXTCLOUD_SETUP_SCRIPT_FILE_HOST=${PWD}/configs/installer/nextcloud_setup_default.sh
# PODMAN_INSTALLER_NEXTCLOUD_SETUP_SCRIPT_FILE_HOST=/your/absolute/path/to/configs/installer/nextcloud_setup.sh
PODMAN_INSTALLER_NEXTCLOUD_SETUP_SCRIPT_FILE_HOST={{ .DataDir }}/configs/installer/nextcloud_setup_default.sh
PODMAN_INSTALLER_NEXTCLOUD_SETUP_SCRIPT_FILE_CONTAINER=/etc/nextcloud_setup.sh


# manager
PODMAN_MANAGER_CONFIGURE_NOTIFY_PUSH_SCRIPT_FILE_HOST=${PWD}/configs/manager/configure_notify_push_default.sh
# PODMAN_MANAGER_CONFIGURE_NOTIFY_PUSH_SCRIPT_FILE_HOST=/your/absolute/path/to/configs/manager/configure_notify_push.sh
PODMAN_MANAGER_CONFIGURE_NOTIFY_PUSH_SCRIPT_FILE_HOST={{ .DataDir }}/configs/manager/configure_notify_push_default.sh
PODMAN_MANAGER_CONFIGURE_NOTIFY_PUSH_SCRIPT_FILE_CONTAINER=/etc/configure_notify_push.sh
PODMAN_MANAGER_CRON_ROOT_FILE_HOST=${PWD}/configs/manager/cron/root_default
# PODMAN_MANAGER_CRON_ROOT_FILE_HOST=/your/absolute/path/to/configs/manager/cron/cron_root
PODMAN_MANAGER_CRON_ROOT_FILE_HOST={{ .DataDir }}/configs/manager/cron/root_default
PODMAN_MANAGER_CRON_ROOT_FILE_CONTAINER=/etc/crontabs/root
PODMAN_MANAGER_ENTRYPOINT_SCRIPT_FILE_HOST=${PWD}/configs/manager/entrypoint_default.sh
# PODMAN_MANAGER_ENTRYPOINT_SCRIPT_FILE_HOST=/your/absolute/path/to/configs/manager/entrypoint.sh
PODMAN_MANAGER_ENTRYPOINT_SCRIPT_FILE_HOST={{ .DataDir }}/configs/manager/entrypoint_default.sh
PODMAN_MANAGER_ENTRYPOINT_SCRIPT_FILE_CONTAINER=/etc/entrypoint.sh

{{ if .UseMariaDB -}}
# mariadb
# https://hub.docker.com/_/mariadb
PODMAN_MARIADB_IMAGE=docker.io/mariadb:11.4.12-ubi9@sha256:9667dd3add213bfc6b27b8f2a86cf9dd8eebf96ac0732e57ea22d460862acae1
# Uncomment if you want to use a custom mariadb.conf file:
# PODMAN_MARIADB_CONF_FILE_HOST=/your/absolute/path/to/configs/mariadb/mariadb.conf
# PODMAN_MARIADB_CONF_FILE_HOST={{ .DataDir }}/configs/mariadb/mariadb.conf
# PODMAN_MARIADB_CONF_FILE_CONTAINER=/etc/mariadb/mariadb.conf
PODMAN_MARIADB_DATA_DIR_HOST=/your/absolute/path/to/data/mariadb
PODMAN_MARIADB_DATA_DIR_HOST={{ .DataDir }}/mariadb
PODMAN_MARIADB_DATA_DIR_CONTAINER=/var/lib/mysql

MARIADB_HOST=mariadb
MARIADB_DB=nextcloud
MARIADB_USER=nextcloud
MARIADB_PASSWORD='a_secure_password'
MARIADB_ROOT_PASSWORD='a_secure_password'
DATABASE_SQL_HOST=mariadb
DATABASE_SQL_PORT=3306
DATABASE_SQL_NAME=nextcloud
DATABASE_SQL_USER=nextcloud
DATABASE_SQL_PASSWORD='{{ .Password.DatabaseSQLPassword }}'
MARIADB_ROOT_PASSWORD='{{ .Password.MariaDBRootPassword }}'
# Will always be used (true) if it's not empty
# Set to = (without value) if you don't want to use it (false)
MARIADB_AUTO_UPGRADE=this_variable_is_used_when_not_empty

{{ end -}}
{{ if .UsePostgreSQL -}}
# postgresql
# https://hub.docker.com/_/postgres
PODMAN_POSTGRES_IMAGE=docker.io/postgres:17.10-alpine3.24@sha256:67f624a4ad70edba8d65c82341124fab7054b277b4f7dea4b04be6f939ce2314
# Uncomment if you want to use a custom postgresql.conf file:
# PODMAN_POSTGRES_CONF_FILE_HOST={{ .DataDir }}/configs/postgres/postgres.conf
# PODMAN_POSTGRES_CONF_FILE_CONTAINER=/etc/postgresql/postgresql.conf
PODMAN_POSTGRES_DATA_DIR_HOST={{ .DataDir }}/postgres
PODMAN_POSTGRES_DATA_DIR_CONTAINER=/var/lib/postgresql/data

DATABASE_SQL_HOST=postgres
DATABASE_SQL_PORT=5432
DATABASE_SQL_NAME=nextcloud
DATABASE_SQL_USER=nextcloud
DATABASE_SQL_PASSWORD='{{ .Password.DatabaseSQLPassword }}'

{{ end -}}
# nginx
# https://hub.docker.com/r/nginxinc/nginx-unprivileged
PODMAN_NGINX_IMAGE=docker.io/nginxinc/nginx-unprivileged:1.31.2-alpine3.23@sha256:592b23aa79a6e6c08ba4b20f1fff700e1328895705966722608e115d62e52d39
PODMAN_NGINX_CONF_DIR_HOST=/your/absolute/path/to/configs/nginx/conf
PODMAN_NGINX_CONF_DIR_HOST={{ .DataDir }}/configs/nginx/conf
PODMAN_NGINX_CONF_DIR_CONTAINER=/etc/nginx/conf.d

PODMAN_NGINX_SSL_DIR_CONTAINER=/etc/ssl/nginx

{{ if .UseReverseProxy -}}
NGINX_INTERNAL_URL=http://nginx:8080
{{ else -}}
NGINX_INTERNAL_URL=https://nginx:8443
{{- end }}

# phpfpm
# https://github.com/Strukturpiloten/nextcloud-phpfpm/pkgs/container/nextcloud-phpfpm
PODMAN_NEXTCLOUDPHPFPM_IMAGE=ghcr.io/strukturpiloten/nextcloud-phpfpm:latest
PODMAN_NEXTCLOUDPHPFPM_PULL_POLICY=missing
PODMAN_PHPFPM_CONF_FILE_HOST=${PWD}/configs/phpfpm/conf/zzz-www_default.conf
# PODMAN_PHPFPM_CONF_FILE_HOST=/your/absolute/path/to/configs/phpfpm/conf/zzz-www.conf
PODMAN_PHPFPM_CONF_FILE_HOST={{ .DataDir }}/configs/phpfpm/conf/zzz-www_default.conf
PODMAN_PHPFPM_CONF_FILE_CONTAINER=/usr/local/etc/php-fpm.d/zzz-www.conf
PODMAN_PHPFPM_INI_FILE_HOST=${PWD}/configs/phpfpm/ini/nextcloud_default.ini
# PODMAN_PHPFPM_INI_FILE_HOST=/your/absolute/path/to/configs/phpfpm/ini/nextcloud.ini
PODMAN_PHPFPM_INI_FILE_HOST={{ .DataDir }}/configs/phpfpm/ini/nextcloud_default.ini
PODMAN_PHPFPM_INI_FILE_CONTAINER=/usr/local/etc/php/conf.d/nextcloud.ini
PODMAN_PHPFPM_HEALTHCHECK_FILE_HOST=${PWD}/configs/phpfpm/nextcloud_status_default.php
# PODMAN_PHPFPM_HEALTHCHECK_FILE_HOST=/your/absolute/path/to/configs/phpfpm/nextcloud_status.php
PODMAN_PHPFPM_HEALTHCHECK_FILE_HOST={{ .DataDir }}/configs/phpfpm/nextcloud_status_default.php
PODMAN_PHPFPM_HEALTHCHECK_FILE_CONTAINER=/etc/nextcloud_status.php

# postgres
# https://hub.docker.com/_/postgres
PODMAN_POSTGRES_IMAGE=docker.io/postgres:17.10-alpine3.24@sha256:67f624a4ad70edba8d65c82341124fab7054b277b4f7dea4b04be6f939ce2314
# Uncomment if you want to use a custom postgresql.conf file:
# PODMAN_POSTGRES_CONF_FILE_HOST=/your/absolute/path/to/configs/postgres/postgres.conf
# PODMAN_POSTGRES_CONF_FILE_CONTAINER=/etc/postgresql/postgresql.conf
PODMAN_POSTGRES_DATA_DIR_HOST=/your/absolute/path/to/data/postgres
PODMAN_POSTGRES_DATA_DIR_CONTAINER=/var/lib/postgresql/data

POSTGRES_HOST=postgres
POSTGRES_DB=nextcloud
POSTGRES_USER=nextcloud
POSTGRES_PASSWORD='a_secure_password'

{{ if .UseRedis -}}
# redis
# https://hub.docker.com/_/redis
PODMAN_REDIS_IMAGE=docker.io/redis:8.6.4-alpine3.23@sha256:2cc044fc5a07c9b701f8f1255a309ae9ad7856e694ac03513bf3648c01e40763
# Uncomment if you want to use a custom redis.conf file:
# PODMAN_REDIS_CONF_FILE_HOST=/your/absolute/path/to/configs/redis/redis.conf
# PODMAN_REDIS_CONF_FILE_HOST={{ .DataDir }}/configs/redis/redis.conf
# PODMAN_REDIS_CONF_FILE_CONTAINER=/usr/local/etc/redis/redis.conf
PODMAN_REDIS_DATA_DIR_HOST=/your/absolute/path/to/data/redis
PODMAN_REDIS_DATA_DIR_HOST={{ .DataDir }}/redis
PODMAN_REDIS_DATA_DIR_CONTAINER=/data

REDIS_HOST=redis
REDIS_PORT=6379
REDIS_USER=nextcloud
# TODO @TheRealBecks: REDIS_PASSWORD is not used
REDIS_PASSWORD='a_secure_password'
DATABASE_KEY_VALUE_HOST=redis
DATABASE_KEY_VALUE_PORT=6379

{{ end -}}
{{ if .UseValkey -}}
# valkey
# https://hub.docker.com/r/valkey/valkey/
# https://hub.docker.com/_/valkey/valkey/
PODMAN_VALKEY_IMAGE=docker.io/valkey/valkey:8.1.8-alpine3.23@sha256:cfe71288f087704b06be45e270afa7a2abbf820093d6b11a23762081f5ff321d
# Uncomment if you want to use a custom valkey.conf file:
# PODMAN_VALKEY_CONF_FILE_HOST=/your/absolute/path/to/configs/valkey/valkey.conf
# PODMAN_VALKEY_CONF_FILE_HOST={{ .DataDir }}/configs/valkey/valkey.conf
# PODMAN_VALKEY_CONF_FILE_CONTAINER=/usr/local/etc/valkey/valkey.conf
PODMAN_VALKEY_DATA_DIR_HOST=/your/absolute/path/to/data/valkey
PODMAN_VALKEY_DATA_DIR_HOST={{ .DataDir }}/valkey
PODMAN_VALKEY_DATA_DIR_CONTAINER=/data

VALKEY_HOST=valkey
VALKEY_PORT=6379
# user and password are not used: https://github.com/valkey-io/valkey-container/issues/71
VALKEY_USER=nextcloud
# TODO @TheRealBecks: VALKEY_PASSWORD is not used
VALKEY_PASSWORD='a_secure_password'
DATABASE_KEY_VALUE_HOST=valkey
DATABASE_KEY_VALUE_PORT=6379

{{ end -}}
# whiteboard
# https://github.com/nextcloud/whiteboard
PODMAN_WHITEBOARD_IMAGE=ghcr.io/nextcloud-releases/whiteboard:v1.5.9@sha256:b60b7633f90d106ac6922f9bc27e1a1ca2442488b740fefdae4c812f34e9cebc

WHITEBOARD_STORAGE_STRATEGY=redis
WHITEBOARD_JWT_SECRET_KEY='a_secure_password'
WHITEBOARD_JWT_SECRET_KEY='{{ .Password.WhiteboardJwtSecretKey }}'

# notifypush
# https://github.com/Strukturpiloten/nextcloud-notifypush/pkgs/container/nextcloud-notifypush
Expand All @@ -183,18 +167,18 @@ NEXTCLOUD_VERSION=v32.0.12
# on or off
NEXTCLOUD_MAINTENANCE=off
NEXTCLOUD_ADMIN_USER=admin
NEXTCLOUD_ADMIN_PASSWORD='a_secure_password'
PODMAN_NEXTCLOUD_DATA_DIR_HOST=/your/absolute/path/to/data/nextcloud
NEXTCLOUD_ADMIN_PASSWORD='{{ .Password.NextcloudAdminPassword }}'
PODMAN_NEXTCLOUD_DATA_DIR_HOST={{ .DataDir }}/nextcloud
PODMAN_NEXTCLOUD_DATA_DIR_CONTAINER=/var/www/nextcloud
# Also used as NC_datadirectory
PODMAN_NEXTCLOUD_USER_DATA_DIR_HOST=/your/absolute/path/to/data/nextcloud_data
PODMAN_NEXTCLOUD_USER_DATA_DIR_HOST={{ .DataDir }}/nextcloud_data
PODMAN_NEXTCLOUD_USER_DATA_DIR_CONTAINER=/var/www/nextcloud_data
NEXTCLOUD_PERSISTENT_DATABASE_CONNECTION=true
# We need to configure the domain twice: NEXTCLOUD_DOMAIN, NEXTCLOUD_TRUSTED_DOMAINS
NEXTCLOUD_DOMAIN=nextcloud.example.com
NEXTCLOUD_DOMAIN={{ .DomainName }}
# https://github.com/nextcloud/server/issues/49658
# Whitespace separated string enclosed in double quotes
NEXTCLOUD_TRUSTED_DOMAINS="localhost nextcloud.example.com"
NEXTCLOUD_TRUSTED_DOMAINS="localhost {{ .DomainName }}"
NEXTCLOUD_TRUSTED_PROXIES="127.0.0.1 ::1 10.0.0.0/8 fc00::/7"
# Language and region settings
NEXTCLOUD_DEFAULT_LANGUAGE=de_DE
Expand All @@ -214,9 +198,9 @@ NEXTCLOUD_CARDDAV_SYNC_REQUEST_TRUNCATION=2500
NEXTCLOUD_SESSION_RELAXED_EXPIRY=false
NEXTCLOUD_SESSION_KEEPALIVE=true
# Valkey / Redis
NEXTCLOUD_REDIS_DBINDEX=0 # integer
NEXTCLOUD_REDIS_TIMEOUT=1.0 # float
NEXTCLOUD_REDIS_READ_TIMEOUT=1.0 # float
NEXTCLOUD_REDIS_DBINDEX=0
NEXTCLOUD_REDIS_TIMEOUT=1.0
NEXTCLOUD_REDIS_READ_TIMEOUT=1.0
# SMTP and mail
NC_mail_sendmailmode='smtp'
NC_mail_smtpmode='smtp'
Expand Down
Loading