X-Git-Url: http://git.purplebirdman.com/proxy.git/blobdiff_plain/b7fb791efae95d0930d90020807aca90a6181254..362462e61994aa85612c65099fcfb3e3b176facc:/docker-compose.yml diff --git a/docker-compose.yml b/docker-compose.yml index 8bd9fb0..e2fae3e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,18 +1,84 @@ +# 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