space/docker-compose.yml

178 lines
4.5 KiB
YAML

version: '3'
volumes:
matomo:
photothumbs:
services:
wallabag:
image: wallabag/wallabag
environment:
- POSTGRES_PASSWORD=${PG_PASSWORD}
- POSTGRES_USER=postgres
- SYMFONY__ENV__DATABASE_DRIVER=pdo_pgsql
- SYMFONY__ENV__DATABASE_DRIVER_CLASS=Wallabag\CoreBundle\Doctrine\DBAL\Driver\CustomPostgreSQLDriver
- SYMFONY__ENV__DATABASE_HOST=db
- SYMFONY__ENV__DATABASE_PORT=5432
- SYMFONY__ENV__DATABASE_NAME=wallabag
- SYMFONY__ENV__DATABASE_USER=wallabag
- SYMFONY__ENV__DATABASE_PASSWORD=${WB_PASSWORD}
- SYMFONY__ENV__MAILER_HOST=smtp
- SYMFONY__ENV__MAILER_USER=~
- SYMFONY__ENV__MAILER_PASSWORD=~
- SYMFONY__ENV__FROM_EMAIL=wallabag@space.abhinavsarkar.net
- SYMFONY__ENV__DOMAIN_NAME=https://bookmarks.abhinavsarkar.net
depends_on:
- db
- smtp
volumes:
- ./wallabag/images:/var/www/wallabag/web/assets/images
db:
image: postgres:10.5
restart: always
environment:
POSTGRES_PASSWORD: ${PG_PASSWORD}
volumes:
- ./postgres-data:/var/lib/postgresql/data
mariadb:
image: mariadb:10.3
environment:
MYSQL_ROOT_PASSWORD: ${MR_PASSWORD}
volumes:
- ./mariadb-data:/var/lib/mysql
nginx:
image: nginx:1.17
environment:
- NGINX_HOST=space.abhinavsarkar.net
- NGINX_PORT=80
depends_on:
- wallabag
- gitea
ports:
- "80:80"
- "443:443"
volumes:
- ./nginx-conf:/etc/nginx/conf.d:ro
- ./nginx-log:/var/log/nginx
- ./certs:/etc/nginx/certs:ro
- matomo:/var/www/html
smtp:
build:
context: ./smtp
environment:
MAILNAME: space.abhinavsarkar.net
pihole:
image: pihole/pihole:4.3.2-1
environment:
ServerIP: ${PH_SERVER_IP}
WEBPASSWORD: ${PH_PASSWORD}
DNS1: 1.1.1.1
DNS2: 1.0.0.1
VIRTUAL_HOST: pihole.abhinavsarkar.net
TZ: "Asia/Kolkata"
ports:
- "53:53/tcp"
- "53:53/udp"
restart: unless-stopped
volumes:
- ./pihole-data/pihole:/etc/pihole
- ./pihole-data/dnsmasq:/etc/dnsmasq.d
- ${PWD}/pihole-log/pihole.log:/var/log/pihole.log
dns:
- 127.0.0.1
- 1.1.1.1
gitea:
image: gitea/gitea:1.7.6
environment:
APP_NAME: "Code dot abhinavsarkar.net"
RUN_MODE: prod
SSH_DOMAIN: code.abhinavsarkar.net
SSH_PORT: 222
DB_TYPE: postgres
DB_HOST: "db:5432"
DB_USER: postgres
DB_PASSWD: ${PG_PASSWORD}
INSTALL_LOCK: "false"
SECRET_KEY: ${GT_SECRET_KEY}
restart: always
volumes:
- ./gitea-data:/data
ports:
- "222:22"
depends_on:
- db
site:
image: abhin4v/abhinavsarkar.net:latest
volumes:
- /home/abhinav/space/site-data/photos:/opt/abhinavsarkar.net/photos/images
- photothumbs:/opt/abhinavsarkar.net/photos/thumbs
hooks:
build:
context: ./webhooks
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- .:/opt/space
matomo:
image: matomo:3.12-fpm
volumes:
- ./matomo-config:/var/www/html/config
- matomo:/var/www/html
portainer:
image: portainer/portainer
command: -H unix:///var/run/docker.sock
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./portainer-data:/data
drone-server:
image: drone/drone:0.8
volumes:
- ./drone-data:/var/lib/drone
restart: always
environment:
- DRONE_OPEN=true
- DRONE_GITEA=true
- DRONE_GITEA_URL=https://code.abhinavsarkar.net
- DRONE_HOST=https://drone.abhinavsarkar.net
- DRONE_SECRET=${DRONE_SECRET}
- DRONE_ADMIN=abhin4v
drone-agent:
image: drone/agent:0.8
command: agent
restart: always
depends_on:
- drone-server
volumes:
- /var/run/docker.sock:/var/run/docker.sock
environment:
- DRONE_SERVER=drone-server:9000
- DRONE_SECRET=${DRONE_SECRET}
arpita_site:
image: ghost:2.21-alpine
restart: always
volumes:
- ./ghost/arpita_site:/var/lib/ghost/content
environment:
# see https://docs.ghost.org/docs/config#section-running-ghost-with-config-env-variables
url: https://arpita.site
database__client: mysql
database__connection__host: mariadb
database__connection__user: root
database__connection__password: ${MR_PASSWORD}
database__connection__database: arpita_site
mail__transport: SMTP
mail__from: "Server <ghost@arpita.site>"
mail__options__service: SMTP
mail__options__host: smtp
mail__options__port: 25