2018-05-20 13:02:29 +00:00
|
|
|
---
|
|
|
|
version: '3'
|
2018-06-17 08:20:21 +00:00
|
|
|
|
|
|
|
# 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.
|
|
|
|
|
2018-05-20 13:02:29 +00:00
|
|
|
services:
|
2018-05-31 19:43:14 +00:00
|
|
|
|
2018-06-17 08:20:21 +00:00
|
|
|
app:
|
2019-04-22 02:40:32 +00:00
|
|
|
# Comment to use dockerhub image
|
2019-11-01 17:59:13 +00:00
|
|
|
build:
|
|
|
|
context: .
|
|
|
|
dockerfile: contrib/docker/Dockerfile.apache
|
|
|
|
#dockerfile: contrib/docker/Dockerfile.fpm
|
2018-05-31 19:43:14 +00:00
|
|
|
image: pixelfed
|
2019-06-03 02:53:13 +00:00
|
|
|
restart: unless-stopped
|
2019-04-24 14:08:45 +00:00
|
|
|
## If you have a traefik running, uncomment this to expose Pixelfed
|
2018-06-17 08:20:21 +00:00
|
|
|
# labels:
|
|
|
|
# - traefik.enable=true
|
|
|
|
# - traefik.frontend.rule=Host:your.url
|
|
|
|
# - traefik.port=80
|
2019-04-24 14:08:45 +00:00
|
|
|
## If you have a standard reverse proxy, uncommit this to expose Pixelfed
|
|
|
|
# ports:
|
|
|
|
# - "127.0.0.1:8080:80"
|
2018-06-17 08:20:21 +00:00
|
|
|
env_file:
|
|
|
|
- ./.env
|
2018-05-20 13:02:29 +00:00
|
|
|
volumes:
|
2019-04-16 06:18:40 +00:00
|
|
|
- "app-storage:/var/www/storage"
|
|
|
|
- "app-bootstrap:/var/www/bootstrap"
|
2018-05-31 19:43:14 +00:00
|
|
|
networks:
|
2018-06-16 20:31:16 +00:00
|
|
|
- external
|
2018-05-31 19:43:14 +00:00
|
|
|
- internal
|
|
|
|
|
2019-04-24 14:26:13 +00:00
|
|
|
worker: # Comment this whole block if HORIZON_EMBED is true.
|
2019-04-22 02:40:32 +00:00
|
|
|
# Comment to use dockerhub image
|
2019-11-01 17:59:13 +00:00
|
|
|
build:
|
|
|
|
context: .
|
|
|
|
dockerfile: contrib/docker/Dockerfile.apache
|
|
|
|
#dockerfile: contrib/docker/Dockerfile.fpm
|
2019-04-22 02:40:32 +00:00
|
|
|
image: pixelfed
|
2019-06-03 02:53:13 +00:00
|
|
|
restart: unless-stopped
|
2019-04-22 02:40:32 +00:00
|
|
|
env_file:
|
|
|
|
- ./.env
|
|
|
|
volumes:
|
|
|
|
- "app-storage:/var/www/storage"
|
|
|
|
- "app-bootstrap:/var/www/bootstrap"
|
|
|
|
networks:
|
2019-04-24 14:08:45 +00:00
|
|
|
- external # Required for ActivityPub
|
2019-04-22 02:40:32 +00:00
|
|
|
- internal
|
|
|
|
command: gosu www-data php artisan horizon
|
2018-06-17 08:20:21 +00:00
|
|
|
|
|
|
|
db:
|
2019-04-26 06:31:06 +00:00
|
|
|
image: mysql:8.0
|
2019-06-03 02:53:13 +00:00
|
|
|
restart: unless-stopped
|
2018-05-31 19:43:14 +00:00
|
|
|
networks:
|
|
|
|
- internal
|
2019-11-01 18:01:40 +00:00
|
|
|
command: --default-authentication-plugin=mysql_native_password
|
2018-05-20 13:02:29 +00:00
|
|
|
environment:
|
|
|
|
- MYSQL_DATABASE=pixelfed
|
2018-06-17 08:20:21 +00:00
|
|
|
- MYSQL_USER=${DB_USERNAME}
|
|
|
|
- MYSQL_PASSWORD=${DB_PASSWORD}
|
|
|
|
- MYSQL_RANDOM_ROOT_PASSWORD=true
|
2018-05-20 13:02:29 +00:00
|
|
|
volumes:
|
2018-06-17 08:20:21 +00:00
|
|
|
- "db-data:/var/lib/mysql"
|
2018-05-31 19:43:14 +00:00
|
|
|
|
2018-05-20 13:02:29 +00:00
|
|
|
redis:
|
2019-04-18 14:23:47 +00:00
|
|
|
image: redis:5-alpine
|
2019-06-03 02:53:13 +00:00
|
|
|
restart: unless-stopped
|
2019-11-01 18:55:04 +00:00
|
|
|
ports:
|
|
|
|
- "6379:6379"
|
2018-05-20 13:02:29 +00:00
|
|
|
volumes:
|
2018-05-31 19:43:14 +00:00
|
|
|
- "redis-data:/data"
|
|
|
|
networks:
|
|
|
|
- internal
|
|
|
|
|
2018-06-17 08:20:21 +00:00
|
|
|
# Adjust your volume data in order to store data where you wish
|
2018-05-31 19:43:14 +00:00
|
|
|
volumes:
|
|
|
|
redis-data:
|
2018-06-17 08:20:21 +00:00
|
|
|
db-data:
|
|
|
|
app-storage:
|
2019-04-16 06:18:40 +00:00
|
|
|
app-bootstrap:
|
2018-05-31 19:43:14 +00:00
|
|
|
|
|
|
|
networks:
|
|
|
|
internal:
|
|
|
|
internal: true
|
|
|
|
external:
|
|
|
|
driver: bridge
|