version: '3' volumes: nextcloud: nextcloud_db: synapse-data: postgres-data: #networks: # gitea: #external: false services: ##### NGINX PROXY ##### nginx-proxy: image: nginxproxy/nginx-proxy container_name: nginx-proxy ports: - "80:80" volumes: - /var/run/docker.sock:/tmp/docker.sock:ro ##### NEXTCLOUD ##### nextcloud_db: #######nextcloud_db is the server name!!! image: mariadb container_name: nextcloud_db command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW --innodb-file-per-table=1 --skip-innodb-read-only-compressed restart: always volumes: - nextcloud_db:/var/lib/mysql environment: - MYSQL_ROOT_PASSWORD=rts_passw0rd - MYSQL_PASSWORD=rts_passw0rd - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud nextcloud_app: image: nextcloud container_name: nextcloud_app #expose: # - 80 #ports: # - 8100:80 links: - nextcloud_db volumes: - nextcloud:/var/www/html restart: always environment: - VIRTUAL_HOST=nextcloud.rts.lan ####### SYNAPSE MATRIX CHAT ########### synapse: container_name: synapse hostname: matrix.rts.lan #build: #context: ./ #dockerfile: Dockerfile image: docker.io/matrixdotorg/synapse:latest restart: unless-stopped environment: - SYNAPSE_SERVER_NAME=matrix.rts.lan - SYNAPSE_REPORT_STATS=yes - SYNAPSE_NO_TLS=1 #- SYNAPSE_ENABLE_REGISTRATION=yes #- SYNAPSE_CONFIG_PATH=/config # - SYNAPSE_LOG_LEVEL=DEBUG - SYNAPSE_REGISTRATION_SHARED_SECRET=123456 - POSTGRES_DB=synapse - POSTGRES_HOST=synapse-db - POSTGRES_USER=synapse - POSTGRES_PASSWORD=synapse_passw0rd - VIRTUAL_HOST=matrix.rts.lan - VIRTUAL_PORT=8008 volumes: - synapse-data:/data - "./homeserver.yaml:/data/homeserver.yaml" depends_on: - synapse-db # In order to expose Synapse, remove one of the following, you might for # instance expose the TLS port directly: # ports: # - 8448:8448/tcp expose: - 8008 #networks: # - web # - backend # ... or use a reverse proxy, here is an example for traefik: synapse-db: container_name: synapse-db image: docker.io/postgres:10-alpine environment: - POSTGRES_DB=synapse - POSTGRES_USER=synapse - POSTGRES_PASSWORD=synapse_passw0rd volumes: - postgres-data:/var/lib/postgresql/data #networks: # - backend #labels: # - "traefik.enable=false" #networks: # web: # backend: #### GITEA ##### gitea-server: image: gitea/gitea:latest container_name: gitea-server environment: - USER_UID=1000 - USER_GID=1000 - DB_TYPE=postgres - DB_HOST=gitea-db:5432 - DB_NAME=gitea - DB_USER=gitea - DB_PASSWD=gitea - VIRTUAL_HOST=gitea.rts.lan - VIRTUAL_PORT=3000 restart: always # networks: # - gitea volumes: - ./gitea/gitea:/data - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro ports: # - "3010:3000" - "222:22" expose: - 3000 depends_on: - gitea-db gitea-db: image: postgres:9.6 container_name: gitea-db restart: always environment: - POSTGRES_USER=gitea - POSTGRES_PASSWORD=gitea - POSTGRES_DB=gitea # networks: # - gitea volumes: - ./gitea/postgres:/var/lib/postgresql/data ##### IVRE ###### ivredb: image: ivre/db container_name: ivredb volumes: - ./ivre/var_lib_mongodb:/var/lib/mongodb - ./ivre/var_log_mongodb:/var/log/mongodb restart: always ivreweb: image: ivre/web container_name: ivreweb restart: always environment: - VIRTUAL_HOST=ivre.rts.lan #- VIRTUAL_PROTO=uwsgi #ports: # - "8001:80" expose: - 80 depends_on: - ivredb ivreclient: image: ivre/client container_name: ivreclient volumes: - ./ivre/ivre-share:/ivre-share depends_on: - ivredb ivreagent: image: ivre/agent container_name: ivreagent restart: always depends_on: - ivredb ##### HASTEBIN ##### hastebinweb: container_name: hastebinweb build: ./hastebin/. #ports: # - "8081:7777" expose: - 7777 restart: always volumes: - ./hastebin/data:/opt/haste/data environment: - VIRTUAL_HOST=hastebin.rts.lan #### RECONMAP ##### reconmap-web-client: container_name: reconmap-web-client image: quay.io/reconmap/web-client:master volumes: - ./reconmap/environment.js:/usr/share/nginx/html/environment.js #ports: expose: - 80 # - 80:5500 environment: - VIRTUAL_HOST=reconmap.rts.lan - VIRTUAL_PORT=5500 reconmap-redis: container_name: reconmap-redis image: redis:6.0 command: redis-server --requirepass REconDIS ports: - 6379:6379 #expose: # - 6379 volumes: - ./reconmap/data-redis:/data rmap-mysql: container_name: rmap-mysql image: quay.io/reconmap/rest-api-db:latest cap_add: - SYS_NICE volumes: - ./reconmap/data-mysql:/var/lib/mysql ports: - 3306:3306 # expose: # - 3306 environment: MYSQL_ROOT_PASSWORD: reconmuppet MYSQL_DATABASE: reconmap MYSQL_USER: reconmapper MYSQL_PASSWORD: reconmapped reconmap-api: container_name: reconmap-api image: quay.io/reconmap/rest-api:latest volumes: - "./reconmap/config.json:/var/www/webapp/config.json" - "./reconmap/logs:/var/www/webapp/logs/" - "./reconmap/data:/var/www/webapp/data/" ports: - 5510:5510 environment: REDIS_HOST: reconmap-redis REDIS_PORT: 6379 REDIS_USER: default REDIS_PASSWORD: REconDIS # reconmap-agent: # container_name: rmap-agent # image: quay.io/reconmap/agent:latest # ports: # - 5520:5520 # environment: # VALID_ORIGINS: http://rts.lan:80 # REDIS_HOST: redis # REDIS_PORT: 6379 # REDIS_PASSWORD: REconDIS # reconmap-agent: # build: ./reconmap-agent/. # container_name: reconmap-agent # environment: # VALID_ORIGINS: http://rts.lan:80 # REDIS_HOST: reconmap-redis # REDIS_PORT: 6379 # REDIS_PASSWORD: REconDIS # ports: # - 5520:2020 # restart: unless-stopped #### ELEMENT WEB CHAT CLIENT FOR MATRIX #### element-web: container_name: element-web image: ghcr.io/bubuntux/element-web expose: - 80 environment: - VIRTUAL_HOST=element.rts.lan ##### wetty - terminal based ssh ##### wetty: #ports: expose: # - '3010:3000' - 80 image: wettyoss/wetty command: --ssh-host="${rts_ip_address}" --ssh-user=rts environment: - VIRTUAL_HOST=ssh.rts.lan - VIRTUAL_PORT=3000 ##### COVENANT C2 ########## - configured for https on port 7443, not proxied, http listeners to 80, htttps listeners to 443 covenant: build: ./covenant/. container_name: covenant environment: - TZ=Pacific/Los_Angeles ports: - 7443:7443 - 443:443 - 8080:80 restart: unless-stopped #### Website #### rts-web: container_name: rts-web image: nginx volumes: - ./website:/usr/share/nginx/html:ro expose: - 80 environment: - VIRTUAL_HOST=www.rts.lan