services: nginx: build: context: ./data/dockerfiles/nginx dockerfile: Dockerfile ports: - "${NGINX_PORT}:80" - "${NGINX_SSL_PORT}:443" volumes: - ./data/nginx/conf.d:/etc/nginx/conf.d - ./data/nginx/ssl:/etc/nginx/ssl - ./data/pixelfed:/var/www/pixelfed depends_on: - php-fpm-pixelfed networks: - pixelfed-network php-fpm-pixelfed: build: context: ./data/dockerfiles/phpfpm dockerfile: Dockerfile volumes: - ./data/pixelfed:/var/www/pixelfed environment: - APP_NAME=${APP_NAME} - APP_ENV=${APP_ENV} - APP_DEBUG=${APP_DEBUG} - APP_URL=${APP_URL} - APP_KEY=${APP_KEY} - DB_HOST=${DB_HOST} - DB_PORT=${DB_PORT} - DB_DATABASE=${DB_DATABASE} - DB_USERNAME=${DB_USERNAME} - DB_PASSWORD=${DB_PASSWORD} - REDIS_HOST=${REDIS_HOST} - REDIS_PASSWORD=${REDIS_PASSWORD} - REDIS_PORT=${REDIS_PORT} - MAIL_MAILER=${MAIL_MAILER} - MAIL_HOST=${MAIL_HOST} - MAIL_PORT=${MAIL_PORT} - MAIL_USERNAME=${MAIL_USERNAME} - MAIL_PASSWORD=${MAIL_PASSWORD} - MAIL_ENCRYPTION=${MAIL_ENCRYPTION} - MAIL_FROM_ADDRESS=${MAIL_FROM_ADDRESS} - MAIL_FROM_NAME=${MAIL_FROM_NAME} - ACTIVITY_PUB=${ACTIVITY_PUB} - AP_REMOTE_FOLLOW=${AP_REMOTE_FOLLOW} - IMAGE_DRIVER=${IMAGE_DRIVER} depends_on: - mariadb - redis networks: - pixelfed-network mariadb: image: mariadb:${MARIADB_VERSION} environment: - MYSQL_ROOT_PASSWORD=${DB_ROOT_PASSWORD} - MYSQL_DATABASE=${DB_DATABASE} - MYSQL_USER=${DB_USERNAME} - MYSQL_PASSWORD=${DB_PASSWORD} volumes: - ./data/mariadb:/var/lib/mysql ports: - "${DB_PORT}:3306" networks: - pixelfed-network redis: image: redis:${REDIS_VERSION} command: > sh -c "if [ -n '${REDIS_PASSWORD}' ]; then redis-server --requirepass ${REDIS_PASSWORD} else redis-server fi" ports: - "${REDIS_PORT}:6379" volumes: - ./data/redis:/data networks: - pixelfed-network networks: pixelfed-network: driver: bridge