version: '3' services: archivebox: container_name: archivebox image: archivebox/archivebox:dev command: server --quick-init 0.0.0.0:8000 environment: - ALLOWED_HOSTS=* - MEDIA_MAX_SIZE=750m - PUBLIC_ADD_VIEW=True - PUBLIC_INDEX=True - PUBLIC_SNAPSHOTS=False - SAVE_TITLE=True - SAVE_FAVICON=True - SAVE_WGET=False - SAVE_WARC=False - SAVE_PDF=True - SAVE_SCREENSHOT=True - SAVE_DOM=False - SAVE_SINGLEFILE=True - SAVE_READABILITY=True - SAVE_MERCURY=False - SAVE_GIT=False - SAVE_MEDIA=False - SAVE_ARCHIVE_DOT_ORG=False ports: - 8000:8000 restart: always volumes: - ${DOCKER_CONFIGS}/archivebox/data:/data collabora: container_name: collabora image: collabora/code:22.05.14.3.1 environment: - alias_group1=${COLLABORA_DOMAIN} - username=${COLLABORA_USERNAME} - password=${COLLABORA_PASSWORD} ports: - 9980:9980 restart: always volumes: - ${DOCKER_CONFIGS}/collabora/code:/etc/loolwsd cronicle: container_name: cronicle hostname: cronicle image: bluet/cronicle-docker:latest environment: - TZ=${TZ} - CRONICLE_base_app_url=http://192.168.1.4 - CRONICLE_master 1 network_mode: "host" restart: always volumes: - /var/run/docker.sock:/var/run/docker.sock - /root/.ssh:/root/.ssh - /home/akanealw/scripts/cronicle:/scripts - ${DOCKER_CONFIGS}/cronicle/data:/opt/cronicle/data - ${DOCKER_CONFIGS}/cronicle/logs:/opt/cronicle/logs - ${DOCKER_CONFIGS}/cronicle/plugins:/opt/cronicle/plugins - ${DOCKER_CONFIGS}/cronicle/workloads/app:/app - ${DOCKER_CONFIGS}/cronicle/data/config.json:/opt/cronicle/conf/config.json freshrss: container_name: freshrss image: freshrss/freshrss:latest environment: - PUID=${PUID} - PGID=${PGID} - CRON_MIN=*/20 - TZ=${TZ} depends_on: - freshrss-db ports: - 8088:80 restart: unless-stopped volumes: - ${DOCKER_CONFIGS}/freshrss/data:/var/www/FreshRSS/data - ${DOCKER_CONFIGS}/freshrss/extensions:/var/www/FreshRSS/extensions - /etc/localtime:/etc/localtime:ro freshrss-db: container_name: freshrss-db image: postgres:12-alpine environment: - PUID=${PUID} - PGID=${PGID} - POSTGRES_USER=freshrss - POSTGRES_PASSWORD=freshrss - POSTGRES_DB=freshrss restart: unless-stopped volumes: - ${DOCKER_CONFIGS}/freshrss/db/data:/var/lib/postgresql/data - /etc/localtime:/etc/localtime:ro hbbr: container_name: hbbr image: rustdesk/rustdesk-server:latest command: hbbr -k _ ports: - 21117:21117 - 21119:21119 restart: always volumes: - ${DOCKER_CONFIGS}/rustdesk/hbbr:/root hbbs: container_name: hbbs image: rustdesk/rustdesk-server:latest command: hbbs -r rustdesk.akanealw.com:21117 -k _ depends_on: - hbbr ports: - 21115:21115 - 21116:21116 - 21116:21116/udp - 21118:21118 restart: always volumes: - ${DOCKER_CONFIGS}/rustdesk/hbbs:/root olivetin: container_name: olivetin image: jamesread/olivetin:latest user: root ports: - 1337:1337 restart: always volumes: - ${DOCKER_CONFIGS}/olivetin/config:/config - /home/akanealw/scripts:/scripts:ro - /home/akanealw/.ssh/proxmox2:/root/.ssh/proxmox2:ro - /home/akanealw/.ssh/dockerserver:/root/.ssh/dockerserver:ro orbital-sync: container_name: orbital-sync image: mattwebbio/orbital-sync:1 environment: - PRIMARY_HOST_BASE_URL=http://192.168.1.2:80 - PRIMARY_HOST_PASSWORD=${WEBPASSWORD} - SECONDARY_HOST_1_BASE_URL=http://192.168.1.3:80 - SECONDARY_HOST_1_PASSWORD=${WEBPASSWORD} - SECONDARY_HOST_2_BASE_URL=http://192.168.1.4:8180 - SECONDARY_HOST_2_PASSWORD=${WEBPASSWORD} - INTERVAL_MINUTES=30 restart: always owncloud: container_name: owncloud image: owncloud/server:${OWNCLOUD_VERSION} environment: - OWNCLOUD_DOMAIN=${OWNCLOUD_DOMAIN} - OWNCLOUD_TRUSTED_DOMAINS=${OWNCLOUD_TRUSTED_DOMAINS} - OWNCLOUD_DB_TYPE=mysql - OWNCLOUD_DB_NAME=owncloud - OWNCLOUD_DB_USERNAME=owncloud - OWNCLOUD_DB_PASSWORD=owncloud - OWNCLOUD_DB_HOST=owncloud-mariadb - OWNCLOUD_ADMIN_USERNAME=${ADMIN_USERNAME} - OWNCLOUD_ADMIN_PASSWORD=${ADMIN_PASSWORD} - OWNCLOUD_MYSQL_UTF8MB4=true - OWNCLOUD_REDIS_ENABLED=true - OWNCLOUD_REDIS_HOST=owncloud-redis healthcheck: test: ["CMD", "/usr/bin/healthcheck"] interval: 30s timeout: 10s retries: 5 depends_on: - owncloud-mariadb - owncloud-redis ports: - 8092:8080 restart: always volumes: - ${DOCKER_CONFIGS}/owncloud/files:/mnt/data owncloud-mariadb: container_name: owncloud-mariadb image: mariadb:10.6 environment: - MYSQL_ROOT_PASSWORD=owncloud - MYSQL_USER=owncloud - MYSQL_PASSWORD=owncloud - MYSQL_DATABASE=owncloud command: ["--max-allowed-packet=128M", "--innodb-log-file-size=64M"] healthcheck: test: ["CMD", "mysqladmin", "ping", "-u", "root", "--password=owncloud"] interval: 10s timeout: 5s retries: 5 restart: always volumes: - ${DOCKER_CONFIGS}/owncloud/mariadb/mysql:/var/lib/mysql owncloud-redis: container_name: owncloud-redis image: redis:6 command: ["--databases", "1"] healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 10s timeout: 5s retries: 5 restart: always volumes: - ${DOCKER_CONFIGS}/owncloud/redis:/data pihole: container_name: pihole image: cbcrowe/pihole-unbound:latest hostname: ${HOSTNAME} domainname: ${DOMAIN_NAME} environment: - FTLCONF_LOCAL_IPV4=${FTLCONF_LOCAL_IPV4} - TZ=${TZ} - WEBPASSWORD=${WEBPASSWORD} - WEBTHEME=${WEBTHEME:-default-dark} - REV_SERVER=${REV_SERVER:-false} - REV_SERVER_TARGET=${REV_SERVER_TARGET} - REV_SERVER_DOMAIN=${REV_SERVER_DOMAIN} - REV_SERVER_CIDR=${REV_SERVER_CIDR} - PIHOLE_DNS_=127.0.0.1#5335 - DNSSEC="true" - DNSMASQ_LISTENING=single ports: - 53:53 - 53:53/udp - 8180:80 restart: always volumes: - ${DOCKER_CONFIGS}/pihole/unbound:/etc/pihole:rw - ${DOCKER_CONFIGS}/pihole/dnsmasq-unbound:/etc/dnsmasq.d:rw piped: container_name: piped-backend image: 1337kavin/piped:latest depends_on: - piped-postgres restart: always volumes: - ${DOCKER_CONFIGS}/piped/config/config.properties:/app/config.properties:ro piped-frontend: container_name: piped-frontend image: 1337kavin/piped-frontend:latest entrypoint: ash -c 'sed -i s/pipedapi.kavin.rocks/pipedapi.akanealw.com/g /usr/share/nginx/html/assets/* && /docker-entrypoint.sh && nginx -g "daemon off;"' depends_on: - piped restart: always piped-nginx: container_name: piped-nginx image: nginx:mainline-alpine depends_on: - piped - piped-proxy - piped-frontend ports: - 8585:80 restart: always volumes: - ${DOCKER_CONFIGS}/piped/config/nginx.conf:/etc/nginx/nginx.conf:ro - ${DOCKER_CONFIGS}/piped/config/pipedapi.conf:/etc/nginx/conf.d/pipedapi.conf:ro - ${DOCKER_CONFIGS}/piped/config/pipedproxy.conf:/etc/nginx/conf.d/pipedproxy.conf:ro - ${DOCKER_CONFIGS}/piped/config/pipedfrontend.conf:/etc/nginx/conf.d/pipedfrontend.conf:ro - ${DOCKER_CONFIGS}/piped/config/ytproxy.conf:/etc/nginx/snippets/ytproxy.conf:ro - ${DOCKER_CONFIGS}/piped/piped-proxy:/var/run/ytproxy piped-postgres: container_name: piped-postgres image: postgres:15 environment: - POSTGRES_DB=piped - POSTGRES_USER=piped - POSTGRES_PASSWORD=Vee0caiv8ieceeDae1aepheirophai restart: always volumes: - ${DOCKER_CONFIGS}/piped/data/db:/var/lib/postgresql/data piped-proxy: container_name: piped-proxy image: 1337kavin/piped-proxy:latest environment: - UDS=1 restart: always volumes: - ${DOCKER_CONFIGS}/piped/piped-proxy:/app/socket shlink-server: container_name: shlink-server image: shlinkio/shlink:stable environment: - TZ=${TZ} - DEFAULT_DOMAIN=aknlw.com - IS_HTTPS_ENABLED=true - GEOLITE_LICENSE_KEY=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 - DB_DRIVER=maria - DB_USER=shlink - DB_NAME=shlink - DB_PASSWORD=OoDahdohv6 - DB_HOST=shlink-database - INITIAL_API_KEY=eiy5ees0AiVoh8eeWa7U depends_on: - shlink-database ports: - 8380:8080 restart: always shlink-database: container_name: shlink-database image: mariadb:10.8 environment: - MARIADB_ROOT_PASSWORD=coo6Pooch2 - MARIADB_DATABASE=shlink - MARIADB_USER=shlink - MARIADB_PASSWORD=OoDahdohv6 restart: always volumes: - ${DOCKER_CONFIGS}/shlink/mariadb/db_data:/var/lib/mysql shlink-web-client: container_name: shlink-web-client image: shlinkio/shlink-web-client ports: - 8381:80 restart: always volumes: - ${DOCKER_CONFIGS}/shlink/servers.json:/usr/share/nginx/html/servers.json syncthing-relay-discovery: container_name: syncthing-relay-discovery image: t4skforce/syncthing-relay-discovery:latest environment: RELAY_OPTS: DISC_OPTS: POOLS: ports: - 22067:22067 - 22026:22026 restart: always volumes: - ${DOCKER_CONFIGS}/syncthing-relay-discovery:/home/syncthing/certs trilium: container_name: trilium image: zadam/trilium environment: - TRILIUM_DATA_DIR=/home/node/trilium-data ports: - 8055:8080 restart: always volumes: - ${DOCKER_CONFIGS}/trilium/data:/home/node/trilium-data uptime-kuma: container_name: uptime-kuma image: louislam/uptime-kuma:1 ports: - 3001:3001 restart: always volumes: - ${DOCKER_CONFIGS}/uptimekuma/data:/app/data vaultwarden: container_name: vaultwarden image: vaultwarden/server:latest environment: - TZ=${TZ} - ADMIN_TOKEN=h/oRssGu83I1E1WQGiSchYMAJnM0JcDXmjeI/A3QgMCasn/IK9zZldH5FXim0rSi - DATABASE_URL=data/db.sqlite3 - DISABLE_ADMIN_TOKEN=false - DOMAIN=https://bitwarden.akanealw.com - ENABLE_DB_WAL=true - INVITATIONS_ALLOWED=false - SHOW_PASSWORD_HINT=false - SIGNUPS_ALLOWED=false - SIGNUPS_VERIFY=false - SMTP_PORT=587 - SMTP_SSL=true ports: - 8089:80 restart: always volumes: - ${DOCKER_CONFIGS}/vaultwarden:/data - /etc/localtime:/etc/localtime:ro vaultwarden-backup: container_name: vaultwarden-backup image: bruceforce/vaultwarden-backup environment: - BACKUP_DIR=/data/backups - CRON_TIME=15 * * * * - TIMESTAMP=true - UID=${PUID} - GID=${PGID} depends_on: - vaultwarden init: true restart: always volumes: - /home/akanealw/docker/appdata/vaultwarden:/data - /home/akanealw/backups/vaultwardenbackups:/data/backups wg-easy: container_name: wg-easy image: weejewel/wg-easy environment: - WG_HOST=${WG_HOST} - PASSWORD=${WG_PASSWORD} - WG_DEFAULT_DNS=162.222.10.80, 9.9.9.9 - WG_PORT=51830 - WG_PERSISTENT_KEEPALIVE=25 - WG_DEFAULT_ADDRESS=10.8.0.x - WG_MTU=1420 - WG_ALLOWED_IPS=10.8.0.0/24 cap_add: - NET_ADMIN - SYS_MODULE sysctls: - net.ipv4.ip_forward=1 - net.ipv4.conf.all.src_valid_mark=1 ports: - 51830:51820/udp - 51831:51821 restart: always volumes: - ${DOCKER_CONFIGS}/wireguard:/etc/wireguard networks: default: