home.social

#volumes — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #volumes, aggregated by home.social.

  1. I've gotten stuck on a visionOS Volume, my code used to launch it fully expanded, but now when i launch the app, it seems to have been shrunk down to a small box view of the center of the volume. This is my first volume and I can't seem to find out what I screwed up? #visionOS #swiftuI #volumes

  2. Italian wine brands, volumes growing

    Italian Wine Brands closed 2025 with “strong volume growth”: overall, 158,682,000 bottles were sold, 3.65% more than in 2024. The Ho.Re.Ca channel alone closed the year with volumes up 9.6%, with 33 million bottles sold and revenues of over 63 million euros, 6.…
    #dining #cooking #diet #food #ItalianWine #MediterraneanWine #brands #Italianwine #italy #IWB #mutinelli #volumes #Wine
    diningandcooking.com/2578178/i

  3. Lucee in a Box: The Ultimate Guide to Containerized Dev Servers

    2,726 words, 14 minutes read time.

    The Modern ColdFusion Workspace: Transitioning to Lucee in a Box

    The shift from traditional, monolithic server installations to containerized environments has fundamentally altered how we perceive modern development within the Lucee ecosystem. For years, the standard approach involved installing a heavy application server directly onto a local machine, often leading to a “polluted” operating system where various versions of Java and Lucee competed for resources and environment variables. By adopting a “Lucee in a Box” methodology, we decouple the application logic from the underlying hardware, allowing for a portable, reproducible, and lightweight development stack. This transition is not merely about convenience; it is a strategic move toward parity with production environments where high availability and rapid scaling are the norms. In this architecture, we utilize Docker to encapsulate the Lucee engine, the web server, and the necessary configuration files into a single unit that can be spun up or destroyed in seconds, ensuring that every member of a development team is working within an identical, script-driven environment.

    However, the true complexity of this setup emerges when we move beyond simple “Hello World” examples and begin integrating with the existing corporate infrastructure. In my own workflow, I rely heavily on a network of internal web services that act as the primary conduit for data residing in our production databases. These services are vital because they provide a sanitized, governed layer of abstraction over raw SQL queries, ensuring that sensitive data is handled according to internal compliance standards. When we containerize Lucee, we aren’t just running a script; we are placing a small, isolated node into a complex network. The challenge then becomes ensuring this isolated container can “see” and communicate with those internal services as if it were a native part of the network, all while maintaining the security boundaries that containerization is designed to provide.

    The Data Silo Crisis: Overcoming Networked Service Isolation

    One of the most significant hurdles in modernizing a CFML stack is the inherent isolation of the Docker bridge network, which often creates what I call a “Data Silo” during local development. When a developer attempts to call an internal web service—perhaps a REST API that fetches real-time production metrics or user permissions—from within a container, the request often hits a wall because the container’s internal DNS does not naturally resolve local intranet addresses. This creates a frustrating disconnect where the application works perfectly in the legacy local install but fails within the containerized environment. This disconnect is more than a minor annoyance; it leads to significant delays in the development lifecycle as engineers struggle to pipe in the data necessary for testing complex business logic. Without a seamless connection to these internal services, the “Lucee in a Box” becomes an empty vessel, incapable of performing the data-intensive tasks required in a modern enterprise setting.

    To resolve this, we must look at how the container perceives the outside world and how the host machine facilitates that visibility. In many corporate environments, production data is guarded behind strict firewall rules and SSL requirements that expect requests to originate from known entities. When I utilize internal web services to provide data from a production database, the Lucee container must be configured to pass through the host’s network or be explicitly granted access to the internal DNS suffixes. Failure to address this at the architectural level results in “unreachable host” errors or SSL handshake failures that can derail a project for days. By understanding that the container is a guest on your network, we can begin to implement the routing and trust certificates necessary to turn that siloed container into a fully integrated node capable of consuming live data streams securely and efficiently through modern CFScript syntax.

    The Blueprint: Implementing Lucee and MariaDB via Docker Compose

    To move from theory to implementation, we must define the orchestration layer that brings our environment to life. The docker-compose.yml file is the definitive source of truth for the development stack, eliminating the “it works on my machine” excuse by codifying the server version, database configuration, and network paths. In the professional workflow I advocate, this file sits at the root of your project. It defines a lucee service using the official Lucee image—optimized for performance—and a mariadb service to handle local data persistence. Crucially, we use volumes to map your local www folder directly into the container’s web root. This means that as you write your CFScript in your preferred IDE on your host machine, the changes are reflected instantly inside the container without requiring a rebuild or a manual file transfer.

    The following configuration provides a professional-grade starting point. It establishes a dedicated network for our services and ensures that Lucee has the environment variables necessary to eventually automate its datasource connections. By mounting the ./www directory, we ensure our code remains on our host machine where it can be version-controlled, while the ./db_data volume ensures our MariaDB data persists even if the container is destroyed and recreated.

    version: '3.8'
    
    services:
      # The Database Engine
      mariadb:
        image: mariadb:10.6
        container_name: lucee_db
        restart: always
        environment:
          MYSQL_ROOT_PASSWORD: root_password
          MYSQL_DATABASE: dev_db
          MYSQL_USER: dev_user
          MYSQL_PASSWORD: dev_password
        volumes:
          - ./db_data:/var/lib/mysql
        networks:
          - dev_network
    
      # The Lucee Application Server
      lucee:
        image: lucee/lucee:5.3
        container_name: lucee_app
        restart: always
        ports:
          - "8080:8888"
        environment:
          # Injecting DB credentials for CFConfig or Application.cfc
          - DB_HOST=mariadb
          - DB_NAME=dev_db
          - DB_USER=dev_user
          - DB_PASSWORD=dev_password
          - LUCEE_ADMIN_PASSWORD=server_admin_pass
        volumes:
          - ./www:/var/www
          - ./config:/opt/lucee/web
        depends_on:
          - mariadb
        networks:
          - dev_network
    
    networks:
      dev_network:
        driver: bridge
    

    Deployment Strategy: Running Your New Containerized Stack

    Once the docker-compose.yml file is in place, initializing the environment is a matter of a single terminal command. By executing docker-compose up -d from the root of your project directory, the Docker engine pulls the specified images, creates the isolated virtual network, and establishes the volume mounts. This process ensures that your MariaDB instance is ready to receive connections before the Lucee server fully initializes. For developers who rely on internal web services, this is where the containerized approach proves its worth. Because Lucee is running in an isolated network but can be configured to have access to the host’s bridge or external DNS, it can safely consume external APIs while maintaining a clean, local database for session state or cached production data. This setup provides the exact same architectural “feel” as a high-traffic production cluster, but contained entirely within your local hardware.

    The beauty of this system lies in its maintenance-free nature and the elimination of the “dependency hell” that often plagues legacy ColdFusion developers. If you need to test your CFScript against a different version of Lucee or a newer patch of MariaDB, you simply update the version tag in the YAML file and run the command again. There is no need to uninstall software, clear registry keys, or worry about Java version conflicts on your host machine. This modularity is why I utilize internal web services to provide data from production into this local box; the container acts as a secure, high-speed proxy. You can pull the data you need via an internal API call, store it in the MariaDB container, and work in an isolated state without ever risking the integrity of the actual production database.

    Root Cause: Why Standard Containers Fail at Internal Service Integration

    The primary reason most off-the-shelf Lucee container configurations fail when attempting to consume internal web services is a fundamental lack of trust—specifically, the absence of internal SSL certificates within the Java KeyStore. When I use web services hosted within my network to provide data from a production database, those services are almost always secured via an internal Certificate Authority (CA) that is not recognized by the default OpenJDK installation inside the Lucee container. This results in the dreaded “PKIX path building failed” error the moment a cfhttp call is initiated via CFScript to an internal endpoint. To solve this, the Dockerfile must be modified to perform a “copy and import” operation during the image build phase, where the internal CA certificate is added to the Java security folder and registered using the keytool utility. This ensures that the underlying Java Virtual Machine (JVM) trusts the internal network’s identity, allowing for encrypted, secure data transmission from the production-proxy services to the local development environment.

    Beyond the cryptographic hurdles, there is the issue of routing and “Host-to-Container” communication that often stymies developers new to the Docker ecosystem. In a standard Docker setup, the container is wrapped in a layer of Network Address Translation (NAT) that makes it difficult to reach services sitting on the developer’s physical host or the wider corporate VPN. To bridge this gap, we often utilize the extra_hosts parameter within our docker-compose configuration, which effectively injects entries into the container’s /etc/hosts file. This allows us to map a friendly internal domain name, like services.internal.corp, directly to the IP address of the host machine or the VPN gateway. By explicitly defining these routes, we bypass the limitations of Docker’s isolated bridge and enable the Lucee engine to reach out to the web services that house our production data. This architectural “handshake” between the containerized Lucee instance and the physical network is the secret sauce that transforms a basic dev box into a high-fidelity replica of the production ecosystem.

    Deep Dive: Consuming Internal Web Services via CFScript

    With the network and security infrastructure in place, we can finally focus on the implementation layer: the CFScript that handles the data exchange. In a modern Lucee in a Box setup, I favor a service-oriented architecture where a dedicated DataService.cfc handles all interactions with the internal network. Using the http service in CFScript, we can construct requests that include the necessary authentication headers, such as JWT tokens or API keys, required by the internal production data services. The beauty of this approach is that the CFScript remains agnostic of the container’s physical location; as long as the Docker networking layer is correctly mapping the service URL to the internal network, the cfhttp call proceeds as if it were running on a native server. This allows us to maintain a clean, readable codebase that utilizes the latest CFScript features, such as cfhttp(url=targetURL, method="GET", result="local.apiResponse"), while the heavy lifting of network routing is handled by the Docker daemon.

    The real power of this integration is realized when we use these internal web services to populate our local MariaDB instance with a “snapshot” of production-like data. Rather than dealing with massive, cumbersome database dumps that can compromise data privacy, we can write an initialization script in CFScript that queries the internal web services for the specific datasets required for a given task. This script can then parse the returned JSON and perform a series of queryExecute() commands to populate the local MariaDB container. This “just-in-time” data strategy ensures that the developer is always working with relevant, fresh data without the security risks associated with a direct connection to the production database. By leveraging the containerized Lucee instance as a smart bridge between internal network services and local storage, we create a development environment that is not only isolated and secure but also incredibly data-rich and performant.

    Environment Variable Injection: The CFConfig and CommandBox Synergy

    To achieve a truly “hands-off” configuration within a Lucee in a Box environment, we must move away from the manual web-based administrator and toward a purely scripted setup. This is where the combination of CommandBox and the CFConfig module becomes indispensable. By using a .cfconfig.json file or environment variables prefixed with LUCEE_, we can define our MariaDB datasource connections, internal web service endpoints, and mail server settings without ever clicking a button in the Lucee UI. In a professional workflow, this means the docker-compose.yml file serves as the master controller, injecting credentials and network paths directly into the Lucee engine at runtime. For instance, by setting LUCEE_DATASOURCE_MYDB as an environment variable, the containerized engine automatically constructs the connection to the MariaDB container, ensuring that our CFScript-based queryExecute() calls have a reliable target the moment the server is healthy.

    This approach is particularly powerful when dealing with the internal web services that provide our production data. Since these services often require specific API keys or internal proxy settings, we can store these sensitive values in an .env file that is excluded from our Git repository. When the container starts, these values are mapped into the Lucee process, allowing our CFScript logic to access them via system.getEnv(). This ensures that our local development environment remains a mirror of our production logic while maintaining a strict separation of concerns between the application code and the infrastructure-specific secrets. By automating the configuration layer, we eliminate the risk of manual setup errors and ensure that every developer on the team can spin up a fully functional, networked-aware Lucee instance in a single command.

    Advanced Networking: Bridged Access to Production-Proxy Services

    The final piece of the Lucee in a Box puzzle involves fine-tuning the Docker network to handle the high-latency or high-security requirements of internal web services. When our CFScript makes a request to a service that pulls from a production database, we are often traversing multiple layers of internal routing, including VPNs and load balancers. To optimize this, we can configure our Docker bridge network to use specific MTU (Maximum Transmission Unit) settings that match our corporate network’s infrastructure, preventing packet fragmentation that can lead to mysterious request timeouts. Furthermore, by utilizing Docker’s aliases within the network configuration, we can simulate the production URL structure locally. This means our CFScript can call https://api.internal.production/ both in the dev container and the live environment, with Docker handling the redirection to the appropriate internal service endpoint based on the environment context.

    Beyond simple connectivity, we must also consider the performance of these data-heavy web service calls. In a containerized environment, I often implement a caching layer within Lucee that stores the JSON payloads returned from our internal services into the local MariaDB instance or a RAM-based cache. By using CFScript’s cachePut() and cacheGet() functions, we can significantly reduce the load on our internal network and the production database proxy. This “lazy-loading” strategy allows us to develop complex features with the speed of local data access while still maintaining the accuracy of production-sourced information. This architectural decision—balancing live service integration with local persistence—represents the pinnacle of the Lucee in a Box philosophy, providing a development experience that is as fast as it is faithful to the real-world environment.

    Conclusion: The Future of Scalable CFML Development

    Adopting a “Lucee in a Box” strategy is more than just a trend in containerization; it is a fundamental shift toward professional-grade, reproducible engineering. By strictly defining our environment through docker-compose.yml, automating our security through SSL injection in the Dockerfile, and utilizing CFScript to bridge the gap between internal web services and local MariaDB storage, we create a stack that is resilient to “configuration drift.” This setup allows us to treat our development servers as ephemeral, disposable assets that can be rebuilt at a moment’s notice to match evolving production requirements. As the Lucee ecosystem continues to mature, the ability to orchestrate these complex data flows within a containerized boundary will remain the hallmark of a high-performing development team, ensuring that we spend less time debugging infrastructure and more time writing the logic that drives our applications forward.

    Call to Action


    If this post sparked your creativity, don’t just scroll past. Join the community of makers and tinkerers—people turning ideas into reality with 3D printing. Subscribe for more 3D printing guides and projects, drop a comment sharing what you’re printing, or reach out and tell me about your latest project. Let’s build together.

    D. Bryan King

    Sources

    Disclaimer:

    The views and opinions expressed in this post are solely those of the author. The information provided is based on personal research, experience, and understanding of the subject matter at the time of writing. Readers should consult relevant experts or authorities for specific guidance related to their unique situations.

    Related Posts

    Rate this:

    #APIAuthentication #Automation #backendDevelopment #BridgeNetwork #cacerts #CFConfig #CFML #cfScript #CICD #CloudNative #Coldfusion #CommandBox #ConfigurationDrift #containerization #DataIntegration #DatabaseMigration #DatabaseProxy #DeepDive #deployment #devops #Docker #DockerCompose #EnterpriseDevelopment #environmentVariables #InfrastructureAsCode #InternalAPIs #ITInfrastructure #JavaKeyStore #JSON #JVM #JWT #localDevelopment #Lucee #LuceeInABox #MariaDB #microservices #Networking #OpenJDK #OrtusSolutions #Persistence #PortForwarding #Portability #ProductionData #ReproducibleEnvironments #RESTAPI #scalability #Scripting #SDLC #SecureDevelopment #softwareArchitecture #SQL #SSLCertificates #TechnicalGuide #Volumes #WebApplication #WebServer #WebServices #WorkflowOptimization
  4. Crystal Lake – The Weight of Sound Review By Dear Hollow

    Crystal Lake is one of those bands that I lost track of. I adored 2015’s The Sign, its blend of hardcore attitude with a surgical metalcore attack and just enough djent and deathcore to make things interesting resulted in some of my all-time favorites in the style (“Prometheus,” “Matrix,” “Hades”). Yes, it’s knuckleheaded and boner-dragging brutality posturing, but for a jolt of breakdown-heavy sonic adrenaline, the Japanese quintet fit the bill. I lost track of them, with albums True North and Helix toning down the weight for an Erra-inspired atmospheric metalcore sound. It has been eight years since Helix entered the scene with a thud, so what can we expect from The Weight of Sound?

    The Weight of Sound is the heft of change and consistency alike for Crystal Lake. A notable change is the departure of long-time vocalist Ryo Kinoshita, who released the debut for his solo project Knosis last year, and was replaced by John Robert Centorrino, former vocalist of The Last Ten Seconds of Life. The band acknowledges that Kinoshita’s shoes are nearly impossible to fill; to supplement, Centorrino is backed by an array of guest vocalists: David Simonich of Signs of the Swarm, Taylor Barber of Left to Suffer and Seven Hours After Violet, Myke Terry of Volumes and Fire from the Gods,1 Karl Schubach of Misery Signals and Jesse Leach of Killswitch Engage. Consistently, however, the instrumental approach is the same, bringing back the nu-metal-meets-djent-meets-hardcore chugs (whose absence made the last two outings toothless), as well as that trademark ethereal guitar layers. The result, however, falls woefully short compared to Crystal Lake’s landmark albums, as the knuckleheaded overtakes the thoughtful and the vocals become a monotonous muck.

    The Weight of Sound (24-bit HD audio) by Crystal Lake

    For positives, when Crystal Lake manages to balance the heavy and the atmospheric, tracks can truly soar. Yearning chord progressions, layers of melodies and sustained trills, and desperate vocals combine to add a nice dose of melancholy and fury, accented by the band’s signature guitar tone that balances djent weight with hardcore urgency. Even Centorrino’s cleans are a nice addition throughout these tracks, distant shouts or croons that recall Brett Gurewitz’s guest spot in Parkway Drive’s “Home is for the Heartless:”: tasteful and subtle. These tracks primarily populate the back half, a calm after the storm of metalcore pummeling, complete with a more somber mood (“The Undertow,” “The Weight of Sound,” “Sinners,” “Coma Wave”) that recalls more melodic hardcore-inflected metalcore acts like Counterparts or The Ghost Inside. The patience in the songwriting of these moments is also noteworthy, as movements feel nicely unhurried and appropriately contemplative.

    Crystal Lake’s balance of the atmosphere and chug, as well as vocal charisma, have always been assets, but they plague The Weight of Sound. Don’t get me wrong, I didn’t love Helix’s more light-and-airy vibe, but too many tracks are just too knuckleheaded here to make a splash, particularly the opening “unnecessary contractions” triptych (“Everblack,” “BludGod,” “Neversleep”), which seem like the band’s metalcore answer to Signs of the Swarm’s To Rid Myself of Truth. Meanwhile, other tracks seem to be wildly inconsistent and are true head-scratchers in terms of placement in the tracklist, featuring bluesy Southern vibes (“King Down”) or awkward shifts between heavy and ethereal (“Dystopia,” “Crossing Nails”). Each placement in the playlist at large feels shoehorned and abrupt, from balls-to-the-wall heavy to southern to ethereal, to confused. For the number of guest vocalists that appear throughout The Weight of Sound, Centorrino’s vocals make them difficult to discern with his smokier and denser presence. It’s unclear if this makes him a better performer or if the production value is just that putrid – or both.

    To their credit, Crystal Lake hasn’t had to change up their sound since Kinoshita’s departure, and the balance between ethereal atmosphere and chuggy metalcore remains a formidable asset. However, scattershot songwriting and odd track placement doom effectiveness beyond a few sparse moments to break up the confused, knuckleheaded beatdowns. The Weight of Sound is everything you loved about The Sign eleven years ago, but with less identity and more distraction, chugging along for one song before brutalizing you with breakdowns the next. But most notable is Crystal Lake’s lack of direction: The Weight of Sound is all chugs and atmosphere with no clear purpose.

    Rating: 2.0/5.0
    DR: N/A | Format Reviewed: 320 kb/s mp3
    Label: Century Media Records
    Websites: crystallake-worldwide.com | facebook.com/crystallake777
    Releases Worldwide: January 23rd, 2026

    #20 #2026 #BuryYourDead #CenturyMediaRecords #Counterparts #CrystalLake #Deathcore #Djent #Erra #FireFromTheGods #Hardcore #Jan26 #JapaneseMetal #KillswitchEngage #Knosis #LeftToSuffer #MelodicHardcore #Metalcore #MiserySignals #NuMetal #ParkwayDrive #Review #Reviews #SevenHoursAfterViolet #SignsOfTheSwarm #TheGhostInside #TheLastTenSecondsOfLife #TheWeightOfSound #Volumes
  5. November is voorbij en december is van start gegaan. Welke bands brachten er muziek uit, en van wie kunnen we dat nog verwachten? Check het in ons albumoverzicht! In december o.a. ENTHRONED, Half Dizzy en Volumes. nine32.nl/album-releases-2025/

    #Enthroned #HalfDizzy #Volumes #Rock #Metal #NewMusic

  6. Slaying the #healthcare zombie
    🧐"Many #doctors #work up to 100 hours per week, more than double the 45-hour limit stipulated under the #labourlaw, largely due to high #patient #volumes under #Thailand's 30-baht #universalhealthcare #scheme.. 455 doctors left the #public sector each year on average. With abt 24,000 doctors under the ministry, one doctor in the #publichealth #system serves approximately 2,000 people -- double the #WHO's recommended ratio"
    #UHC #reform
    bangkokpost.com/thailand/gener

  7. #China’s national #railways are #powering ahead in 2025, with #freight #volumes climbing steadily as the country strengthens its #logistics #backbone. From January to April, #railway moved a staggering 1.3 billion tonnes of #goods, #marking a 3.6% increase compared to the same period last year, according to the latest #Chinese #data.
    cnbusinessforum.com/chinas-rai

  8. #China’s national #railways are #powering ahead in 2025, with #freight #volumes climbing steadily as the country strengthens its #logistics #backbone. From January to April, #railway moved a staggering 1.3 billion tonnes of #goods, #marking a 3.6% increase compared to the same period last year, according to the latest #Chinese #data.
    cnbusinessforum.com/chinas-rai

  9. #China’s national #railways are #powering ahead in 2025, with #freight #volumes climbing steadily as the country strengthens its #logistics #backbone. From January to April, #railway moved a staggering 1.3 billion tonnes of #goods, #marking a 3.6% increase compared to the same period last year, according to the latest #Chinese #data.
    cnbusinessforum.com/chinas-rai

  10. #China’s national #railways are #powering ahead in 2025, with #freight #volumes climbing steadily as the country strengthens its #logistics #backbone. From January to April, #railway moved a staggering 1.3 billion tonnes of #goods, #marking a 3.6% increase compared to the same period last year, according to the latest #Chinese #data.
    cnbusinessforum.com/chinas-rai

  11. #China’s national #railways are #powering ahead in 2025, with #freight #volumes climbing steadily as the country strengthens its #logistics #backbone. From January to April, #railway moved a staggering 1.3 billion tonnes of #goods, #marking a 3.6% increase compared to the same period last year, according to the latest #Chinese #data.
    cnbusinessforum.com/chinas-rai

  12. #China’s national #railways are #powering ahead in 2025, with #freight #volumes climbing steadily as the country strengthens its #logistics #backbone. From January to April, #railway moved a staggering 1.3 billion tonnes of #goods, #marking a 3.6% increase compared to the same period last year, according to the latest #Chinese #data.
    cnbusinessforum.com/chinas-rai

  13. #China’s national #railways are #powering ahead in 2025, with #freight #volumes climbing steadily as the country strengthens its #logistics #backbone. From January to April, #railway moved a staggering 1.3 billion tonnes of #goods, #marking a 3.6% increase compared to the same period last year, according to the latest #Chinese #data.
    cnbusinessforum.com/chinas-rai

  14. #China’s national #railways are #powering ahead in 2025, with #freight #volumes climbing steadily as the country strengthens its #logistics #backbone. From January to April, #railway moved a staggering 1.3 billion tonnes of #goods, #marking a 3.6% increase compared to the same period last year, according to the latest #Chinese #data.
    cnbusinessforum.com/chinas-rai

  15. #China’s national #railways are #powering ahead in 2025, with #freight #volumes climbing steadily as the country strengthens its #logistics #backbone. From January to April, #railway moved a staggering 1.3 billion tonnes of #goods, #marking a 3.6% increase compared to the same period last year, according to the latest #Chinese #data.
    cnbusinessforum.com/chinas-rai

  16. #China’s national #railways are #powering ahead in 2025, with #freight #volumes climbing steadily as the country strengthens its #logistics #backbone. From January to April, #railway moved a staggering 1.3 billion tonnes of #goods, #marking a 3.6% increase compared to the same period last year, according to the latest #Chinese #data.
    cnbusinessforum.com/chinas-rai

  17. #China’s national #railways are #powering ahead in 2025, with #freight #volumes climbing steadily as the country strengthens its #logistics #backbone. From January to April, #railway moved a staggering 1.3 billion tonnes of #goods, #marking a 3.6% increase compared to the same period last year, according to the latest #Chinese #data.
    cnbusinessforum.com/chinas-rai

  18. #China’s national #railways are #powering ahead in 2025, with #freight #volumes climbing steadily as the country strengthens its #logistics #backbone. From January to April, #railway moved a staggering 1.3 billion tonnes of #goods, #marking a 3.6% increase compared to the same period last year, according to the latest #Chinese #data.
    cnbusinessforum.com/chinas-rai

  19. #China’s national #railways are #powering ahead in 2025, with #freight #volumes climbing steadily as the country strengthens its #logistics #backbone. From January to April, #railway moved a staggering 1.3 billion tonnes of #goods, #marking a 3.6% increase compared to the same period last year, according to the latest #Chinese #data.
    cnbusinessforum.com/chinas-rai

  20. #China’s national #railways are #powering ahead in 2025, with #freight #volumes climbing steadily as the country strengthens its #logistics #backbone. From January to April, #railway moved a staggering 1.3 billion tonnes of #goods, #marking a 3.6% increase compared to the same period last year, according to the latest #Chinese #data.
    cnbusinessforum.com/chinas-rai

  21. #China’s national #railways are #powering ahead in 2025, with #freight #volumes climbing steadily as the country strengthens its #logistics #backbone. From January to April, #railway moved a staggering 1.3 billion tonnes of #goods, #marking a 3.6% increase compared to the same period last year, according to the latest #Chinese #data.
    cnbusinessforum.com/chinas-rai

  22. Use the appropriate solutions.

    are automatically allocated and managed on chosen storage providers.

    allow you to distribute read-only configurations in complex environments, possibly with specialized tools.

    are like configs, but with extra security. It can also be integrated to secrets managers.

    [2/4]

  23. Is Solana price primed for more upside now that SOL hit a new all-time high? - Solana’s fresh all-time highs were driven by investors’ memecoin mania a... - cointelegraph.com/news/is-sola #memecoin #ethereum #markets #raydium #volumes #solana #base #bnb #dex #tvl

  24. Ethereum price crashes often follow ETH open interest peaks — Will history repeat? - Ethereum’s futures open interest hit a new all-time high, but data shows... - cointelegraph.com/news/ether-p #liquidation #resistance #coinglass #ethereum #markets #futures #volumes #shorts #longs

  25. BNB DApp volumes down 25% in a week — Will BNB price follow? - BNB price staged a mild recovery, but could lackluster network activity ... - cointelegraph.com/news/bnb-dap #launchpad #markets #volumes #listing #solana #dapps #fees #bnb #cex #cz

  26. Ethereum’s value accretion narrative under duress after 19% drop in ETH DApp volumes - ETH price struggles to find reasons to rally after the network’s DApp vo... - cointelegraph.com/news/ethereu #deposits #markets #uniswap #volumes #staking #solana #layer2 #dapps #stake #venus #fees #bnb #dex #tvl

  27. BNB blasts past $700. Is there a limit to this rally? - BNB Chain activity and BNB derivatives indicate a healthy bull run, but ... - cointelegraph.com/news/bnb-bla #launchpad #markets #volumes #shorts #longs #jail #bnb #sol #cz

  28. Reading Time: 2 minutes

    This morning I made PhotoPrism self-booting. I am not certain that this is the write term so I will specify what I mean. PhotoPrism, when run via docker boots, when we tell it to boot, like any other app on our laptop. This morning, after a little time spent with AI I found the solution.

    I used ChatGPT for this help but this is to give you an idea of how to enable docker containers to boot automatically rather than manually. It’s by a little trial and error that I suceeded in what I wanted to do.

    Boiled down Chat GPT gave this overview

    To start a service: sudo systemctl start servicename.service
    To stop a service: sudo systemctl stop servicename.service
    To restart a service: sudo systemctl restart servicename.service
    To enable a service to start on boot: sudo systemctl enable servicename.service
    To disable a service from starting on boot: sudo systemctl disable servicename service

    In concrete terms you need to “sudo nano /etc/systemd/system/photoprism.service” and add

    [Unit]Description=PhotoPrism Docker Compose Service
    Requires=docker.service
    After=docker.service

    [Service]Type=oneshot
    RemainAfterExit=yes
    ExecStart=/usr/local/bin/docker-compose -f /path/to/your/docker-compose.yml up -d
    ExecStop=/usr/local/bin/docker-compose -f /path/to/your/docker-compose.yml down

    [Install]WantedBy=default.target

    In my case it was /usr/bin rather than local bin. That’s a little thing to look out for. To double check use “which docker-compose” and you will see what to use for the execstart address.

    If you are using an external volume double check that the mount point is static. I rebooted twice and got three mount points as well as an “original picture folder empty” message due to the photo drive being mounted in the wrong place. To fix this I used.

    sudo blkid

    to locate the uuid of the hard drive before personalising this line:

    UUID= /path/to/mountpoint ext4 defaults 0 2
    I left the defaults behaviouts. The 0 is for fsck to check the file system and 2 is the backup priority number.

    This is added via:

    sudo nano /etc/fstab

    Once you have ensured that the drive mount point will remain the same, boot after boot you can run the next lines.

    Reload Systemd

    sudo systemctl daemon-reload

    Enable PhotoPrism to launch at boot

    sudo systemctl enable photoprism.service

    To start the service

    sudo systemctl start photoprism.service

    And finally you can run

    sudo systemctl status photoprism.service
    to check service status.

    And Finally

    When I set up a server for photoprism or other services I want it to boot automatically as soon as the computer is booted. I don’t want to have to start services manually. With this workflow I was able to setup PhotoPrism to boot automatically, as well as to make sure that the photo drive would mount to the right place each time I booted the system.

    https://www.main-vision.com/richard/blog/photoprism-self-boot/

    #booting #learning #photoprism #systemd #volumes #walkThru