version: '3' services: authelia: container_name: authelia image: authelia/authelia environment: - TZ=${TZ} ports: - 9091:9091 restart: always volumes: - ${DOCKERCONFIGS}/authelia/config:/config bitwarden: container_name: bitwarden image: vaultwarden/server:latest environment: - TZ=${TZ} - ADMIN_TOKEN=h/oRssGu83I1E1WQGiSchYMAJnM0JcDXmjeI/A3QgMCasn/IK9zZldH5FXim0rSi - DATABASE_URL=data/db.sqlite3 - DISABLE_ADMIN_TOKEN=false - DOMAIN=https://bitwarden.akanealw.com - ENABLE_DB_WAL=true - INVITATIONS_ALLOWED=false - SHOW_PASSWORD_HINT=false - SIGNUPS_ALLOWED=false - SIGNUPS_VERIFY=false - SMTP_PORT=587 - SMTP_SSL=true ports: - 8089:80/tcp restart: always volumes: - ${DOCKERCONFIGS}/vaultwarden:/data - /etc/localtime:/etc/localtime:ro goaccess: container_name: goaccess image: 'xavierh/goaccess-for-nginxproxymanager:latest' environment: - TZ=${TZ} - SKIP_ARCHIVED_LOGS=False #optional - DEBUG=False #optional - BASIC_AUTH=False #optional - BASIC_AUTH_USERNAME=${ADMIN_USERNAME} #optional - BASIC_AUTH_PASSWORD=${ADMIN_PASSWORD} #optional - EXCLUDE_IPS=127.0.0.1 #optional - comma delimited - LOG_TYPE=NPM #optional - more information below ports: - 7880:7880 restart: always volumes: - ${DOCKERCONFIGS}/nginxproxymanager/data/logs:/opt/log kutt: container_name: kutt image: kutt/kutt:latest environment: DB_HOST: kutt-postgres DB_NAME: kutt DB_USER: kutt DB_PASSWORD: kutt REDIS_HOST: kutt-redis env_file: - .env command: ["./wait-for-it.sh", "kutt-postgres:5432", "--", "npm", "start"] depends_on: - kutt-postgres - kutt-redis ports: - 3000:3000/tcp restart: always kutt-redis: container_name: kutt-redis image: redis:6.0-alpine restart: always volumes: - ${DOCKERCONFIGS}/kutt/redis_data:/data kutt-postgres: container_name: kutt-postgres image: postgres:12-alpine environment: - POSTGRES_USER=kutt - POSTGRES_PASSWORD=kutt - POSTGRES_DB=kutt restart: always volumes: - ${DOCKERCONFIGS}/kutt/postgres_data:/var/lib/postgresql/data nginxproxymanager: container_name: nginxproxymanager image: jc21/nginx-proxy-manager:2.9.22 environment: - X_FRAME_OPTIONS=sameorigin - DB_SQLITE_FILE=/data/database.sqlite ports: - 443:443/tcp - 80:80/tcp - 81:81/tcp restart: always volumes: - ${DOCKERCONFIGS}/nginxproxymanager/data:/data - ${DOCKERCONFIGS}/nginxproxymanager/letsencrypt:/etc/letsencrypt - ${DOCKERCONFIGS}/nginxproxymanager/snippets:/snippets:ro - /etc/localtime:/etc/localtime:ro owncloud: container_name: owncloud image: owncloud/server:${OWNCLOUD_VERSION} environment: - OWNCLOUD_DOMAIN=${OWNCLOUD_DOMAIN} - OWNCLOUD_TRUSTED_DOMAINS=${OWNCLOUD_TRUSTED_DOMAINS} - OWNCLOUD_DB_TYPE=mysql - OWNCLOUD_DB_NAME=owncloud - OWNCLOUD_DB_USERNAME=owncloud - OWNCLOUD_DB_PASSWORD=owncloud - OWNCLOUD_DB_HOST=owncloud-mariadb - OWNCLOUD_ADMIN_USERNAME=${ADMIN_USERNAME} - OWNCLOUD_ADMIN_PASSWORD=${ADMIN_PASSWORD} - OWNCLOUD_MYSQL_UTF8MB4=true - OWNCLOUD_REDIS_ENABLED=true - OWNCLOUD_REDIS_HOST=owncloud-redis healthcheck: test: ["CMD", "/usr/bin/healthcheck"] interval: 30s timeout: 10s retries: 5 depends_on: - owncloud-mariadb - owncloud-redis ports: - 8092:8080 restart: always volumes: - ${DOCKERCONFIGS}/owncloud/files:/mnt/data owncloud-mariadb: container_name: owncloud-mariadb image: mariadb:10.6 environment: - MYSQL_ROOT_PASSWORD=owncloud - MYSQL_USER=owncloud - MYSQL_PASSWORD=owncloud - MYSQL_DATABASE=owncloud command: ["--max-allowed-packet=128M", "--innodb-log-file-size=64M"] healthcheck: test: ["CMD", "mysqladmin", "ping", "-u", "root", "--password=owncloud"] interval: 10s timeout: 5s retries: 5 restart: always volumes: - ${DOCKERCONFIGS}/owncloud-mariadb/mysql:/var/lib/mysql owncloud-redis: image: redis:6 container_name: owncloud-redis command: ["--databases", "1"] healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 10s timeout: 5s retries: 5 restart: always volumes: - ${DOCKERCONFIGS}/owncloud-redis:/data networks: default: