Sign inSign up

simonlclrs/multicloud

By simonlclrs

•Updated about 1 hour ago

Simple and fast Cloud solution with multiple storage methods + samba mount

Image
Databases & storage
0

2.0K

simonlclrs/multicloud repository overview

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

Tag summary

Content type

Image

Digest

sha256:bdd555905…

Size

80.1 MB

Last updated

about 1 hour ago

docker pull simonlclrs/multicloud