+# requires variable config loading, such as:
+# docker stack deploy -c <(docker-compose config) purplebirdman
+#
+# also needs an .env file with some variables!
+
version: '3'
networks:
- proxy:
- external:
- name: proxy
+ go-backend:
+ driver: overlay
services:
- nginx:
+ proxy:
image: nginx:1.17
volumes:
- - ./nginx.conf:/etc/nginx/nginx.conf
+ - ./proxy/nginx.conf:/etc/nginx/nginx.conf
+ - /etc/ssl/certs/purplebirdman/:/etc/ssl/certs/
environment:
- - NGINX_HOST=purplebirdman.online
- - NGINX_PORT=80
+ - NGINX_HOST=purplebirdman.com
+ - NGINX_PORT=443
ports:
- - 80:80
- 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_data:/var/www/app/data
+ - kanboard_plugins:/var/www/app/plugins
+ - kanboard_ssl:/etc/nginx/ssl
+ public:
+ image: cjpalmer/public:1.2.2
+ volumes:
+ - ${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_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:
- - proxy
+ - default
+ - go-backend
+ depends_on:
+ - socket
+volumes:
+ kanboard_data:
+ driver: local
+ driver_opts:
+ o: bind
+ type: none
+ device: /mnt/kanboard_data
+ kanboard_plugins:
+ driver: local
+ kanboard_ssl:
+ driver: local
+ public_data:
+ driver: local
+ driver_opts:
+ o: bind
+ type: none
+ device: /mnt/public_data
+ httpd_users:
+ driver: local