version: "3.9" services: mongo: image: mongo:latest restart: always network_mode: bridge #ports: # - "0.0.0.0:27017:27017/tcp" volumes: - db:/data/db - configdb:/data/configdb environment: MONGO_INITDB_ROOT_USERNAME: admin MONGO_INITDB_ROOT_PASSWORD: ${MONGO_SECRET:-secret} acme: image: goacme/lego:latest network_mode: host volumes: - acme:/.lego entrypoint: | sh -cxe 'test -n "${DOMAIN_NAME}" || exit 1 test -e /.lego/webroot || mkdir -p /.lego/webroot if $(nc -z 127.0.0.1 80) then if [ -e "/.lego/certificates/${DOMAIN_NAME}.key" ] then exec /lego --domains="${DOMAIN_NAME}" --email="admin@${DOMAIN_NAME}" --accept-tos --key-type=rsa2048 --http --http.webroot /.lego/webroot renew --days 15 else exec /lego --domains="${DOMAIN_NAME}" --email="admin@${DOMAIN_NAME}" --accept-tos --key-type=rsa2048 --http --http.webroot /.lego/webroot run fi else if [ -e "/.lego/certificates/${DOMAIN_NAME}.key" ] then exec /lego --domains="${DOMAIN_NAME}" --email="admin@${DOMAIN_NAME}" --accept-tos --key-type=rsa2048 --http renew --days 15 else exec /lego --domains="${DOMAIN_NAME}" --email="admin@${DOMAIN_NAME}" --accept-tos --key-type=rsa2048 --http run fi fi' chromium: image: ghcr.io/meefik/chromium:latest build: ./chromium restart: always network_mode: bridge #ports: # - "0.0.0.0:9222:9222/tcp" #environment: # http_proxy: http://64.225.103.135:80 fastfinder: image: ghcr.io/meefik/fastfinder:latest build: context: .. dockerfile: ./deploy/fastfinder/Dockerfile restart: always network_mode: bridge depends_on: mongo: condition: service_started chromium: condition: service_started acme: condition: service_completed_successfully links: - mongo - chromium ports: - "0.0.0.0:443:8443/tcp" - "0.0.0.0:80:8080/tcp" volumes: - acme:/etc/acme:ro environment: PORT: 8443 HTTP_PORT: 8080 HTTP_WEBROOT: /etc/acme/webroot SESSION_KEY: ${SESSION_KEY:-secret} MONGO_URI: mongodb://admin:${MONGO_SECRET:-secret}@mongo:27017/fastfinder?authSource=admin #SSL_KEY: -----BEGIN RSA PRIVATE KEY-----\n... #SSL_CERT: -----BEGIN CERTIFICATE-----\n... SSL_KEY: /etc/acme/certificates/${DOMAIN_NAME:-localhost}.key SSL_CERT: /etc/acme/certificates/${DOMAIN_NAME:-localhost}.crt PUPPETEER_BROWSER_URL: http://chromium:9222 NODE_TLS_REJECT_UNAUTHORIZED: 0 volumes: db: {} configdb: {} acme: {}