1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- ---
- 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:
- context: .
- dockerfile: contrib/docker/Dockerfile.apache
- #dockerfile: contrib/docker/Dockerfile.fpm
- 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"
- - "./.env:/var/www/.env"
- networks:
- - external
- - internal
- worker: # Comment this whole block if HORIZON_EMBED is true.
- # Comment to use dockerhub image
- build:
- context: .
- dockerfile: contrib/docker/Dockerfile.apache
- #dockerfile: contrib/docker/Dockerfile.fpm
- 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
- command: --default-authentication-plugin=mysql_native_password
- 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
|