version: '2.2' services: searx: restart: always image: searxng/searxng volumes: - /srv/searx/config:/etc/searxng environment: - LETSENCRYPT_HOST=search.faulty.nl - VIRTUAL_HOST=search.faulty.nl - BASE_URL=https://search.faulty.nl networks: - proxy flexo: # arch repo mirror image: nroi/flexo:latest restart: unless-stopped environment: - LETSENCRYPT_HOST=arch.neo.faulty.nl - VIRTUAL_HOST=arch.neo.faulty.nl - VIRTUAL_PORT=7878 volumes: - /srv/flexo/config:/etc/flexo networks: - proxy syncthing: image: lscr.io/linuxserver/syncthing:latest container_name: syncthing environment: - PUID=0 - PGID=0 - TZ=Europe/Amsterdam - LETSENCRYPT_HOST=st.faulty.nl - VIRTUAL_HOST=st.faulty.nl - VIRTUAL_PORT=8384 volumes: - /srv/syncthing/config:/config - /srv/syncthing/data:/local - /mnt/stash:/remote ports: - 22000:22000/tcp - 22000:22000/udp - 21027:21027/udp restart: unless-stopped networks: - proxy backups: build: context: ./repos/backups dockerfile: Containerfile user: root environment: - PYTHONUNBUFFERED=1 - IMMEDIATE=1 volumes: - /docker/files/backups:/config:ro # an exception to keep stuff up to date. - /srv:/services:ro - /srv/backups/data:/local:rw - /mnt/backups/neo:/remote:rw librespeed: image: adolfintel/speedtest:latest environment: - TITLE=FaultySpeed - MODE=standalone - LETSENCRYPT_HOST=neo.faulty.nl - VIRTUAL_HOST=neo.faulty.nl - VIRTUAL_PATH=/ - VIRTUAL_DEST=/ networks: - proxy transfersh: image: dutchcoders/transfer.sh:latest command: --provider local --basedir /tmp/ --purge-interval 360 --max-upload-size 524288 --rate-limit 20 environment: - LETSENCRYPT_HOST=share.neo.faulty.nl - VIRTUAL_HOST=share.neo.faulty.nl - VIRTUAL_PORT=8080 networks: - proxy dendrite: image: matrixdotorg/dentrite-monolith:latest ports: - 8008:8008 - 8448:8448 environment: - SYNAPSE_CONFIG_DIR=/config command: [ "--tls-cert=server.crt", "--tls-key=server.pem" ] volumes: - /srv/dentrite/config:/etc/dentrite - /srv/dentrite/data:/var/dentrite/media depends_on: - dendrite-pg networks: - internal dendrite-pg: image: postgres:14 environment: - POSTGRES_USER=dendrite - POSTGRES_PASSWORD=dendrite healthcheck: test: ["CMD-SHELL", "pg_isready -U dendrite"] interval: 5s timeout: 5s retries: 5 volumes: - /srv/dentrite/other/database:/var/lib/postgresql/data networks: - internal grafana: image: grafana/grafana-oss:latest environment: - LETSENCRYPT_HOST=grafana.neo.faulty.nl - VIRTUAL_HOST=grafana.neo.faulty.nl - VIRTUAL_PORT=3000 - GF_SERVER_ROOT_URL=https://grafana.neo.faulty.nl volumes: - /srv/grafana:/var/lib/grafana networks: - proxy - metrics - default prometheus: build: context: ./custom/prometheus networks: - metrics extra_hosts: - "docker.host:host-gateway" prom-blackbox: image: prom/blackbox-exporter:latest networks: - metrics ## THIS CONTANIER IS AVAILABLE ON THE HOST ## node-exporter: image: quay.io/prometheus/node-exporter:latest container_name: node-exporter command: - '--path.rootfs=/host' network_mode: host pid: host restart: unless-stopped volumes: - '/:/host:ro,rslave' cap_add: - SYS_TIME networks: metrics: