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 " mail__options__service: SMTP mail__options__host: smtp mail__options__port: 25