Simple and fast Cloud solution with multiple storage methods + samba mount
2.0K
Simple & fast cloud solution with local and S3 storage options, and Samba mounts.
To use this image with a Postgres image use this compose :
services:
multicloud-db:
image: postgres:16-alpine
container_name: multicloud-database
restart: always
environment:
POSTGRES_USER: ${DB_USER:-multicloud}
POSTGRES_PASSWORD: ${DB_PASSWORD:-multicloud}
POSTGRES_DB: ${DB_NAME:-multicloud}
PGDATA: "/pgdata"
volumes:
- ./pgdata:/pgdata
healthcheck:
test: ["CMD-SHELL", "pg_isready -U \"$$POSTGRES_USER\" -d \"$$POSTGRES_DB\""]
interval: 10s
timeout: 10s
retries: 2
start_period: 30s
multicloud:
image: simonlclrs/multicloud:latest
container_name: multicloud
pull_policy: always
restart: always
depends_on:
multicloud-db:
condition: service_healthy
ports:
- "${PORT:-3000}:3000"
# SMB, only when ENABLE_SAMBA=1:
- "445:445"
environment:
DATABASE_URL: "postgres://${DB_USER:-multicloud}:${DB_PASSWORD:-multicloud}@multicloud-db:5432/${DB_NAME:-multicloud}"
APP_ENCRYPTION_KEY: ${APP_ENCRYPTION_KEY}
SESSION_TTL_DAYS: ${SESSION_TTL_DAYS:-30}
MAX_UPLOAD_BYTES: ${MAX_UPLOAD_BYTES:-10737418240}
BOOTSTRAP_ADMIN_EMAIL: ${BOOTSTRAP_ADMIN_EMAIL:-}
BOOTSTRAP_ADMIN_PASSWORD: ${BOOTSTRAP_ADMIN_PASSWORD:-}
PUID: ${PUID:-1000}
PGID: ${PGID:-1000}
ENABLE_SAMBA: ${ENABLE_SAMBA:-0}
volumes:
- ${DATA_PATH:-./data}:/data
- ${SAMBA_PATH:-./samba}:/samba
# Host disks appear in the admin UI as local backends:
# - /media/DATA:/MOUNTS/DATA1
# - /media/1TO:/MOUNTS/DATA2
If you want to use a local hosted database, use this compose :
services:
multicloud:
image: simonlclrs/multicloud:latest
container_name: multicloud
pull_policy: always
restart: always
ports:
- "${PORT:-3000}:3000"
# SMB, only when ENABLE_SAMBA=1:
- "445:445"
extra_hosts:
- "host.docker.internal:host-gateway"
environment:
DATABASE_URL: "postgres://${DB_USER:-multicloud}:${DB_PASSWORD:-multicloud}@host.docker.internal:5432/${DB_NAME:-multicloud}"
APP_ENCRYPTION_KEY: ${APP_ENCRYPTION_KEY}
SESSION_TTL_DAYS: ${SESSION_TTL_DAYS:-30}
MAX_UPLOAD_BYTES: ${MAX_UPLOAD_BYTES:-10737418240}
FOLDER_DOWNLOAD_DIRECT_MAX_FILES: ${FOLDER_DOWNLOAD_DIRECT_MAX_FILES:-10}
FOLDER_DOWNLOAD_TTL_MS: ${FOLDER_DOWNLOAD_TTL_MS:-3600000}
BOOTSTRAP_ADMIN_EMAIL: ${BOOTSTRAP_ADMIN_EMAIL:-}
BOOTSTRAP_ADMIN_PASSWORD: ${BOOTSTRAP_ADMIN_PASSWORD:-}
PUID: ${PUID:-1000}
PGID: ${PGID:-1000}
ENABLE_SAMBA: ${ENABLE_SAMBA:-0}
volumes:
- ${DATA_PATH:-./data}:/data
- ${SAMBA_PATH:-./samba}:/samba
# Host disks appear in the admin UI as local backends:
# - /media/DATA:/MOUNTS/DATA1
# - /media/1TO:/MOUNTS/DATA2
Use and edit the following variables in your .env file :
DB_USER=multicloud
DB_PASSWORD=multicloud
DB_NAME=multicloud
DATA_PATH=./data
PUID=1000
PGID=1000
APP_ENCRYPTION_KEY=
SESSION_TTL_DAYS=30
MAX_UPLOAD_BYTES=10737418240
FOLDER_DOWNLOAD_DIRECT_MAX_FILES=10
[email protected]
BOOTSTRAP_ADMIN_PASSWORD=
ENABLE_SAMBA=0
SAMBA_PATH=./samba
Content type
Image
Digest
sha256:bdd555905…
Size
80.1 MB
Last updated
about 1 hour ago
docker pull simonlclrs/multicloud