You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
pixelfed/docker-compose.yml

121 lines
2.9 KiB
YAML

services:
## MariaDB and Redis (optional)
db:
image: mariadb:11
container_name: pixelfed-db
restart: unless-stopped
env_file:
- .env
environment:
MARIADB_DATABASE: ${DB_DATABASE}
MARIADB_USER: ${DB_USERNAME}
MARIADB_PASSWORD: ${DB_PASSWORD}
MARIADB_ROOT_PASSWORD: ${DB_ROOT_PASSWORD}
volumes:
- ./mariadb-11-data:/var/lib/mysql
networks:
- pixelfed-network
redis:
image: redis:7-alpine
container_name: pixelfed-redis
restart: unless-stopped
command: redis-server --appendonly yes
volumes:
- ./redis-data:/data
networks:
- pixelfed-network
## Pixelfed containers - App (Web/API), Horizon Queue, Scheduled task.
pixelfed:
build:
context: .
dockerfile: Dockerfile
container_name: pixelfed-app
2 years ago
restart: unless-stopped
2 years ago
ports:
- "8080:8080"
env_file:
- .env
2 years ago
environment:
3 days ago
# SSL Configuration (handled by reverse proxy)
SSL_MODE: "off"
# PHP Configuration
PHP_POST_MAX_SIZE: "500M"
PHP_UPLOAD_MAX_FILE_SIZE: "500M"
PHP_OPCACHE_ENABLE: "1"
# Laravel Auto-run Configuration
AUTORUN_ENABLED: "true"
AUTORUN_LARAVEL_MIGRATION: "true"
3 days ago
AUTORUN_LARAVEL_MIGRATION_ISOLATION: "true"
AUTORUN_LARAVEL_STORAGE_LINK: "true"
AUTORUN_LARAVEL_EVENT_CACHE: "true"
AUTORUN_LARAVEL_ROUTE_CACHE: "true"
AUTORUN_LARAVEL_VIEW_CACHE: "true"
3 days ago
AUTORUN_LARAVEL_CONFIG_CACHE: "true"
volumes:
- ./storage:/var/www/html/storage
- ./bootstrap/cache:/var/www/html/bootstrap/cache
6 years ago
depends_on:
- db
6 years ago
- redis
networks:
- pixelfed-network
horizon:
build:
context: .
dockerfile: Dockerfile
container_name: pixelfed-horizon
restart: unless-stopped
command: ["php", "/var/www/html/artisan", "horizon"]
env_file:
- .env
2 years ago
environment:
AUTORUN_ENABLED: "false"
PHP_POST_MAX_SIZE: "500M"
PHP_UPLOAD_MAX_FILE_SIZE: "500M"
PHP_OPCACHE_ENABLE: "1"
volumes:
- ./storage:/var/www/html/storage
- ./bootstrap/cache:/var/www/html/bootstrap/cache
depends_on:
- db
- redis
networks:
- pixelfed-network
scheduler:
build:
context: .
dockerfile: Dockerfile
container_name: pixelfed-scheduler
restart: unless-stopped
command: ["php", "/var/www/html/artisan", "schedule:work"]
stop_signal: SIGTERM
env_file:
- .env
environment:
AUTORUN_ENABLED: "false"
PHP_POST_MAX_SIZE: "500M"
PHP_UPLOAD_MAX_FILE_SIZE: "500M"
PHP_OPCACHE_ENABLE: "1"
volumes:
- ./storage:/var/www/html/storage
- ./bootstrap/cache:/var/www/html/bootstrap/cache
depends_on:
- db
- redis
healthcheck:
test: ["CMD", "healthcheck-schedule"]
start_period: 10s
networks:
- pixelfed-network
networks:
pixelfed-network:
driver: bridge