Files
proxyserver/docker-compose.yml
2023-11-06 16:33:10 -06:00

434 lines
12 KiB
YAML

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: