created manyfold

This commit is contained in:
2026-05-31 01:01:07 -07:00
parent 032fd3e909
commit 3816b6090b
2 changed files with 155 additions and 0 deletions
+51
View File
@@ -0,0 +1,51 @@
# -----------------------------------------------
# Manyfold - Docker Compose Environment Variables
# -----------------------------------------------
# Copy this file to .env and fill in your values.
# ----------------------------
# App
# ----------------------------
# Docker image tag for Manyfold
MANYFOLD_APP_VERSION=latest
# Host port to expose the Manyfold web UI on
MANYFOLD_PORT=3214
# User and group ID the app process runs as (match your host user for volume permission compatibility)
MANYFOLD_PUID=1000
MANYFOLD_PGID=1000
# Long random string used to sign sessions — generate with: openssl rand -hex 64
MANYFOLD_SECRET_KEY=
# ----------------------------
# Database (PostgreSQL)
# ----------------------------
# Postgres image tag
MANYFOLD_DB_VERSION=15
# Database credentials — must match between app and db services
MANYFOLD_DB_USERNAME=manyfold
MANYFOLD_DB_PASSWORD=
# ----------------------------
# Redis
# ----------------------------
# Redis image tag
MANYFOLD_REDIS_VERSION=7
# ----------------------------
# NFS Volumes
# ----------------------------
# IP address or hostname of the NFS server
MANYFOLD_NFS_SERVER=
# NFS export paths for each volume (e.g. :/mnt/pool/manyfold/app)
MANYFOLD_APP_NFS_DEVICE=
MANYFOLD_DB_NFS_DEVICE=
MANYFOLD_REDIS_NFS_DEVICE=
+104
View File
@@ -0,0 +1,104 @@
services:
app:
image: ghcr.io/manyfold3d/manyfold:${MANYFOLD_APP_VERSION:-latest}
container_name: manyfold-app
ports:
- ${MANYFOLD_PORT:-3214}:3214
volumes:
- manyfold-app:/libraries
environment:
PUID: ${MANYFOLD_PUID:-1000}
PGID: ${MANYFOLD_PGID:-1000}
SECRET_KEY_BASE: ${MANYFOLD_SECRET_KEY:-a_nice_long_random_string}
DATABASE_ADAPTER: postgresql
DATABASE_HOST: db
DATABASE_PORT: 5432
DATABASE_USER: ${MANYFOLD_DB_USERNAME:-manyfold}
DATABASE_PASSWORD: ${MANYFOLD_DB_PASSWORD:-changeme}
DATABASE_NAME: manyfold
REDIS_URL: redis://redis:6379/1
depends_on:
db:
condition: service_healthy
redis:
condition: service_healthy
networks:
- manyfold
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:3214/health"]
interval: 30s
timeout: 10s
retries: 5
start_period: 60s
deploy:
resources:
limits:
memory: 512M
restart: unless-stopped
db:
image: postgres:${MANYFOLD_DB_VERSION:-15}
container_name: manyfold-db
volumes:
- manyfold-db:/var/lib/postgresql/data
environment:
POSTGRES_USER: ${MANYFOLD_DB_USERNAME:-manyfold}
POSTGRES_PASSWORD: ${MANYFOLD_DB_PASSWORD:-changeme}
networks:
- manyfold
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${MANYFOLD_DB_USERNAME:-manyfold}"]
interval: 10s
timeout: 5s
retries: 5
start_period: 30s
deploy:
resources:
limits:
memory: 512M
restart: unless-stopped
redis:
image: redis:${MANYFOLD_REDIS_VERSION:-7}
container_name: manyfold-redis
volumes:
- manyfold-redis:/data
networks:
- manyfold
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 5s
retries: 5
start_period: 20s
deploy:
resources:
limits:
memory: 512M
restart: unless-stopped
volumes:
manyfold-app:
name: manyfold-app
driver: local
driver_opts:
type: nfs
o: "addr=${MANYFOLD_NFS_SERVER},rw,noatime,rsize=65536,wsize=65536,timeo=600,nfsvers=4"
device: "${MANYFOLD_APP_NFS_DEVICE}"
manyfold-db:
name: manyfold-db
driver: local
driver_opts:
type: nfs
o: "addr=${MANYFOLD_NFS_SERVER},rw,noatime,rsize=65536,wsize=65536,timeo=600,nfsvers=4"
device: "${MANYFOLD_DB_NFS_DEVICE}"
manyfold-redis:
name: manyfold-redis
driver: local
driver_opts:
type: nfs
o: "addr=${MANYFOLD_NFS_SERVER},rw,noatime,rsize=65536,wsize=65536,timeo=600,nfsvers=4"
device: "${MANYFOLD_REDIS_NFS_DEVICE}"
networks:
manyfold: