# requires variable config loading, such as:
-# docker stack deploy -c <(docker-compose config) proxy
+# docker stack deploy -c <(docker-compose config) purplebirdman
#
-# also needs an .env file with some variables like:
-# LOCAL_STORAGE=/mnt/data2/purplebirdman/art
-# IPV4_WAN=public.purplebirdman.com
+# also needs an .env file with some variables!
version: '3'
+networks:
+ go-backend:
+ driver: overlay
services:
proxy:
image: nginx:1.17
- NGINX_PORT=443
ports:
- 443:443
+ depends_on:
+ - purplebirdman
+ - kanboard
+ - public
+ - go-web
+ purplebirdman:
+ image: cjpalmer/purplebirdman:1.0.0
kanboard:
image: kanboard/kanboard:v1.2.26
volumes:
- kanboard_plugins:/var/www/app/plugins
- kanboard_ssl:/etc/nginx/ssl
public:
- image: cliftonpalmer/public:1.0.0
+ image: cjpalmer/public:1.2.2
volumes:
- - ${LOCAL_STORAGE}:/storage
+ - ${SHARE_ROOT}:/storage
- public_data:/usr/local/apache2/htdocs
+ - httpd_users:/usr/local/apache2/auth
environment:
- PUBLIC_ROOT_DIR=/storage
- PUBLIC_LINK_DIR=/usr/local/apache2/htdocs
- - PUBLIC_HTTP_URI=https://${IPV4_WAN}
+ - PUBLIC_FQDN_OVERRIDE=https://public.purplebirdman.com
+ db:
+ image: mariadb:10.6
+ environment:
+ MARIADB_ROOT_PASSWORD: admin
+ MARIADB_DATABASE: go
+ MARIADB_USER: socket
+ MARIADB_PASSWORD: socketpw
+ networks:
+ - go-backend
+ socket:
+ image: cjpalmer/go-socket:1.0.0
+ networks:
+ - go-backend
+ depends_on:
+ - db
+ go-web:
+ image: cjpalmer/go-web:1.0.0
+ networks:
+ - default
+ - go-backend
+ depends_on:
+ - socket
volumes:
kanboard_data:
driver: local
o: bind
type: none
device: /mnt/public_data
+ httpd_users:
+ driver: local