mirror of https://github.com/pixelfed/pixelfed
				
				
				
			
			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.
		
		
		
		
		
			
		
			
				
	
	
		
			85 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			YAML
		
	
			
		
		
	
	
			85 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			YAML
		
	
---
 | 
						|
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.
 | 
						|
 | 
						|
services:
 | 
						|
 | 
						|
  app:
 | 
						|
    # Comment to use dockerhub image
 | 
						|
    build: .
 | 
						|
    image: pixelfed
 | 
						|
    restart: unless-stopped
 | 
						|
    ## If you have a traefik running, uncomment this to expose Pixelfed
 | 
						|
    # labels:
 | 
						|
    #   - traefik.enable=true
 | 
						|
    #   - traefik.frontend.rule=Host:your.url
 | 
						|
    #   - traefik.port=80
 | 
						|
    ## If you have a standard reverse proxy, uncommit this to expose Pixelfed
 | 
						|
    # ports:
 | 
						|
    #   - "127.0.0.1:8080:80"
 | 
						|
    env_file:
 | 
						|
      - ./.env
 | 
						|
    volumes:
 | 
						|
      - "app-storage:/var/www/storage"
 | 
						|
      - "app-bootstrap:/var/www/bootstrap"
 | 
						|
    networks:
 | 
						|
      - external
 | 
						|
      - internal
 | 
						|
 | 
						|
  worker:  # Comment this whole block if HORIZON_EMBED is true.
 | 
						|
    # Comment to use dockerhub image
 | 
						|
    build: .
 | 
						|
    image: pixelfed
 | 
						|
    restart: unless-stopped
 | 
						|
    env_file:
 | 
						|
      - ./.env
 | 
						|
    volumes:
 | 
						|
      - "app-storage:/var/www/storage"
 | 
						|
      - "app-bootstrap:/var/www/bootstrap"
 | 
						|
    networks:
 | 
						|
      - external  # Required for ActivityPub
 | 
						|
      - internal
 | 
						|
    command: gosu www-data php artisan horizon
 | 
						|
    
 | 
						|
  db:
 | 
						|
    image: mysql:8.0
 | 
						|
    restart: unless-stopped
 | 
						|
    networks:
 | 
						|
      - internal
 | 
						|
    environment:
 | 
						|
      - MYSQL_DATABASE=pixelfed
 | 
						|
      - MYSQL_USER=${DB_USERNAME}
 | 
						|
      - MYSQL_PASSWORD=${DB_PASSWORD}
 | 
						|
      - MYSQL_RANDOM_ROOT_PASSWORD=true
 | 
						|
    volumes:
 | 
						|
      - "db-data:/var/lib/mysql"
 | 
						|
 | 
						|
  redis:
 | 
						|
    image: redis:5-alpine
 | 
						|
    restart: unless-stopped
 | 
						|
    volumes:
 | 
						|
      - "redis-data:/data"
 | 
						|
    networks:
 | 
						|
      - internal
 | 
						|
 | 
						|
# Adjust your volume data in order to store data where you wish
 | 
						|
volumes:
 | 
						|
  redis-data:
 | 
						|
  db-data:
 | 
						|
  app-storage:
 | 
						|
  app-bootstrap:  
 | 
						|
 | 
						|
networks:
 | 
						|
  internal:
 | 
						|
    internal: true
 | 
						|
  external:
 | 
						|
    driver: bridge
 |