mirror of
https://github.com/pixelfed/pixelfed.git
synced 2024-12-21 23:32:39 +00:00
refactor layout
This commit is contained in:
parent
c9b11a4a29
commit
e228a1622d
25 changed files with 959 additions and 1199 deletions
992
.env.docker
992
.env.docker
File diff suppressed because it is too large
Load diff
2
.github/workflows/docker.yml
vendored
2
.github/workflows/docker.yml
vendored
|
@ -160,7 +160,7 @@ jobs:
|
|||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
context: .
|
||||
file: contrib/docker/Dockerfile
|
||||
file: Dockerfile
|
||||
target: ${{ matrix.target_runtime }}-runtime
|
||||
platforms: linux/amd64,linux/arm64
|
||||
builder: ${{ steps.buildx.outputs.name }}
|
||||
|
|
|
@ -114,7 +114,7 @@ WORKDIR /var/www/
|
|||
ENV APT_PACKAGES_EXTRA=${APT_PACKAGES_EXTRA}
|
||||
|
||||
# Install and configure base layer
|
||||
COPY contrib/docker/shared/root/docker/install/base.sh /docker/install/base.sh
|
||||
COPY docker/shared/root/docker/install/base.sh /docker/install/base.sh
|
||||
RUN --mount=type=cache,id=pixelfed-apt-${PHP_VERSION}-${PHP_DEBIAN_RELEASE}-${TARGETPLATFORM},sharing=locked,target=/var/lib/apt \
|
||||
--mount=type=cache,id=pixelfed-apt-cache-${PHP_VERSION}-${PHP_DEBIAN_RELEASE}-${TARGETPLATFORM},sharing=locked,target=/var/cache/apt \
|
||||
/docker/install/base.sh
|
||||
|
@ -140,7 +140,7 @@ ENV PHP_EXTENSIONS=${PHP_EXTENSIONS}
|
|||
ENV PHP_PECL_EXTENSIONS_EXTRA=${PHP_PECL_EXTENSIONS_EXTRA}
|
||||
ENV PHP_PECL_EXTENSIONS=${PHP_PECL_EXTENSIONS}
|
||||
|
||||
COPY contrib/docker/shared/root/docker/install/php-extensions.sh /docker/install/php-extensions.sh
|
||||
COPY docker/shared/root/docker/install/php-extensions.sh /docker/install/php-extensions.sh
|
||||
RUN --mount=type=cache,id=pixelfed-php-${PHP_VERSION}-${PHP_DEBIAN_RELEASE}-${TARGETPLATFORM},sharing=locked,target=/usr/src/php/ \
|
||||
--mount=type=cache,id=pixelfed-apt-${PHP_VERSION}-${PHP_DEBIAN_RELEASE}-${TARGETPLATFORM},sharing=locked,target=/var/lib/apt \
|
||||
--mount=type=cache,id=pixelfed-apt-cache-${PHP_VERSION}-${PHP_DEBIAN_RELEASE}-${TARGETPLATFORM},sharing=locked,target=/var/cache/apt \
|
||||
|
@ -221,7 +221,7 @@ RUN set -ex \
|
|||
&& cp --recursive --link --preserve=all storage storage.skel \
|
||||
&& rm -rf html && ln -s public html
|
||||
|
||||
COPY contrib/docker/shared/root /
|
||||
COPY docker/shared/root /
|
||||
|
||||
ENTRYPOINT ["/docker/entrypoint.sh"]
|
||||
|
||||
|
@ -231,7 +231,7 @@ ENTRYPOINT ["/docker/entrypoint.sh"]
|
|||
|
||||
FROM shared-runtime AS apache-runtime
|
||||
|
||||
COPY contrib/docker/apache/root /
|
||||
COPY docker/apache/root /
|
||||
|
||||
RUN set -ex \
|
||||
&& a2enmod rewrite remoteip proxy proxy_http \
|
||||
|
@ -245,7 +245,7 @@ CMD ["apache2-foreground"]
|
|||
|
||||
FROM shared-runtime AS fpm-runtime
|
||||
|
||||
COPY contrib/docker/fpm/root /
|
||||
COPY docker/fpm/root /
|
||||
|
||||
CMD ["php-fpm"]
|
||||
|
||||
|
@ -275,8 +275,8 @@ RUN --mount=type=cache,id=pixelfed-apt-lists-${PHP_VERSION}-${PHP_DEBIAN_RELEASE
|
|||
|
||||
# copy docker entrypoints from the *real* nginx image directly
|
||||
COPY --link --from=nginx-image /docker-entrypoint.d /docker/entrypoint.d/
|
||||
COPY contrib/docker/nginx/root /
|
||||
COPY contrib/docker/nginx/Procfile .
|
||||
COPY docker/nginx/root /
|
||||
COPY docker/nginx/Procfile .
|
||||
|
||||
STOPSIGNAL SIGQUIT
|
||||
|
|
@ -1,921 +0,0 @@
|
|||
# -*- mode: bash -*-
|
||||
# vi: ft=bash
|
||||
|
||||
###############################################################
|
||||
# Docker-wide configuration
|
||||
###############################################################
|
||||
|
||||
# Path (relative) to the docker-compose file where containers will store their data
|
||||
DOCKER_DATA_ROOT="./data"
|
||||
|
||||
# Path (relative) to the docker-compose file where containers will store their config
|
||||
DOCKER_CONFIG_ROOT="./config"
|
||||
|
||||
# Pixelfed version (image tag) to pull from the registry
|
||||
DOCKER_TAG="branch-jippi-fork-apache-8.1"
|
||||
|
||||
# Set timezone used by *all* containers - these should be in sync
|
||||
#
|
||||
# See: https://www.php.net/manual/en/timezones.php
|
||||
TZ="UTC"
|
||||
|
||||
# Automatically run [artisan migrate --force] if new migrations are detected
|
||||
DOCKER_APPLY_NEW_MIGRATIONS_AUTOMATICALLY="0"
|
||||
|
||||
###############################################################
|
||||
# Pixelfed application configuration
|
||||
###############################################################
|
||||
|
||||
# A random 32-character string to be used as an encryption key.
|
||||
#
|
||||
# No default value; use [php artisan key:generate] to generate.
|
||||
#
|
||||
# This key is used by the Illuminate encrypter service and should be set to a random,
|
||||
# 32 character string, otherwise these encrypted strings will not be safe.
|
||||
#
|
||||
# Please do this before deploying an application!
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#app_key
|
||||
APP_KEY=
|
||||
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#app_name-1
|
||||
APP_NAME="Pixelfed Prod"
|
||||
|
||||
# Application domains used for routing.
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#app_domain
|
||||
APP_DOMAIN="pixelfed-test.jippi.dev"
|
||||
|
||||
# This URL is used by the console to properly generate URLs when using the Artisan command line tool.
|
||||
# You should set this to the root of your application so that it is used when running Artisan tasks.
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#app_url
|
||||
APP_URL=https://${APP_DOMAIN}
|
||||
|
||||
# Application domains used for routing.
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#admin_domain
|
||||
ADMIN_DOMAIN="${APP_DOMAIN}"
|
||||
|
||||
# This value determines the “environment” your application is currently running in.
|
||||
# This may determine how you prefer to configure various services your application utilizes.
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#app_env
|
||||
#APP_ENV="production"
|
||||
|
||||
# When your application is in debug mode, detailed error messages with stack traces will
|
||||
# be shown on every error that occurs within your application.
|
||||
#
|
||||
# If disabled, a simple generic error page is shown.
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#app_debug
|
||||
#APP_DEBUG="false"
|
||||
|
||||
# Enable/disable new local account registrations.
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#open_registration
|
||||
#OPEN_REGISTRATION=true
|
||||
|
||||
# Require email verification before a new user can do anything.
|
||||
#
|
||||
# Defaults to "true".
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#enforce_email_verification
|
||||
#ENFORCE_EMAIL_VERIFICATION="true"
|
||||
|
||||
# Allow a maximum number of user accounts.
|
||||
#
|
||||
# Defaults to "1000".
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#pf_max_users
|
||||
PF_MAX_USERS="false"
|
||||
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#oauth_enabled
|
||||
OAUTH_ENABLED="true"
|
||||
|
||||
# Defaults to "UTC".
|
||||
#
|
||||
# Do not edit your timezone or things will break!
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#app_timezone
|
||||
# See: https://www.php.net/manual/en/timezones.php
|
||||
APP_TIMEZONE="${TZ}"
|
||||
|
||||
# The application locale determines the default locale that will be used by the translation service provider.
|
||||
# You are free to set this value to any of the locales which will be supported by the application.
|
||||
#
|
||||
# Defaults to "en".
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#app_locale
|
||||
#APP_LOCALE="en"
|
||||
|
||||
# The fallback locale determines the locale to use when the current one is not available.
|
||||
#
|
||||
# You may change the value to correspond to any of the language folders that are provided through your application.
|
||||
#
|
||||
# Defaults to "en".
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#app_fallback_locale
|
||||
#APP_FALLBACK_LOCALE="en"
|
||||
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#limit_account_size
|
||||
#LIMIT_ACCOUNT_SIZE="true"
|
||||
|
||||
# Update the max account size, the per user limit of files in kB.
|
||||
#
|
||||
# Defaults to "1000000" (1GB).
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#max_account_size-kb
|
||||
#MAX_ACCOUNT_SIZE="1000000"
|
||||
|
||||
# Update the max photo size, in kB.
|
||||
#
|
||||
# Defaults to "15000" (15MB).
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#max_photo_size-kb
|
||||
#MAX_PHOTO_SIZE="15000"
|
||||
|
||||
# Update the max avatar size, in kB.
|
||||
#
|
||||
# Defaults to "2000" (2MB).
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#max_avatar_size-kb
|
||||
#MAX_AVATAR_SIZE="2000"
|
||||
|
||||
# Change the caption length limit for new local posts.
|
||||
#
|
||||
# Defaults to "500".
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#max_caption_length
|
||||
#MAX_CAPTION_LENGTH="500"
|
||||
|
||||
# Change the bio length limit for user profiles.
|
||||
#
|
||||
# Defaults to "125".
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#max_bio_length
|
||||
#MAX_BIO_LENGTH="125"
|
||||
|
||||
# Change the length limit for user names.
|
||||
#
|
||||
# Defaults to "30".
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#max_name_length
|
||||
#MAX_NAME_LENGTH="30"
|
||||
|
||||
# The max number of photos allowed per post.
|
||||
#
|
||||
# Defaults to "4".
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#max_album_length
|
||||
#MAX_ALBUM_LENGTH="4"
|
||||
|
||||
# Resize and optimize image uploads.
|
||||
#
|
||||
# Defaults to "true".
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#pf_optimize_images
|
||||
#PF_OPTIMIZE_IMAGES="true"
|
||||
|
||||
# Set the image optimization quality, must be a value between 1-100.
|
||||
#
|
||||
# Defaults to "80".
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#image_quality
|
||||
#IMAGE_QUALITY="80"
|
||||
|
||||
# Resize and optimize video uploads.
|
||||
#
|
||||
# Defaults to "true".
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#pf_optimize_videos
|
||||
#PF_OPTIMIZE_VIDEOS="true"
|
||||
|
||||
# Enable account deletion.
|
||||
#
|
||||
# Defaults to "true".
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#account_deletion
|
||||
#ACCOUNT_DELETION="true"
|
||||
|
||||
# Set account deletion queue after X days, set to false to delete accounts immediately.
|
||||
#
|
||||
# Defaults to "false".
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#account_delete_after
|
||||
#ACCOUNT_DELETE_AFTER="false"
|
||||
|
||||
# Defaults to "Pixelfed - Photo sharing for everyone".
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#instance_description
|
||||
#INSTANCE_DESCRIPTION=
|
||||
|
||||
# Defaults to "false".
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#instance_public_hashtags
|
||||
#INSTANCE_PUBLIC_HASHTAGS="false"
|
||||
|
||||
# Defaults to "".
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#instance_contact_email
|
||||
INSTANCE_CONTACT_EMAIL="admin@${APP_DOMAIN}"
|
||||
|
||||
# Defaults to "false".
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#instance_public_local_timeline
|
||||
#INSTANCE_PUBLIC_LOCAL_TIMELINE="false"
|
||||
|
||||
# Defaults to "".
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#banned_usernames
|
||||
#BANNED_USERNAMES=
|
||||
|
||||
# Defaults to "false".
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#stories_enabled
|
||||
#STORIES_ENABLED="false"
|
||||
|
||||
# Defaults to "false".
|
||||
#
|
||||
# Level is hardcoded to 1.
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#restricted_instance
|
||||
#RESTRICTED_INSTANCE="false"
|
||||
|
||||
###############################################################
|
||||
# Database configuration
|
||||
###############################################################
|
||||
|
||||
# Here you may specify which of the database connections below you wish to use as your default connection for all database work.
|
||||
#
|
||||
# Of course you may use many connections at once using the database library.
|
||||
#
|
||||
# Possible values:
|
||||
#
|
||||
# - "sqlite"
|
||||
# - "mysql" (default)
|
||||
# - "pgsql"
|
||||
# - "sqlsrv"
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#db_connection
|
||||
DB_CONNECTION="mysql"
|
||||
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#db_host
|
||||
DB_HOST="db"
|
||||
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#db_username
|
||||
DB_USERNAME="pixelfed"
|
||||
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#db_password
|
||||
DB_PASSWORD="helloworld"
|
||||
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#db_database
|
||||
DB_DATABASE="pixelfed_prod"
|
||||
|
||||
# Use "3306" for MySQL/MariaDB and "5432" for PostgreeSQL
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#db_port
|
||||
DB_PORT="3306"
|
||||
|
||||
ENTRYPOINT_DEBUG=0
|
||||
|
||||
###############################################################
|
||||
# Mail configuration
|
||||
###############################################################
|
||||
|
||||
# Laravel supports both SMTP and PHP’s “mail” function as drivers for the sending of e-mail.
|
||||
# You may specify which one you’re using throughout your application here.
|
||||
#
|
||||
# Possible values:
|
||||
#
|
||||
# "smtp" (default)
|
||||
# "sendmail"
|
||||
# "mailgun"
|
||||
# "mandrill"
|
||||
# "ses"
|
||||
# "sparkpost"
|
||||
# "log"
|
||||
# "array"
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#mail_driver
|
||||
#MAIL_DRIVER="smtp"
|
||||
|
||||
# The host address of the SMTP server used by your applications.
|
||||
#
|
||||
# A default option is provided that is compatible with the Mailgun mail service which will provide reliable deliveries.
|
||||
#
|
||||
# Defaults to "smtp.mailgun.org".
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#mail_host
|
||||
#MAIL_HOST="smtp.mailgun.org"
|
||||
|
||||
# This is the SMTP port used by your application to deliver e-mails to users of the application.
|
||||
#
|
||||
# Like the host we have set this value to stay compatible with the Mailgun e-mail application by default.
|
||||
#
|
||||
# Defaults to 587.
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#mail_port
|
||||
#MAIL_PORT="587"
|
||||
|
||||
# You may wish for all e-mails sent by your application to be sent from the same address.
|
||||
#
|
||||
# Here, you may specify a name and address that is used globally for all e-mails that are sent by your application.
|
||||
#
|
||||
# Defaults to "hello@example.com".
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#mail_from_address
|
||||
MAIL_FROM_ADDRESS="hello@${APP_DOMAIN}"
|
||||
|
||||
# Defaults to "Example".
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#mail_from_name
|
||||
MAIL_FROM_NAME="Pixelfed @ ${APP_DOMAIN}"
|
||||
|
||||
# If your SMTP server requires a username for authentication, you should set it here.
|
||||
#
|
||||
# This will get used to authenticate with your server on connection.
|
||||
# You may also set the “password” value below this one.
|
||||
#
|
||||
# Defaults to "".
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#mail_username
|
||||
#MAIL_USERNAME=
|
||||
|
||||
# Defaults to "".
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#mail_password
|
||||
#MAIL_PASSWORD=
|
||||
|
||||
# Here you may specify the encryption protocol that should be used when the application send e-mail messages.
|
||||
#
|
||||
# A sensible default using the transport layer security protocol should provide great security.
|
||||
#
|
||||
# Defaults to "tls".
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#mail_encryption
|
||||
#MAIL_ENCRYPTION="tls"
|
||||
|
||||
###############################################################
|
||||
# Redis configuration
|
||||
###############################################################
|
||||
|
||||
# Defaults to "phpredis".
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#db_username
|
||||
#REDIS_CLIENT="phpredis"
|
||||
|
||||
# Defaults to "tcp".
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#redis_scheme
|
||||
#REDIS_SCHEME="tcp"
|
||||
|
||||
# Defaults to "localhost".
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#redis_host
|
||||
REDIS_HOST="redis"
|
||||
|
||||
# Defaults to null.
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#redis_password
|
||||
#REDIS_PASSWORD=
|
||||
|
||||
# Defaults to 6379.
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#redis_port
|
||||
REDIS_PORT="6379"
|
||||
|
||||
# Defaults to 0.
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#redis_database
|
||||
#REDIS_DATABASE="0"
|
||||
|
||||
###############################################################
|
||||
# Cache settings
|
||||
###############################################################
|
||||
|
||||
# This option controls the default cache connection that gets used while using this caching library.
|
||||
#
|
||||
# This connection is used when another is not explicitly specified when executing a given caching function.
|
||||
#
|
||||
# Possible values:
|
||||
# - "apc"
|
||||
# - "array"
|
||||
# - "database"
|
||||
# - "file" (default)
|
||||
# - "memcached"
|
||||
# - "redis"
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#cache_driver
|
||||
CACHE_DRIVER="redis"
|
||||
|
||||
# Defaults to ${APP_NAME}_cache, or laravel_cache if no APP_NAME is set.
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#cache_prefix
|
||||
# CACHE_PREFIX="{APP_NAME}_cache"
|
||||
|
||||
###############################################################
|
||||
# Horizon settings
|
||||
###############################################################
|
||||
|
||||
# This prefix will be used when storing all Horizon data in Redis.
|
||||
#
|
||||
# You may modify the prefix when you are running multiple installations
|
||||
# of Horizon on the same server so that they don’t have problems.
|
||||
#
|
||||
# Defaults to "horizon-".
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#horizon_prefix
|
||||
#HORIZON_PREFIX="horizon-"
|
||||
|
||||
# Defaults to "false".
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#horizon_darkmode
|
||||
#HORIZON_DARKMODE="false"
|
||||
|
||||
# This value (in MB) describes the maximum amount of memory (in MB) the Horizon worker
|
||||
# may consume before it is terminated and restarted.
|
||||
#
|
||||
# You should set this value according to the resources available to your server.
|
||||
#
|
||||
# Defaults to "64".
|
||||
#HORIZON_MEMORY_LIMIT="64"
|
||||
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#horizon_balance_strategy
|
||||
#HORIZON_BALANCE_STRATEGY="auto"
|
||||
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#horizon_min_processes
|
||||
#HORIZON_MIN_PROCESSES="1"
|
||||
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#horizon_max_processes
|
||||
#HORIZON_MAX_PROCESSES="20"
|
||||
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#horizon_supervisor_memory
|
||||
#HORIZON_SUPERVISOR_MEMORY="64"
|
||||
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#horizon_supervisor_tries
|
||||
#HORIZON_SUPERVISOR_TRIES="3"
|
||||
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#horizon_supervisor_nice
|
||||
#HORIZON_SUPERVISOR_NICE="0"
|
||||
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#horizon_supervisor_timeout
|
||||
#HORIZON_SUPERVISOR_TIMEOUT="300"
|
||||
|
||||
###############################################################
|
||||
# Experiments
|
||||
###############################################################
|
||||
|
||||
# Text only posts (alpha).
|
||||
#
|
||||
# Defaults to "false".
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#exp_top
|
||||
#EXP_TOP="false"
|
||||
|
||||
# Poll statuses (alpha).
|
||||
#
|
||||
# Defaults to "false".
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#exp_polls
|
||||
#EXP_POLLS="false"
|
||||
|
||||
# Cached public timeline for larger instances (beta).
|
||||
#
|
||||
# Defaults to "false".
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#exp_cpt
|
||||
#EXP_CPT="false"
|
||||
|
||||
# Enforce Mastoapi Compatibility (alpha).
|
||||
#
|
||||
# Defaults to "true".
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#exp_emc
|
||||
EXP_EMC="true"
|
||||
|
||||
###############################################################
|
||||
# ActivityPub confguration
|
||||
###############################################################
|
||||
|
||||
# Defaults to "false".
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#activity_pub
|
||||
ACTIVITY_PUB="true"
|
||||
|
||||
# Defaults to "true".
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#ap_remote_follow
|
||||
#AP_REMOTE_FOLLOW="true"
|
||||
|
||||
# Defaults to "true".
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#ap_sharedinbox
|
||||
#AP_SHAREDINBOX="true"
|
||||
|
||||
# Defaults to "true".
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#ap_inbox
|
||||
#AP_INBOX="true"
|
||||
|
||||
# Defaults to "true".
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#ap_outbox
|
||||
#AP_OUTBOX="true"
|
||||
|
||||
###############################################################
|
||||
# Federation confguration
|
||||
###############################################################
|
||||
|
||||
# Defaults to "true".
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#atom_feeds
|
||||
#ATOM_FEEDS="true"
|
||||
|
||||
# Defaults to "true".
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#nodeinfo
|
||||
#NODEINFO="true"
|
||||
|
||||
# Defaults to "true".
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#webfinger
|
||||
#WEBFINGER="true"
|
||||
|
||||
###############################################################
|
||||
# Storage (cloud)
|
||||
###############################################################
|
||||
|
||||
# Store media on object storage like S3, Digital Ocean Spaces, Rackspace
|
||||
#
|
||||
# Defaults to "false".
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#pf_enable_cloud
|
||||
#PF_ENABLE_CLOUD="false"
|
||||
|
||||
# Many applications store files both locally and in the cloud.
|
||||
#
|
||||
# For this reason, you may specify a default “cloud” driver here.
|
||||
# This driver will be bound as the Cloud disk implementation in the container.
|
||||
#
|
||||
# Defaults to "s3".
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#filesystem_cloud
|
||||
#FILESYSTEM_CLOUD="s3"
|
||||
|
||||
# Defaults to true.
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#media_delete_local_after_cloud
|
||||
#MEDIA_DELETE_LOCAL_AFTER_CLOUD="true"
|
||||
|
||||
###############################################################
|
||||
# Storage (cloud) - S3
|
||||
###############################################################
|
||||
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#aws_access_key_id
|
||||
#AWS_ACCESS_KEY_ID=
|
||||
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#aws_secret_access_key
|
||||
#AWS_SECRET_ACCESS_KEY=
|
||||
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#aws_default_region
|
||||
#AWS_DEFAULT_REGION=
|
||||
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#aws_bucket
|
||||
#AWS_BUCKET=
|
||||
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#aws_url
|
||||
#AWS_URL=
|
||||
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#aws_endpoint
|
||||
#AWS_ENDPOINT=
|
||||
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#aws_use_path_style_endpoint
|
||||
#AWS_USE_PATH_STYLE_ENDPOINT="false"
|
||||
|
||||
###############################################################
|
||||
# COSTAR - Confirm Object Sentiment Transform and Reduce
|
||||
###############################################################
|
||||
|
||||
# Comma-separated list of domains to block.
|
||||
#
|
||||
# Defaults to null
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#cs_blocked_domains
|
||||
#CS_BLOCKED_DOMAINS=
|
||||
|
||||
# Comma-separated list of domains to add warnings.
|
||||
#
|
||||
# Defaults to null.
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#cs_cw_domains
|
||||
#CS_CW_DOMAINS=
|
||||
|
||||
# Comma-separated list of domains to remove from public timelines.
|
||||
#
|
||||
# Defaults to null.
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#cs_unlisted_domains
|
||||
#CS_UNLISTED_DOMAINS=
|
||||
|
||||
# Comma-separated list of keywords to block.
|
||||
#
|
||||
# Defaults to null.
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#cs_blocked_keywords
|
||||
#CS_BLOCKED_KEYWORDS=
|
||||
|
||||
# Comma-separated list of keywords to add warnings.
|
||||
#
|
||||
# Defaults to null.
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#cs_cw_keywords
|
||||
#CS_CW_KEYWORDS=
|
||||
|
||||
# Comma-separated list of keywords to remove from public timelines.
|
||||
#
|
||||
# Defaults to null.
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#cs_unlisted_keywords
|
||||
#CS_UNLISTED_KEYWORDS=
|
||||
|
||||
# Defaults to null.
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#cs_blocked_actor
|
||||
#CS_BLOCKED_ACTOR=
|
||||
|
||||
# Defaults to null.
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#cs_cw_actor
|
||||
#CS_CW_ACTOR=
|
||||
|
||||
# Defaults to null.
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#cs_unlisted_actor
|
||||
#CS_UNLISTED_ACTOR=
|
||||
|
||||
###############################################################
|
||||
# Media
|
||||
###############################################################
|
||||
|
||||
# Defaults to false.
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#media_exif_database
|
||||
MEDIA_EXIF_DATABASE="true"
|
||||
|
||||
# Pixelfed supports GD or ImageMagick to process images.
|
||||
#
|
||||
# Defaults to "gd".
|
||||
#
|
||||
# Possible values:
|
||||
# - "gd" (default)
|
||||
# - "imagick"
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#image_driver
|
||||
#IMAGE_DRIVER="gd"
|
||||
|
||||
###############################################################
|
||||
# Logging
|
||||
###############################################################
|
||||
|
||||
# Possible values:
|
||||
#
|
||||
# - "stack" (default)
|
||||
# - "single"
|
||||
# - "daily"
|
||||
# - "slack"
|
||||
# - "stderr"
|
||||
# - "syslog"
|
||||
# - "errorlog"
|
||||
# - "null"
|
||||
# - "emergency"
|
||||
# - "media"
|
||||
LOG_CHANNEL="stderr"
|
||||
|
||||
# Used by single, stderr and syslog.
|
||||
#
|
||||
# Defaults to "debug" for all of those.
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#log_level
|
||||
#LOG_LEVEL="debug"
|
||||
|
||||
# Used by stderr.
|
||||
#
|
||||
# Defaults to "".
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#log_stderr_formatter
|
||||
#LOG_STDERR_FORMATTER=
|
||||
|
||||
# Used by slack.
|
||||
#
|
||||
# Defaults to "".
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#log_slack_webhook_url
|
||||
#LOG_SLACK_WEBHOOK_URL=
|
||||
|
||||
###############################################################
|
||||
# Broadcasting settings
|
||||
###############################################################
|
||||
|
||||
# This option controls the default broadcaster that will be used by the framework when an event needs to be broadcast.
|
||||
#
|
||||
# Possible values:
|
||||
# - "pusher"
|
||||
# - "redis"
|
||||
# - "log"
|
||||
# - "null" (default)
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#broadcast_driver
|
||||
BROADCAST_DRIVER=redis
|
||||
|
||||
###############################################################
|
||||
# Other settings
|
||||
###############################################################
|
||||
|
||||
# Defaults to true.
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#restrict_html_types
|
||||
#RESTRICT_HTML_TYPES="true"
|
||||
|
||||
###############################################################
|
||||
# Queue configuration
|
||||
###############################################################
|
||||
|
||||
# Possible values:
|
||||
# - "sync" (default)
|
||||
# - "database"
|
||||
# - "beanstalkd"
|
||||
# - "sqs"
|
||||
# - "redis"
|
||||
# - "null"
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#queue_driver
|
||||
QUEUE_DRIVER="redis"
|
||||
|
||||
###############################################################
|
||||
# Queue (SQS) configuration
|
||||
###############################################################
|
||||
|
||||
# Defaults to "your-public-key".
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#sqs_key
|
||||
#SQS_KEY="your-public-key"
|
||||
|
||||
# Defaults to "your-secret-key".
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#sqs_secret
|
||||
#SQS_SECRET="your-secret-key"
|
||||
|
||||
# Defaults to "https://sqs.us-east-1.amazonaws.com/your-account-id".
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#sqs_prefix
|
||||
#SQS_PREFIX=
|
||||
|
||||
# Defaults to "your-queue-name".
|
||||
#
|
||||
# https://docs.pixelfed.org/technical-documentation/config/#sqs_queue
|
||||
#SQS_QUEUE="your-queue-name"
|
||||
|
||||
# Defaults to "us-east-1".
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#sqs_region
|
||||
#SQS_REGION="us-east-1"
|
||||
|
||||
###############################################################
|
||||
# Session configuration
|
||||
###############################################################
|
||||
|
||||
# This option controls the default session “driver” that will be used on requests.
|
||||
#
|
||||
# By default, we will use the lightweight native driver but you may specify any of the other wonderful drivers provided here.
|
||||
#
|
||||
# Possible values:
|
||||
# - "file"
|
||||
# - "cookie"
|
||||
# - "database" (default)
|
||||
# - "apc"
|
||||
# - "memcached"
|
||||
# - "redis"
|
||||
# - "array"
|
||||
SESSION_DRIVER="redis"
|
||||
|
||||
# Here you may specify the number of minutes that you wish the session to be allowed to remain idle before it expires.
|
||||
#
|
||||
# If you want them to immediately expire on the browser closing, set that option.
|
||||
#
|
||||
# Defaults to 86400.
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#session_lifetime
|
||||
#SESSION_LIFETIME="86400"
|
||||
|
||||
# Here you may change the domain of the cookie used to identify a session in your application.
|
||||
#
|
||||
# This will determine which domains the cookie is available to in your application.
|
||||
#
|
||||
# A sensible default has been set.
|
||||
#
|
||||
# Defaults to the value of APP_DOMAIN, or null.
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#session_domain
|
||||
#SESSION_DOMAIN="${APP_DOMAIN}"
|
||||
|
||||
###############################################################
|
||||
# Proxy configuration
|
||||
###############################################################
|
||||
|
||||
# Set trusted proxy IP addresses.
|
||||
#
|
||||
# Both IPv4 and IPv6 addresses are supported, along with CIDR notation.
|
||||
#
|
||||
# The “*” character is syntactic sugar within TrustedProxy to trust any
|
||||
# proxy that connects directly to your server, a requirement when you cannot
|
||||
# know the address of your proxy (e.g. if using Rackspace balancers).
|
||||
#
|
||||
# The “**” character is syntactic sugar within TrustedProxy to trust not just any
|
||||
# proxy that connects directly to your server, but also proxies that connect to those proxies,
|
||||
# and all the way back until you reach the original source IP. It will mean that
|
||||
# $request->getClientIp() always gets the originating client IP, no matter how many proxies
|
||||
# that client’s request has subsequently passed through.
|
||||
#
|
||||
# Defaults to "*".
|
||||
#
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#trust_proxies
|
||||
TRUST_PROXIES="*"
|
||||
|
||||
###############################################################
|
||||
# Passport configuration
|
||||
###############################################################
|
||||
#
|
||||
# Passport uses encryption keys while generating secure access tokens
|
||||
# for your application.
|
||||
#
|
||||
# By default, the keys are stored as local files but can be set via environment
|
||||
# variables when that is more convenient.
|
||||
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#passport_private_key
|
||||
#PASSPORT_PRIVATE_KEY=
|
||||
|
||||
# See: https://docs.pixelfed.org/technical-documentation/config/#passport_public_key
|
||||
#PASSPORT_PUBLIC_KEY=
|
||||
|
||||
###############################################################
|
||||
# PHP configuration
|
||||
###############################################################
|
||||
|
||||
# See: https://www.php.net/manual/en/ini.core.php#ini.memory-limit
|
||||
#PHP_MEMORY_LIMIT="128M"
|
||||
|
||||
###############################################################
|
||||
# MySQL DB container configuration (DO NOT CHANGE)
|
||||
###############################################################
|
||||
#
|
||||
# See "Environment Variables" at https://hub.docker.com/_/mysql
|
||||
|
||||
MYSQL_ROOT_PASSWORD="${DB_PASSWORD}"
|
||||
MYSQL_USER="${DB_USERNAME}"
|
||||
MYSQL_PASSWORD="${DB_PASSWORD}"
|
||||
MYSQL_DATABASE="${DB_DATABASE}"
|
||||
|
||||
###############################################################
|
||||
# MySQL (MariaDB) DB container configuration (DO NOT CHANGE)
|
||||
###############################################################
|
||||
#
|
||||
# See "Start a mariadb server instance with user, password and database" at https://hub.docker.com/_/mariadb
|
||||
|
||||
MARIADB_ROOT_PASSWORD="${DB_PASSWORD}"
|
||||
MARIADB_USER="${DB_USERNAME}"
|
||||
MARIADB_PASSWORD="${DB_PASSWORD}"
|
||||
MARIADB_DATABASE="${DB_DATABASE}"
|
||||
|
||||
###############################################################
|
||||
# PostgreSQL DB container configuration (DO NOT CHANGE)
|
||||
###############################################################
|
||||
#
|
||||
# See "Environment Variables" at https://hub.docker.com/_/postgres
|
||||
|
||||
POSTGRES_USER="${DB_USERNAME}"
|
||||
POSTGRES_PASSWORD="${DB_PASSWORD}"
|
||||
POSTGRES_DB="${DB_DATABASE}"
|
||||
|
||||
###############################################################
|
||||
# Docker Specific configuration
|
||||
###############################################################
|
||||
|
||||
# Image to pull the Pixelfed Docker images from
|
||||
#
|
||||
# Possible values:
|
||||
# - "ghcr.io/pixelfed/pixelfed" to pull from GitHub
|
||||
# - "pixelfed/pixelfed" to pull from DockerHub
|
||||
#
|
||||
DOCKER_IMAGE="ghcr.io/jippi/pixelfed"
|
||||
|
||||
# Port that Redis will listen on *outside* the container (e.g. the host machine)
|
||||
DOCKER_REDIS_PORT_EXTERNAL="${REDIS_PORT}"
|
||||
|
||||
# Port that the database will listen on *outside* the container (e.g. the host machine)
|
||||
#
|
||||
# Use "3306" for MySQL/MariaDB and "5432" for PostgreeSQL
|
||||
DOCKER_DB_PORT_EXTERNAL="${DB_PORT}"
|
||||
|
||||
# Port that the web will listen on *outside* the container (e.g. the host machine)
|
||||
DOCKER_WEB_PORT_EXTERNAL="8080"
|
|
@ -1,34 +0,0 @@
|
|||
# Pixelfed + Docker + Docker Compose
|
||||
|
||||
## Prerequisites
|
||||
|
||||
* One of the `docker-compose.yml` files in this directory
|
||||
* A copy of the `example.env` file named `.env` next to `docker-compose.yml`
|
||||
|
||||
Your folder should look like this
|
||||
|
||||
```plain
|
||||
.
|
||||
├── .env
|
||||
└── docker-compose.yml
|
||||
```
|
||||
|
||||
## Modifying your settings (`.env` file)
|
||||
|
||||
Minimum required settings to change is:
|
||||
|
||||
* `APP_NAME`
|
||||
* `APP_DOMAIN`
|
||||
* `DB_PASSWORD`
|
||||
|
||||
See the [`Configure environment variables`](https://docs.pixelfed.org/running-pixelfed/installation/#app-variables) documentation for details!
|
||||
|
||||
You need to mainly focus on following sections
|
||||
|
||||
* [App variables](https://docs.pixelfed.org/running-pixelfed/installation/#app-variables)
|
||||
* [Email variables](https://docs.pixelfed.org/running-pixelfed/installation/#email-variables)
|
||||
|
||||
Since the following things are configured for you out of the box:
|
||||
|
||||
* `Redis`
|
||||
* `Database` (except for `DB_PASSWORD`)
|
|
@ -1,67 +0,0 @@
|
|||
---
|
||||
version: "3"
|
||||
|
||||
services:
|
||||
web:
|
||||
image: "${DOCKER_IMAGE}:${DOCKER_TAG}"
|
||||
# build:
|
||||
# context: ../..
|
||||
# dockerfile: contrib/docker/Dockerfile
|
||||
# target: apache-runtime
|
||||
restart: unless-stopped
|
||||
env_file:
|
||||
- "./.env"
|
||||
volumes:
|
||||
- "./.env:/var/www/.env"
|
||||
- "${DOCKER_DATA_ROOT}/pixelfed/cache:/var/www/bootstrap/cache"
|
||||
- "${DOCKER_DATA_ROOT}/pixelfed/storage:/var/www/storage"
|
||||
ports:
|
||||
- "${DOCKER_WEB_PORT_EXTERNAL}:80"
|
||||
depends_on:
|
||||
- db
|
||||
- redis
|
||||
|
||||
worker:
|
||||
image: "${DOCKER_IMAGE}:${DOCKER_TAG}"
|
||||
# build:
|
||||
# context: ../..
|
||||
# dockerfile: contrib/docker/Dockerfile
|
||||
# target: apache-runtime
|
||||
command: gosu www-data php artisan horizon
|
||||
restart: unless-stopped
|
||||
env_file:
|
||||
- "./.env"
|
||||
volumes:
|
||||
- "./.env:/var/www/.env"
|
||||
- "${DOCKER_DATA_ROOT}/pixelfed/cache:/var/www/bootstrap/cache"
|
||||
- "${DOCKER_DATA_ROOT}/pixelfed/storage:/var/www/storage"
|
||||
depends_on:
|
||||
- db
|
||||
- redis
|
||||
|
||||
db:
|
||||
image: mariadb:11.2
|
||||
command: --default-authentication-plugin=mysql_native_password
|
||||
restart: unless-stopped
|
||||
env_file:
|
||||
- "./.env"
|
||||
volumes:
|
||||
- "${DOCKER_DATA_ROOT}/db:/var/lib/mysql"
|
||||
ports:
|
||||
- "${DOCKER_DB_PORT_EXTERNAL}:3306"
|
||||
|
||||
redis:
|
||||
image: redis:7
|
||||
restart: unless-stopped
|
||||
env_file:
|
||||
- "./.env"
|
||||
volumes:
|
||||
- "${DOCKER_CONFIG_ROOT}/redis:/etc/redis"
|
||||
- "${DOCKER_DATA_ROOT}/redis:/data"
|
||||
ports:
|
||||
- "${DOCKER_REDIS_PORT_EXTERNAL}:6399"
|
||||
healthcheck:
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 2
|
||||
test: ["CMD", "redis-cli", "-p", "6399", "ping"]
|
|
@ -1,82 +1,59 @@
|
|||
---
|
||||
version: '3'
|
||||
version: "3"
|
||||
|
||||
# In order to set configuration, please use a .env file in
|
||||
# your compose project directory (the same directory as your
|
||||
# docker-compose.yml), and set database options, application
|
||||
# name, key, and other settings there.
|
||||
# A list of available settings is available in .env.example
|
||||
#
|
||||
# The services should scale properly across a swarm cluster
|
||||
# if the volumes are properly shared between cluster members.
|
||||
###############################################################
|
||||
# Please see docker/README.md for usage information
|
||||
###############################################################
|
||||
|
||||
services:
|
||||
## App and Worker
|
||||
app:
|
||||
# Comment to use dockerhub image
|
||||
image: pixelfed/pixelfed:latest
|
||||
web:
|
||||
image: "${DOCKER_IMAGE}:${DOCKER_TAG}"
|
||||
# build:
|
||||
# target: apache-runtime
|
||||
restart: unless-stopped
|
||||
env_file:
|
||||
- .env.docker
|
||||
volumes:
|
||||
- app-storage:/var/www/storage
|
||||
- app-bootstrap:/var/www/bootstrap
|
||||
- "./.env.docker:/var/www/.env"
|
||||
networks:
|
||||
- external
|
||||
- internal
|
||||
- "./.env:/var/www/.env"
|
||||
- "${DOCKER_DATA_ROOT}/pixelfed/cache:/var/www/bootstrap/cache"
|
||||
- "${DOCKER_DATA_ROOT}/pixelfed/storage:/var/www/storage"
|
||||
ports:
|
||||
- "8080:80"
|
||||
- "${DOCKER_WEB_PORT_EXTERNAL}:80"
|
||||
depends_on:
|
||||
- db
|
||||
- redis
|
||||
|
||||
worker:
|
||||
image: pixelfed/pixelfed:latest
|
||||
restart: unless-stopped
|
||||
env_file:
|
||||
- .env.docker
|
||||
volumes:
|
||||
- app-storage:/var/www/storage
|
||||
- app-bootstrap:/var/www/bootstrap
|
||||
networks:
|
||||
- external
|
||||
- internal
|
||||
image: "${DOCKER_IMAGE}:${DOCKER_TAG}"
|
||||
# build:
|
||||
# target: apache-runtime
|
||||
command: gosu www-data php artisan horizon
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- "./.env:/var/www/.env"
|
||||
- "${DOCKER_DATA_ROOT}/pixelfed/cache:/var/www/bootstrap/cache"
|
||||
- "${DOCKER_DATA_ROOT}/pixelfed/storage:/var/www/storage"
|
||||
depends_on:
|
||||
- db
|
||||
- redis
|
||||
|
||||
## DB and Cache
|
||||
db:
|
||||
image: mariadb:jammy
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- internal
|
||||
image: mariadb:11.2
|
||||
command: --default-authentication-plugin=mysql_native_password
|
||||
env_file:
|
||||
- .env.docker
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- "db-data:/var/lib/mysql"
|
||||
- "${DOCKER_DATA_ROOT}/db:/var/lib/mysql"
|
||||
ports:
|
||||
- "${DOCKER_DB_PORT_EXTERNAL}:3306"
|
||||
|
||||
redis:
|
||||
image: redis:5-alpine
|
||||
image: redis:7
|
||||
restart: unless-stopped
|
||||
env_file:
|
||||
- .env.docker
|
||||
volumes:
|
||||
- "redis-data:/data"
|
||||
networks:
|
||||
- internal
|
||||
|
||||
volumes:
|
||||
db-data:
|
||||
redis-data:
|
||||
app-storage:
|
||||
app-bootstrap:
|
||||
|
||||
networks:
|
||||
internal:
|
||||
internal: true
|
||||
external:
|
||||
driver: bridge
|
||||
- "${DOCKER_CONFIG_ROOT}/redis:/etc/redis"
|
||||
- "${DOCKER_DATA_ROOT}/redis:/data"
|
||||
ports:
|
||||
- "${DOCKER_REDIS_PORT_EXTERNAL}:6399"
|
||||
healthcheck:
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 2
|
||||
test: ["CMD", "redis-cli", "-p", "6399", "ping"]
|
||||
|
|
|
@ -1,4 +1,37 @@
|
|||
# Pixelfed Docker images
|
||||
# Pixelfed + Docker + Docker Compose
|
||||
|
||||
## Prerequisites
|
||||
|
||||
* One of the `docker-compose.yml` files in this directory
|
||||
* A copy of the `example.env` file named `.env` next to `docker-compose.yml`
|
||||
|
||||
Your folder should look like this
|
||||
|
||||
```plain
|
||||
.
|
||||
├── .env
|
||||
└── docker-compose.yml
|
||||
```
|
||||
|
||||
## Modifying your settings (`.env` file)
|
||||
|
||||
Minimum required settings to change is:
|
||||
|
||||
* `APP_NAME`
|
||||
* `APP_DOMAIN`
|
||||
* `DB_PASSWORD`
|
||||
|
||||
See the [`Configure environment variables`](https://docs.pixelfed.org/running-pixelfed/installation/#app-variables) documentation for details!
|
||||
|
||||
You need to mainly focus on following sections
|
||||
|
||||
* [App variables](https://docs.pixelfed.org/running-pixelfed/installation/#app-variables)
|
||||
* [Email variables](https://docs.pixelfed.org/running-pixelfed/installation/#email-variables)
|
||||
|
||||
Since the following things are configured for you out of the box:
|
||||
|
||||
* `Redis`
|
||||
* `Database` (except for `DB_PASSWORD`)
|
||||
|
||||
## Runtimes
|
||||
|
Loading…
Reference in a new issue