Dateien nach „/“ hochladen
This commit is contained in:
commit
c5322ff1ec
4 changed files with 353 additions and 0 deletions
65
stack_peertube.yaml
Normal file
65
stack_peertube.yaml
Normal file
|
@ -0,0 +1,65 @@
|
|||
version: "3.9"
|
||||
services:
|
||||
redis:
|
||||
image: redis:7
|
||||
command: redis-server --requirepass redispass
|
||||
container_name: peertube-redis
|
||||
hostname: peertube-redis
|
||||
mem_limit: 512m
|
||||
mem_reservation: 256m
|
||||
cpu_shares: 768
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
read_only: true
|
||||
user: 1035:100
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "redis-cli ping || exit 1"]
|
||||
volumes:
|
||||
- /volume1/docker/peertube/redis:/data:rw
|
||||
environment:
|
||||
TZ: Europe/Berlin
|
||||
restart: on-failure:5
|
||||
|
||||
db:
|
||||
image: postgres:16
|
||||
container_name: peertube-db
|
||||
hostname: peertube-db
|
||||
mem_limit: 1g
|
||||
cpu_shares: 768
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
healthcheck:
|
||||
test: ["CMD", "pg_isready", "-q", "-d", "$POSTGRES_DB", "-U", "$POSTGRES_USER"]
|
||||
timeout: 45s
|
||||
interval: 10s
|
||||
retries: 10
|
||||
volumes:
|
||||
- /volume1/docker/peertube/db:/var/lib/postgresql/data:rw
|
||||
env_file:
|
||||
- stack.env
|
||||
restart: on-failure:5
|
||||
|
||||
peertube:
|
||||
image: chocobozzz/peertube:production-bookworm
|
||||
container_name: peertube
|
||||
hostname: peertube
|
||||
mem_limit: 12g
|
||||
cpu_shares: 2048
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
healthcheck:
|
||||
test: curl -f http://localhost:9000/ || exit 1
|
||||
ports:
|
||||
- 1935:1935 # Comment if you don't want to use the live feature
|
||||
- 9510:9000
|
||||
volumes:
|
||||
- /volume1/docker/peertube/data:/data:rw
|
||||
- /volume1/docker/peertube/config:/config:rw
|
||||
env_file:
|
||||
- stack.env
|
||||
restart: on-failure:5
|
||||
depends_on:
|
||||
redis:
|
||||
condition: service_healthy
|
||||
db:
|
||||
condition: service_healthy
|
164
stack_pixelfed.env
Normal file
164
stack_pixelfed.env
Normal file
|
@ -0,0 +1,164 @@
|
|||
## Crypto
|
||||
APP_KEY=base64:ngO3r31usRX9iMMdzAWwVHpfTp/1acds6+mRoqQAW+U=
|
||||
|
||||
## General Settings
|
||||
ENABLE_CONFIG_CACHE=false
|
||||
CUSTOM_EMOJI=false
|
||||
APP_NAME="Pixelfed"
|
||||
APP_LOCALE=en
|
||||
APP_TIMEZONE=Europe/Berlin
|
||||
APP_URL=https://pixelfed.tld
|
||||
APP_DOMAIN=pixelfed.tld
|
||||
ADMIN_DOMAIN=pixelfed.tld
|
||||
SESSION_DOMAIN=pixelfed.tld
|
||||
TRUST_PROXIES=*
|
||||
ENABLE_CONFIG_CACHE=true
|
||||
CUSTOM_EMOJI=false
|
||||
APP_ENV=production
|
||||
APP_DEBUG=false
|
||||
OPEN_REGISTRATION=true
|
||||
ENFORCE_EMAIL_VERIFICATION=false
|
||||
PF_MAX_USERS=1000
|
||||
OAUTH_ENABLED=true
|
||||
PORTFOLIO_DOMAIN="portfolio.pixelfed.tld"
|
||||
PORTFOLIO_PATH=""
|
||||
PF_LOGIN_WITH_MASTODON_ENABLED=true
|
||||
PF_USER_INVITES=true
|
||||
|
||||
|
||||
## Pixelfed Tweaks
|
||||
LIMIT_ACCOUNT_SIZE=true
|
||||
MAX_ACCOUNT_SIZE=1000000
|
||||
MAX_PHOTO_SIZE=10240
|
||||
MAX_AVATAR_SIZE=4096
|
||||
MAX_CAPTION_LENGTH=1000
|
||||
MAX_BIO_LENGTH=250
|
||||
MAX_NAME_LENGTH=30
|
||||
MAX_ALBUM_LENGTH=100
|
||||
IMAGE_QUALITY=80
|
||||
PF_OPTIMIZE_IMAGES=true
|
||||
PF_OPTIMIZE_VIDEOS=true
|
||||
ADMIN_ENV_EDITOR=true
|
||||
ACCOUNT_DELETION=true
|
||||
ACCOUNT_DELETE_AFTER=false
|
||||
MAX_LINKS_PER_POST=5
|
||||
|
||||
## Instance
|
||||
#INSTANCE_DESCRIPTION=
|
||||
INSTANCE_PUBLIC_HASHTAGS=true
|
||||
INSTANCE_CONTACT_EMAIL=info@pixelfed.tld
|
||||
INSTANCE_PUBLIC_LOCAL_TIMELINE=true
|
||||
INSTANCE_DISCOVER_PUBLIC=true
|
||||
#BANNED_USERNAMES=
|
||||
STORIES_ENABLED=true
|
||||
RESTRICTED_INSTANCE=false
|
||||
INSTANCE_REPORTS_EMAIL_ADDRESSES='info@pixelfed.tld'
|
||||
INSTANCE_REPORTS_EMAIL_ENABLED=true
|
||||
INSTANCE_REPORTS_EMAIL_AUTOSPAM=true
|
||||
|
||||
## Mail
|
||||
MAIL_DRIVER=smtp
|
||||
MAIL_HOST=smtp.eu.mailgun.org
|
||||
MAIL_PORT=587
|
||||
MAIL_FROM_ADDRESS="mail@pixelfed.tld"
|
||||
MAIL_FROM_NAME="Pixelfed"
|
||||
MAIL_USERNAME=login
|
||||
MAIL_PASSWORD=password
|
||||
MAIL_ENCRYPTION=tls
|
||||
|
||||
## Databases (MySQL)
|
||||
#DB_CONNECTION=mysql
|
||||
#DB_DATABASE=pixelfed_prod
|
||||
#DB_HOST=db
|
||||
#DB_PASSWORD=pixelfed_db_pass
|
||||
#DB_PORT=3306
|
||||
#DB_USERNAME=pixelfed
|
||||
# pass the same values to the db itself
|
||||
#MYSQL_DATABASE=pixelfed_prod
|
||||
#MYSQL_PASSWORD=pixelfed_db_pass
|
||||
#MYSQL_RANDOM_ROOT_PASSWORD=true
|
||||
#MYSQL_USER=pixelfed
|
||||
|
||||
## Databases (Postgres)
|
||||
DB_CONNECTION=pgsql
|
||||
DB_HOST=pixelfed-db
|
||||
DB_PORT=5432
|
||||
DB_DATABASE=pixelfeddb
|
||||
DB_USERNAME=pixelfed
|
||||
DB_PASSWORD=pixelfeddbpassword
|
||||
# pass the same values to the db itself
|
||||
POSTGRES_DB=pixelfeddb
|
||||
POSTGRES_USER=pixelfed
|
||||
POSTGRES_PASSWORD=pixelfeddbpassword
|
||||
|
||||
## Cache (Redis)
|
||||
REDIS_CLIENT=phpredis
|
||||
REDIS_SCHEME=tcp
|
||||
REDIS_HOST=pixelfed-redis
|
||||
REDIS_PASSWORD=
|
||||
REDIS_PORT=6379
|
||||
REDIS_DATABASE=0
|
||||
|
||||
HORIZON_PREFIX="horizon-"
|
||||
|
||||
## EXPERIMENTS
|
||||
EXP_LC=false
|
||||
EXP_REC=false
|
||||
EXP_LOOPS=false
|
||||
EXP_EMC=true
|
||||
|
||||
## ActivityPub Federation
|
||||
ACTIVITY_PUB=true
|
||||
AP_REMOTE_FOLLOW=true
|
||||
AP_SHAREDINBOX=true
|
||||
AP_INBOX=true
|
||||
AP_OUTBOX=true
|
||||
ATOM_FEEDS=true
|
||||
NODEINFO=true
|
||||
WEBFINGER=true
|
||||
|
||||
## S3
|
||||
FILESYSTEM_DRIVER=local
|
||||
FILESYSTEM_CLOUD=s3
|
||||
PF_ENABLE_CLOUD=false
|
||||
#AWS_ACCESS_KEY_ID=
|
||||
#AWS_SECRET_ACCESS_KEY=
|
||||
#AWS_DEFAULT_REGION=
|
||||
#AWS_BUCKET=
|
||||
#AWS_URL=
|
||||
#AWS_ENDPOINT=
|
||||
#AWS_USE_PATH_STYLE_ENDPOINT=false
|
||||
|
||||
## Horizon
|
||||
HORIZON_DARKMODE=false
|
||||
|
||||
## COSTAR - Confirm Object Sentiment Transform and Reduce
|
||||
PF_COSTAR_ENABLED=false
|
||||
|
||||
# Media
|
||||
MEDIA_EXIF_DATABASE=false
|
||||
|
||||
## Logging
|
||||
LOG_CHANNEL=stderr
|
||||
|
||||
## Image
|
||||
IMAGE_DRIVER=imagick
|
||||
|
||||
## Broadcasting
|
||||
BROADCAST_DRIVER=log
|
||||
|
||||
## Cache
|
||||
CACHE_DRIVER=redis
|
||||
|
||||
## Purify
|
||||
RESTRICT_HTML_TYPES=true
|
||||
|
||||
## Queue
|
||||
QUEUE_DRIVER=redis
|
||||
|
||||
## Session
|
||||
SESSION_DRIVER=redis
|
||||
|
||||
## Passport
|
||||
#PASSPORT_PRIVATE_KEY=
|
||||
#PASSPORT_PUBLIC_KEY=
|
86
stack_pixelfed.yaml
Normal file
86
stack_pixelfed.yaml
Normal file
|
@ -0,0 +1,86 @@
|
|||
version: "3.9"
|
||||
services:
|
||||
pixelfed-redis:
|
||||
image: redis
|
||||
container_name: pixelfed-redis
|
||||
hostname: pixelfed-redis
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "redis-cli ping || exit 1"]
|
||||
user: 1035:100
|
||||
environment:
|
||||
- TZ=Europe/Berlin
|
||||
volumes:
|
||||
- /volume1/docker/pixelfed/redis:/data
|
||||
restart: always
|
||||
|
||||
pixelfed-db:
|
||||
image: postgres
|
||||
container_name: pixelfed-db
|
||||
hostname: pixelfed-db
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
healthcheck:
|
||||
test: ["CMD", "pg_isready", "-q", "-d", "pixelfeddb", "-U", "pixelfed"]
|
||||
timeout: 45s
|
||||
interval: 10s
|
||||
retries: 10
|
||||
user: 1035:100
|
||||
env_file:
|
||||
- stack.env
|
||||
environment:
|
||||
- TZ=Europe/Berlin
|
||||
volumes:
|
||||
- /volume1/docker/pixelfed/db:/var/lib/postgresql/data
|
||||
restart: always
|
||||
|
||||
pixelfed-web:
|
||||
image: quay.io/zknt/pixelfed:latest
|
||||
container_name: pixelfed-web
|
||||
hostname: pixelfed-web
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
healthcheck:
|
||||
test: stat /etc/passwd || exit 1
|
||||
env_file:
|
||||
- stack.env
|
||||
volumes:
|
||||
- /volume1/docker/pixelfed/storage:/var/www/storage
|
||||
- app-bootstrap:/var/www/bootstrap
|
||||
ports:
|
||||
- 9750:80
|
||||
restart: always
|
||||
depends_on:
|
||||
pixelfed-db:
|
||||
condition: service_started
|
||||
pixelfed-redis:
|
||||
condition: service_healthy
|
||||
|
||||
pixelfed-worker:
|
||||
image: quay.io/zknt/pixelfed:latest
|
||||
container_name: pixelfed-worker
|
||||
hostname: pixelfed-worker
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
healthcheck:
|
||||
test: php artisan horizon:status | grep running
|
||||
interval: 60s
|
||||
timeout: 5s
|
||||
retries: 1
|
||||
env_file:
|
||||
- stack.env
|
||||
volumes:
|
||||
- /volume1/docker/pixelfed/storage:/var/www/storage
|
||||
- app-bootstrap:/var/www/bootstrap
|
||||
restart: always
|
||||
entrypoint: /worker-entrypoint.sh
|
||||
depends_on:
|
||||
pixelfed-db:
|
||||
condition: service_started
|
||||
pixelfed-redis:
|
||||
condition: service_healthy
|
||||
pixelfed-web:
|
||||
condition: service_healthy
|
||||
volumes:
|
||||
app-bootstrap:
|
38
stack_writefreely.yaml
Normal file
38
stack_writefreely.yaml
Normal file
|
@ -0,0 +1,38 @@
|
|||
version: "3.9"
|
||||
services:
|
||||
db:
|
||||
image: mariadb:jammy
|
||||
container_name: writefreely-db
|
||||
hostname: writefreely-db
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
healthcheck:
|
||||
test: out=$$(mysqladmin ping -h localhost -P 3306 -u root --password=rootpw 2>&1); echo $$out | grep 'mysqld is alive' || { echo $$out; exit 1; }
|
||||
environment:
|
||||
- TZ=Europe/Berlin
|
||||
- MYSQL_ROOT_PASSWORD=rootpw
|
||||
- MYSQL_DATABASE=writefreely
|
||||
- MYSQL_USER=writefreely
|
||||
- MYSQL_PASSWORD=writefreelypw
|
||||
volumes:
|
||||
- /volume1/docker/writefreely/db:/var/lib/mysql:rw
|
||||
restart: always
|
||||
|
||||
writefreely:
|
||||
image: algernon/writefreely:latest
|
||||
container_name: writefreely
|
||||
hostname: writefreely
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
user: 1035:100
|
||||
ports:
|
||||
- 9800:8080
|
||||
volumes:
|
||||
- /volume1/docker/writefreely/data:/data
|
||||
environment:
|
||||
- WRITEFREELY_SITE_NAME=WriteFreely
|
||||
- WRITEFREELY_HOST=https://writefreely.my.tld
|
||||
restart: always
|
||||
depends_on:
|
||||
db:
|
||||
condition: service_started
|
Loading…
Add table
Reference in a new issue