diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..9a6f544 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,138 @@ +version: "2.1" +services: + bitwarden: + image: vaultwarden/server:latest + container_name: bitwarden_rs + security_opt: + - no-new-privileges=true + env_file: + - .env + environment: + - PUID=1000 + - PGID=1000 + - TZ=America/Los_Angeles + volumes: + - bitwarden:/web-vault + - bitwarden_data:/data + networks: + - docker-network + depends_on: + - mariadb + restart: unless-stopped + + collabora: + image: collabora/code:latest + container_name: collabora + hostname: collabora + cap_add: + - MKNOD + env_file: + - .env + environment: + - PUID=1001 + - PGID=1002 + - TZ=America/Los_Angeles + - username=${COLLABORA_USERNAME} + - password=${COLLABORA_PASSWORD} + - domain='nextcloud\.thelyoncompany\.com'|'collabora\.thelyoncompany\.com' + - extra_params='--o:ssl.enable=false --o:ssl.termination=true' + volumes: + - collabora:/etc/loolwsd + - collabora_data:/opt/lool + - /etc/timezone:/etc/timezone:ro + - /etc/localtime:/etc/localtime:ro + networks: + - docker-network + depends_on: + - swag + restart: unless-stopped + + nextcloud: + image: linuxserver/nextcloud:latest + container_name: nextcloud + hostname: nextcloud + environment: + - PUID=1000 + - PGID=1000 + - TZ=America/Los_Angeles + volumes: + - nextcloud:/config + - nextcloud_data:/data + networks: + - docker-network + depends_on: + - mariadb + healthcheck: + test: ["CMD-SHELL", "curl -f http://nextcloud:80 || exit 1"] + interval: 1m30s + timeout: 10s + retries: 3 + restart: unless-stopped + + mariadb: + image: linuxserver/mariadb:latest + container_name: mariadb + env_file: + - .env + environment: + - PUID=1000 + - PGID=1000 + - TZ=America/Los_Angeles + - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD} + - MYSQL_DATABASE=${MYSQL_DATABASE} + - MYSQL_USER=${MYSQL_USER} + - MYSQL_PASSWORD=${MYSQL_PASSWORD} + volumes: + - mariadb:/config + networks: + - docker-network + restart: unless-stopped + + swag: + image: linuxserver/swag:latest + container_name: swag + cap_add: + - NET_ADMIN + environment: + - PUID=1000 + - PGID=1000 + - TZ=America/Los_Angeles + - URL=thelyoncompany.com + - EMAIL=edwin@thelyoncompany.com + - SUBDOMAINS=bitwarden,collabora,nextcloud + - ONLY_SUBDOMAINS=true + - EXTRA_DOMAINS=nextcloud.thelyoncompany.com,collabora.thelyoncompany.com,bitwarden.thelyoncompany.com + - VALIDATION=dns + - DNSPLUGIN=cloudflare + volumes: + - nginx:/config + ports: + - 80:80 + - 443:443 + networks: + - docker-network + depends_on: + - mariadb + restart: unless-stopped + +volumes: + nginx: + external: true + mariadb: + external: true + nextcloud: + external: true + nextcloud_data: + external: true + bitwarden: + external: true + bitwarden_data: + external: true + collabora: + external: true + collabora_data: + external: true + +networks: + docker-network: + external: true \ No newline at end of file