On February 7th, the Faculty of Science and Engineering atUniversidad de Manizales hosted an intensive series of workshops onIoT,LoRaWAN, and decentralized networks, in collaboration withSeeed Studio. More than 30 students and 5 faculty members from the fields of semiconductors and telecommunications, along with university directors, actively participated in this event, which combined theory, practice, and collaborative prototyping.
Workshop 1: Exploring IoT, LoRaWAN, and DePIN with SenseCAP
The first workshop focused on a theoretical and practical introduction toLoRaWAN,IoT, and DePIN. Participants explored theSenseCAP ecosystem, learning about its connectivity with networks such asHelium andThe Things Network. During an interactive session on Miro, they identified challenges within the university campus and proposed solutions usingSenseCAP devices.
Among the identified issues, the uncontrolled entry of domestic animals into the campus nature reserve was highlighted, posing risks to wildlife conservation. Additionally, there were concerns about monitoring and preserving water sources, as well as ensuring student safety from encounters with wild animals. Other proposals included monitoring unauthorized parking space usage with sensors such as theSenseCAP S1101 andXIAO ESP32S3 Sense.
Workshop 2: IoT System Architecture and Deployment for the Nature Reserve
In the second session, participants defined system architectures and proceeded with the implementation of a technology-based solution for the nature reserve. The selected devices,SenseCAP S2110 Sensor Builder andSenseCAP S1101, were used for wildlife identification and monitoring, combined with an audible alert system to warn students about the presence of animals.
The workshop included assembling and configuring sensors using theSenseCraft application, setting upSenseCAP CC Portal, and initiating the training of an AI vision model for wildlife identification. Due to adverse weather conditions, the installation in the reserve was postponed, but it will be completed in the coming days, with updates to follow.
Workshop 3: Mission Pack and Mesh Networks for Emergencies
The third workshop, aimed at faculty and senior students in systems and telecommunications, focused on theMission Pack, emphasizing its application in smart cities, communities, and institutions. A Meshtastic network was deployed usingT1000-E Tracker cards, simulating scenarios with no cellular or WiFi connectivity to evaluate its effectiveness in emergencies.
Use cases from across the Americas were analyzed, including flooding in Los Angeles, where deployingSenseCAP M2 andWM1302 within thereComputer of the Mission Pack could optimize rescue operations and disaster mitigation through real-time environmental monitoring.
Impact and Future of the Project
These workshops have enabled students and faculty to explore emerging technologies and prototype solutions for real-world challenges. In the coming days, the final system deployment in the nature reserve will take place in collaboration with the university’s IoT research group. This system will not only benefit the university community but will also provide new opportunities for Data Science students, who can use the collected data for research projects.
This event marks a significant step forward in adoptingIoT technologies in educational settings, demonstrating how open-source hardware and decentralized networks can drive real-world impact in communities.
A fellow maker friend invited me to do the tinyML Workshop at one of his workplace. At 1st I thought the participants will be consist of his employees but turned out he invited his other friends from other startup. And for sure I will not waste this chance to introduce Seeed Studio’s among the friends.
This workshop a bit different from before because Sensecraft AI have many new feature. So in this session I also cover the MQTT and training part of the Sensecraft AI using the Xiao ESP32S3 Sense.
After the workshop is done, I shared a little about the Lora Sensecap line of product. It gained interest from the participants and a few of them have plans to implement it their future project.
06 January 2025
Happy New Year! to kick off the spirit of New Year at the recess week of my campus I propose to do the tinyML workshop to a few students.
On Monday January 6th 2025 10 AM, the participants are eagerly waiting at a classroom that I already requested to the campus. Since the participants for this session is still in their 1st semester, I explained the basic tinyML 101. Then 2 hour later they already become a beginner tinyML engineer and has successfully created their own custom classification model the Sensecraft AI.
Sadly I am only allowed to use the classroom for hour, so at 12 AM I wrapped the session by giving them the Seeed Studio sticker and promised them that there will be a follow up workshop from this one.
Wrap Up 2024
Huge thanks to Seeed Studio for making 2024 a very fruitful year. I have done 9 workshops, 2 seminar and 1 mentoring session as A Ranger.
In this new year I hope there will be more places to cover for me to share my knowledge in the community.
We at Nextcloud have remained true to our vision: empowering collaboration without compromising on privacy. This year has been a testament to that commitment. Together with the passion of our global team and the support of our community we have not just build the best open-source collaboration tools, but expanded our dedication to open source itself.
In this annual wrap-up, we want to take a moment to celebrate this year’s achievements. Join us as we continue to reimagine what’s possible – shaping a world where open source, privacy and connection come together and drive progress for the greater good.
~ Nextcloud team
Charting global growth
Nextcloud is used around the world by private individuals, communities, enterprises, and governments. In 2024, millions of new users gained access through hundreds of new enterprise customers. In the wider community, exact numbers are difficult to come by but there are some 400-500K servers online and this number also continues to grow steadily, with tens of thousands of new deployments across the globe from the US to France, from Australia to Indonesia and South Africa to Hawaii.
These numbers convert in the change Nextcloud brings about, contributing to a more connected, privacy-respecting, transparent, and safer digital world – where we interact with government services, access our education, cast votes in elections, fill forms on websites and call our colleagues and friends through video chat.
Change starts with people
This year, our team has grown significantly, reflecting our success. With 20% increase in size we are now 118 strong united by a shared vision across 23 countries. That includes 7 working students who get a chance to learn the ropes at Nextcloud. While we have expanded into a bigger office space in Berlin, we remain proudly remote-first, reflecting the flexibility and global collaboration that define our culture.
A spirit of fellowship: Nextcloud community
As an open-source project, Nextcloud thrives not just on code but on the people behind it. Thanks to all the developers, translators, maintainers, and other enthusiasts that contribute, Nextcloud has grown into the platform of choice for those who value privacy, security, and transparency. Let us share some facts about Nextcloud in 2024!
38k+ GitHub commits
Made this year by the Nextcloud team and community.
11.3k+ new forum members
+8,4K new topics and +41.7 new posts on the Nextcloud Community forum.
100+ security experts thanked
Our engineers responded to reports in 5 hours on average, with 100% response efficiency.
100+ languages
Thanks to the translator community, Nextcloud is available in 107 languages, 41 exceeding 50% completion.
Click to listen to the podcast episode!
Shaping collaboration of tomorrow with Nextcloud Hub
The efficient Nextcloud Hub 8
Launching Nextcloud Hub 8 under the “Regain control over your time” theme, we made it all about efficiency. With Nextcloud Assistant 2.0 bringing innovative AI features, interactive widgets connecting our apps further, advancing chat and sharing tools and ambitious architecture undertakings, this release gave you more control than ever before.
The connected Nextcloud Hub 9
Our latest release brought a major visual redesign to the platform, resulting in a slicker experience all around. But it’s not all about the looks – with a growing stack of federation features, automation centralizing under Nextcloud Flow, and further efforts to elevate performance and scaling, Nextcloud Hub 9 made headlines this September as an “Explosive release”.
Nextcloud Talk: the open-source answer to Teams
In an unrestful world of today, dependency on centralized, opaque systems under strong foreign influence is a ticking clock. It is time the open-source world had a real answer to Microsoft Teams. Nextcloud Talk is the only open-source conferencing hub that seamlessly integrates chats, video meetings and webinar functionality in one powerful, privacy-respecting platform.
We are wrapping up 2024 with a strong standalone release of Nextcloud Talk, celebrating its reinvention within Nextcloud’s product portfolio. New desktop application, new AI features, new streaming capabilities, simplified and mindful collaboration, and reinforced security (again!) – we invite you to meet the new Nextcloud Talk.
Standing ground against Big Tech
In an attempt to slow down the antitrust case backed by Nextcloud and other members of the Coalition for level playing field, Microsoft has unbundled Teams from the Windows ecosystem. Such “malicious compliance” is one of the common instruments in the Big Tech arsenal used to resist the limiting market regulations. A legislation like EU’s Digital Markets Act (DMA) could protect fair competition further, once it targets Microsoft’s cloud products that squeeze numerous local providers from the market.
With this struggle still far from over, some results of our common efforts are evident. Earlier this year, Germany has officially recognized Microsoft as a tech giant and made it “subject to extended abuse control”, three years since the formal antitrust complaint.
When the global IT so evidently lacks digital sovereignty and resilience, we naturally consider the fight for a fair trade a part of our mission.
AI with ethical integrity
Like we said in one of the early introductions to our AI tools, some AI is hype and some is substance. And we want to give you the substance. Nextcloud does become a better version of itself with the evolving AI stack, helping you get some tasks done quicker.
The back-end, the UX, the features, and the models you can use to power up Nextcloud Assistant – this year our engineers and contributors have done work to be proud of. From context-aware features with Nextcloud Assistant 2.0 and chat UI and platform-wide integration in Nextcloud Hub 9 to new open-source AI models – you can enjoy a fully AI-powered workspace.
And most importantly, you stay in control of this powerful technology. To build the system that you can rely on and keep your data yours, you can refer to our Ethical AI Rating and decide what AI you want to use in Nextcloud Hub.
Ready for mission-critical, enterprise deployment
Enterprise support for Roundcube
Since Roundcube joined us, Nextcloud began to receive requests from large hosting companies for support. In August Nextcloud introduced the first official offering of enterprise support for Roundcube! It is tailored specifically for mail providers running large instances with thousands to millions of end users. We also offer our services to help businesses, universities and the public sector, but our offering makes the most sense for larger installations.
Process automation at scale with Nextcloud Flow
Shortly before Nextcloud Hub 9, Nextcloud has presented the first automation-enabled open source platform for implementing the Online Access Act (Onlinezugangsgesetz, OZG) in Germany and similar use cases in other countries. The Nextcloud Flow toolbox provides administrations with a digitally sovereign tool for offering and automating public services online and for exchanging the underlying processes among themselves.
BITV 2.0 certified Nextcloud
Nextcloud Enterprise has been awarded a German BITV 2.0 certification that is based on WCAG 2.0 benchmark. This means that the enterprise and public sector users can be confident in the accessibility standards of Nextcloud. The platform is designed with all users’ needs in mind, suitable for people with limitations and requirements for non-standard input devices and additional measures like a screen reader. Contact your sales representative if you require the certification.
News talk: In the spotlight
Spanish newspaper El Espanol reported on the Nextcloud Community Conference.
German netzpolitik.org and others reported on the update regarding the complaint against Microsoft.
German newspaper Der Tagesspiegel published a bylined article by Frank Karlitschek on open source as a pioneer of digital sovereignty.
Weekly newspaper Die Zeit published an article on Microsoft’s practices of bundling following an interview with Frank Karlitschek.
Süddeutsche Zeitung Dossier published an article exploring the transition of Schleswig-Holstein state administration from Microsoft, featuring a conversation with Frank Karlitschek and Dirk Schrödter of Schleswig-Holstein.
This September, we hosted our annual community gathering in Berlin once again. With attendance beating all the records, we certainly scaled up – and so did the program! Our guests – about 200 open-source enthusiasts, Nextcloud lovers, and team – were joined by speakers of a great caliber: computer scientist, author and spokeswoman of the Chaos Computer Club Constanze Kurz, and professor Björn Lundell, a researcher and Software Systems Research Group lead at the University of Skövde.
As always, Nextcloud Community Conference is a platform for our community to showcase their projects and discuss modern day wins and challenges of open-source! You can find the recordings of all the lightning talks in a dedicated YouTube playlist.
Nextcloud Enterprise Day in Paris, Munich and Frankfurt
Nextcloud Enterprise Day is gaining a momentum each year. Over two hundred enterprise and public decision makers attended our first event in Frankfurt in 2024. Featuring keynotes by leading voices across industries, product announcements and roadmap sneak peeks, and ample opportunities for networking and optimizing your platform, it provides a premier setting to explore and advance privacy, digital sovereignty, and digitalization. The success prompted us to organize two more events, in Munich and Paris.
This year, we hosted Nextcloud Enterprise Day in three cities:
Nextcloud Enterprise Day Munich
Nextcloud Enterprise Day Frankfurt
Nextcloud Enterprise Day Paris
Each year, Nextcloud Enterprise Day events grow in relevance among enterprise audiences, evident in rising attendance and enthusiasm. In 2025, we aim to amplify their impact by exploring new formats and locations.
This year’s content highlights
This year has been busy for our content team. Numbers speak: 154 blog articles, 9 Nextcloud Podcast episodes, 59 videos, 14 community newsletters, an a lot more content across social media and other channels. Here are some of the most popular pieces for you.
With our developer program, you get an opportunity to create apps for hundreds of thousands of Nextcloud servers deployed across the globe. With our App Store, you get free promotion and an opportunity to publish apps for both end users and businesses.
Create new apps or build on top of the Nextcloud platform using 11 available app tutorials. This year, we added 2 new tutorials: a ‘hello world’ app tutorial and a guide to using Github Codespaces as a developer environment.
Other important improvements for developers this year include:
Getting help from Nextcloud translator community with Transifex
New mechanics in AppStore: donations, enterprise support
We designed Nextcloud to fit effortlessly into your existing workflows – by offering a wide range of integrations with popular tools and platforms, and an ability to create unique Nextcloud-ready apps in any programming language. This year, we introduced integrations with popular apps XWiki and Paperless-ngx, added new AI models to power up Nextcloud Assistant, and enabled enterprise support for a range of apps, working together with teams behind them.
New app integrations:
Paperless-ngx
XWiki
Enterprise support for apps:
Mailvelope
Dovecot
Stalwart
New AI models supported:
NeuralBeagle14 7B
Smaug-72b
LLama3
Let’s make it awesome in 2025!
If you made it this far, we hope this hefty read has brought you a personal reason to celebrate alongside us. From millions of new users choosing privacy to an ever-expanding deployments of servers worldwide, Nextcloud continues to connect people and organizations without compromising control over their data. And our story as a community-driven project is told by people. So today we thank you for being a part of it.
Recently in Italy, Dessap Loic one of our Seeed’s Rangers, was selected by MakerFaire Rome to showcase his project Robotsave bot and its various activities from October 25-27, 2024.
Maker Faire Rome the European Edition #MFR2024 is a large event that regroups makers from all around the world who share in common, imagination and creativity that becomes a reality, making innovation simple by showcasing various projects in electronics, artificial intelligence, robotics, virtual and augmented reality, gaming, music, art, education and much more
Robotsave is an innovative farm bot embedded with advanced sensors that collect essential soil and weather data. These sensor data are transmitted via LoRaWan to a server for quick analysis and predictions.
The system provides valuable insights into crop yield potential based on specific soil conditions and the precise locations or areas.
It also delivers real-time fertility assessments, recommending optimal water requirements and suitable natural fertilisers, all accessible through an intuitive mobile and Pc application.
In addition to RobotSave, he showcased the TmeEducation Arduino board, Seeed Studio SenseCap series, XIAO series, Vison AI and various STEM activities, IoT projects, and workshops we are conducting in Cameroon.
Violet Su was present to assist by performing a live demonstration of the Xiao esp32 Ai vision together with SensCap watcher, she also SeeedStudio’s various products and Academic support,
It was such an amazing opportunity and beautiful experience to be selected to exhibit our project among more than 100 exhibitors with other tech gadgets at Maker Faire Rome.
We had such amazing feedback and made new contacts with visitors and other exhibitors who would like to test our product for their projects.
We extend our heartfelt thanks to Makerfaire Rome-The European Edition, Seeed Studio, TmeEducation, Alison Yang and Robotsave Education for their support, sponsorship, and the opportunity they provided. A special thanks to all the visitors who stopped by my booth, Q9
Methods and Techniques of an Intelligent Way to Collect Data in Civil Engineering using IoT, to explore innovative approaches for optimising Data gathering processes and the application of Artificial Intelligence,
He covered several key points, including:
Sensor implementation, Sensor Data Collection and Transfer using various modes of communication, which are Wireless( Wifi, BLE, GSM, GPRS, 4G,5G, LoRaWan, LiFi etc) and wire(USB Serial, RG 45, RS4085, ADsl, Optical fibre, etc). We demonstrated how to define and choose an appropriate architecture, incorporating an IoT network from the LoRa Nodes (SenseCAP Industrial sensors from Seeed Studio) to the SenseCAP LoRa Gateway and Servers then to the end user (user interface).
Use Case projects: I presented practical applications such as crack measurement, tracking and bridge vibration monitoring, highlighting how IoT can provide real-time insights for infrastructure management.
AI-Driven Predictive Maintenance: I also showcased how artificial intelligence can be leveraged to predict and anticipate structural failures, optimize maintenance schedules, and enhance the longevity of civil engineering projects.
IoT projects are done in Cameroon and France:
In France, Caen: Neac Industry Setting up LoRaWan Network to collect sensor data and monitor an autonomous Navigation Electric shuffle Boat.*photo*
In Cameroon, Douala: KandaWeather Launching of Weather balloon Radio-Sonde and installation of SenseCAP Weather stations and Industrial Sensors to collect and provide decentralised weather data to predict the 12h rain forecasting to help farmers, Weather companies, and Air traffic controllers.
In Cameroon, at the Enset University of Douala and Softpower.
He performed a demo showcasing SenseCAP industrial sensors and LoRa Gateway from Seeed Studio and TME Education Arduino board to measure and send environmental data over LoRaWan and visualise the data over the Internet through the Node-Red platform using MQTT protocol.
This experience has reinforced the significant potential that AI and IoT hold for transforming civil engineering and improving infrastructure resilience.
By combining IoT’s data collection capabilities with AI’s predictive and analytical power, civil engineering is moving toward a future of smarter, safer, and more sustainable infrastructure. This synergy not only improves operational efficiency but also significantly reduces risks, costs, and environmental impacts.
Outdoor light displays are a fun holiday tradition — from simple light strings hung from the eaves to elaborate scenes that bring out your competitive spirit. If using open source tools, thousands of feet of electrical cables, custom controllers, and your favorite music to build complex projects appeals to you, then the holiday season offers the perfect opportunity to indulge your creative passion.
I personally run home light shows at Halloween and Christmas that feature up to 30,000 individually addressable LED lights synchronized with dozens of different songs. It’s been an interesting learning journey over the past five years, but it is also one that almost anyone can pursue, regardless of technical ability. Read on for tips on how to make a display that’s the highlight of your neighborhood.
Getting started with outdoor light shows
As you might expect, light shows are built using a combination of hardware and software. The hardware includes the lights, props, controllers, and cabling. On the software side, there are different tools for the programming, also called sequencing, of the lights as well as the playback of the show.
Figure 1: Light show hardware includes the lights, props, controllers, and cabling.
Hardware requirements
Lights
Let’s look more closely at the hardware behind the scenes starting with the lights. Multiple types of lights can be used in displays, but I’ll keep it simple and focus on the most popular choice. Most shows are built around 12mm RGB LED lights that support the WS2811 protocol, often referred to as pixels or nodes. Generally, these are not available at retail stores. That means you’ll need to order them online, and I recommend choosing a vendor that specializes in light displays. I have purchased lights from a few different vendors, but recently I’ve been using Wally’s Lights, Visionary Light Shows, and Your Pixel Store.
Props
The lights are mounted into different props — such as a spider for Halloween or a snowflake for the winter holidays. You can either purchase these props, which are usually made out of the same plastic cardboard material used in yard signs, or you can make them yourself. Very few vendors sell pre-built props, so be ready to push the pixels by hand — yes, in my display either I or someone in my family pushed each of the 30,000 lights into place when we initially built the props. I get most of my props from EFL Designs, Gilbert Engineering, or Boscoyo Studio.
Figure 2: The lights are mounted into different props, which you can purchase or make yourself.
Controllers
Once your props are ready to go, you’ll need something to drive them. This is where controllers come in (Figure 3). Like the props and lights, you can get your controllers from various specialized vendors and, to a large extent, you can mix and match different brands in the same show because they all speak the same protocols to control the pixels (usually E1.31 or DDP).
You can purchase controllers that are ready to run, or you can buy the individual components and build your own boxes — I grew up building PCs, so I love this degree of flexibility. However, I do tend to buy pre-configured controllers, because I like having a warranty from the manufacturer. My controllers all come from HolidayCoro, but Falcon controllers are also popular.
Figure 3: Once your props are ready to go, you’ll need a controller.
The number of controllers you need depends on the number of lights in your show. Most controllers have multiple outputs, and each output can drive a certain number of lights. I typically plan for about 400 lights per output. Plus, I use about three main controllers and four receiver boxes. Note that long-range receivers are a way of extending the distance you can place lights from the main controller, but this is more of an advanced topic and not one I’ll cover in this introductory article.
Cables
Although controllers are powered by standard household outlets, the connection from the controllers to the lights happens over specialized cabling. These extension cables contain three wires. Two are used to send power to the lights (either 5v or 12v), and a third is used to send data. Basically, this third wire sends instructions like “light 1,232 turn green for .5 seconds then fade to off over .25 seconds.” You can get these extension cables from any vendor that sells pixels.
Additionally, all of the controllers need to be on the same Ethernet network. Many folks run their shows on wireless networks, but I prefer a wired setup for increased performance and reliability.
Software and music
At this point, you have a bunch of props with lights connected to networked controllers via specialized cabling. But, how do you make them dance? That’s where the software comes in.
xLights
Many hobbyists use xLights to program their lights. This software is open source and available for Mac, Windows, and Linux, and it works with three basic primitives: props, effects, and time. You can choose what effect you want to apply to a given prop at a given time (Figure 4). The timing of the effect is almost always aligned with the song you’ve chosen. For example, you might flash snowflakes off and on in synchronization with the drum beat of a song.
Figure 4: Programming lights.
Music
If this step sounds overwhelming to you, you’re not alone. In fact, I don’t sequence my own songs. I purchase them from different vendors, who create sequences for generic setups with a wide variety of props. I then import them and map them to the different elements that I actually use in my show. In terms of time, professionals can spend many hours to animate one minute of a song. I generally spend about two hours mapping an existing sequence to my show’s layout. My favorite sequence vendors include BF Light Shows, xTreme Sequences, and Magical Light Shows.
Falcon Player
Once you have a sequence built, you use another piece of software to send that sequence to your show controllers. Some controllers have this software built in, but most people I know use another open source application, Falcon Player (FPP), to perform this task. Not only can FPP be run on a Raspberry Pi, but it also is shipped as a Docker image! FPP includes the ability to play back your sequence as well as to build playlists and set up a show schedule for automated playback.
Put it all together and flip the switch
When everything is put together, you should have a system similar to Figure 5:
Although building your own light show may seem like a daunting task, fear not; you are not alone. I have yet to mention the most important part of this whole process: the community. The xLights community is one of the most helpful I’ve ever been part of. You can get questions answered via the official Facebook group as well through as other groups dedicated to specific sequence and controller vendors. Additionally, a Zoom support meeting runs 24×7 and is staffed by hobbyists from across the globe. So, what are you waiting for? Go ahead and start planning your first holiday light show!
Navigating the complex world of containerized testing environments can be challenging, especially when dealing with Docker-in-Docker (DinD). As a senior DevOps engineer and Docker Captain, I’ve seen firsthand the hurdles that teams face with DinD, and here I’ll share why Testcontainers Cloud is a transformative alternative that’s reshaping the way we handle container-based testing.
Understanding Docker-in-Docker
Docker-in-Docker allows you to run Docker within a Docker container. It’s like Inception for containers — a Docker daemon running inside a Docker container, capable of building and running other containers.
How Docker-in-Docker works
Nested Docker daemons: In a typical Docker setup, the Docker daemon runs on the host machine, managing containers directly on the host’s operating system. With DinD, you start a Docker daemon inside a container. This inner Docker daemon operates independently, enabling the container to build and manage its own set of containers.
Privileged mode and access to host resources: To run Docker inside a Docker container, the container needs elevated privileges. This is achieved by running the container in privileged mode using the --privileged flag:
docker run --privileged -d docker:dind
The --privileged flag grants the container almost all the capabilities of the host machine, including access to device files and the ability to perform system administration tasks. Although this setup enables the inner Docker daemon to function, it poses significant security risks, as it can potentially allow the container to affect the host system adversely.
Filesystem considerations: The inner Docker daemon stores images and containers within the file system of the DinD container, typically under /var/lib/docker. Because Docker uses advanced file system features like copy-on-write layers, running an inner Docker daemon within a containerized file system (which may itself use such features) can lead to complex interactions and potential conflicts.
Cgroups and namespace isolation: Docker relies on Linux kernel features like cgroups and namespaces for resource isolation and management. When running Docker inside a container, these features must be correctly configured to allow nesting. This process can introduce additional complexity in ensuring that resource limits and isolation behave as expected.
Why teams use Docker-in-Docker
Isolated build environments: DinD allows each continuous integration (CI) job to run in a clean, isolated Docker environment, ensuring that builds and tests are not affected by residual state from previous jobs or other jobs running concurrently.
Consistency across environments: By encapsulating the Docker daemon within a container, teams can replicate the same Docker environment across different stages of the development pipeline, from local development to CI/CD systems.
Challenges with DinD
Although DinD provides certain benefits, it also introduces significant challenges, such as:
Security risks: Running containers in privileged mode can expose the host system to security vulnerabilities, as the container gains extensive access to host resources.
Stability issues: Nested containers can lead to storage driver conflicts and other instability issues, causing unpredictable build failures.
Complex debugging: Troubleshooting issues in a nested Docker environment can be complicated, as it involves multiple layers of abstraction and isolation.
Real-world challenges
Although Docker-in-Docker might sound appealing, it often introduces more problems than it solves. Before diving into those challenges, let’s briefly discuss Testcontainers and its role in modern testing practices.
What is Testcontainers?
Testcontainers is a popular open source library designed to support integration testing by providing lightweight, disposable instances of common databases, web browsers, or any service that can run in a Docker container. It allows developers to write tests that interact with real instances of external resources, rather than relying on mocks or stubs.
Key features of Testcontainers
Realistic testing environment: By using actual services in containers, tests are more reliable and closer to real-world scenarios.
Isolation: Each test session, or even each test can run in a clean environment, reducing flakiness due to shared state.
Easy cleanup: Containers are ephemeral and are automatically cleaned up after tests, preventing resource leaks.
Dependency on the Docker daemon
A core component of Testcontainers’ functionality lies in its interaction with the Docker daemon. Testcontainers orchestrates Docker resources by starting and stopping containers as needed for tests. This tight integration means that access to a Docker environment is essential wherever the tests are run.
The DinD challenge with Testcontainers in CI
When teams try to include Testcontainers-based integration testing in their CI/CD pipelines, they often face the challenge of providing Docker access within the CI environment. Because Testcontainers requires communication with the Docker daemon, many teams resort to using Docker-in-Docker to emulate a Docker environment inside the CI job.
However, this approach introduces significant challenges, especially when trying to scale Testcontainers usage across the organization.
Case study: The CI pipeline nightmare
We had a Jenkins CI pipeline that utilized Testcontainers for integration tests. To provide the necessary Docker environment, we implemented DinD. Initially, it seemed to work fine, but soon we encountered:
Unstable builds: Random failures due to storage driver conflicts and issues with nested container layers. The nested Docker environment sometimes clashed with the host, causing unpredictable behavior.
Security concerns: Running containers in privileged mode raised red flags during security audits. Because DinD requires privileged mode to function correctly, it posed significant security risks, potentially allowing containers to access the host system.
Performance bottlenecks: Builds were slow, and resource consumption was high. The overhead of running Docker within Docker led to longer feedback loops, hindering developer productivity.
Complex debugging: Troubleshooting nested containers became time-consuming. Logs and errors were difficult to trace through the multiple layers of containers, making issue resolution challenging.
We spent countless hours trying to patch these issues, but it felt like playing a game of whack-a-mole.
Why Testcontainers Cloud is a better choice
Testcontainers Cloud is a cloud-based service designed to simplify and enhance your container-based testing. By offloading container execution to the cloud, it provides a secure, scalable, and efficient environment for your integration tests.
How TestContainers Cloud addresses DinD’s shortcomings
Enhanced security
No more privileged mode: Eliminates the need for running containers in privileged mode, reducing the attack surface.
Isolation: Tests run in isolated cloud environments, minimizing risks to the host system.
Compliance-friendly: Easier to pass security audits without exposing the Docker socket or granting elevated permissions.
Improved performance
Scalability: Leverage cloud resources to run tests faster and handle higher loads.
Resource efficiency: Offloading execution frees up local and CI/CD resources.
Simplified configuration
Plug-and-play integration: Minimal changes are required to switch from local Docker to Testcontainers Cloud.
No nested complexity: Avoid the intricacies and pitfalls of nested Docker daemons.
Better observability and debugging
Detailed logs: Access comprehensive logs through the Testcontainers Cloud dashboard.
Real-time monitoring: Monitor containers and resources in real time with enhanced visibility.
Getting started with Testcontainers Cloud
Let’s dive into how you can get the most out of Testcontainers Cloud.
Switching to Testcontainers Cloud allows you to run tests without needing a local Docker daemon:
No local Docker required: Testcontainers Cloud handles container execution in the cloud.
Consistent environment: Ensures that your tests run in the same environment across different machines.
Additionally, you can easily integrate Testcontainers Cloud into your CI pipeline to run the same tests without scaling your CI infrastructure.
Using Testcontainers Cloud with GitHub Actions
Here’s how you can set up Testcontainers Cloud in your GitHub Actions workflow.
1. Create a new service account
Log in to Testcontainers Cloud dashboard.
Navigate to Service Accounts:
Create a new service account dedicated to your CI environment.
Generate an access token:
Copy the access token. Remember, you can only view it once, so store it securely.
2. Set the TC_CLOUD_TOKEN environment variable
In GitHub Actions:
Go to your repository’s Settings > Secrets and variables > Actions.
Add a new Repository Secret named TC_CLOUD_TOKEN and paste the access token.
3. Add Testcontainers Cloud to your workflow
Update your GitHub Actions workflow (.github/workflows/ci.yml) to include the Testcontainers Cloud setup.
Example workflow:
name: CI Pipeline
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
# ... other preparation steps (dependencies, compilation, etc.) ...
- name: Set up Java
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '17'
- name: Setup Testcontainers Cloud Client
uses: atomicjar/testcontainers-cloud-setup-action@v1
with:
token: ${{ secrets.TC_CLOUD_TOKEN }}
# ... steps to execute your tests ...
- name: Run Tests
run: ./mvnw test
Notes:
The atomicjar/testcontainers-cloud-setup-action GitHub Action automates the installation and authentication of the Testcontainers Cloud Agent in your CI environment.
Ensure that your TC_CLOUD_TOKEN is kept secure using GitHub’s encrypted secrets.
Clarifying the components: Testcontainers Cloud Agent and Testcontainers Cloud
To make everything clear:
Testcontainers Cloud Agent (CLI in CI environments): In CI environments like GitHub Actions, you use the Testcontainers Cloud Agent (installed via the GitHub Action or command line) to connect your CI jobs to Testcontainers Cloud.
Testcontainers Cloud: The cloud service that runs your containers, offloading execution from your CI environment.
In CI environments:
Use the Testcontainers Cloud Agent (CLI) within your CI jobs.
Authenticate using the TC_CLOUD_TOKEN.
Tests executed in the CI environment will use Testcontainers Cloud.
Monitoring and debugging
Take advantage of the Testcontainers Cloud dashboard:
Session logs: View logs for individual test sessions.
Container details: Inspect container statuses and resource usage.
Debugging: Access container logs and output for troubleshooting.
Why developers prefer Testcontainers Cloud over DinD
Real-world impact
After integrating Testcontainers Cloud, our team observed the following:
Faster build times: Tests ran significantly faster due to optimized resource utilization.
Reduced maintenance: Less time spent on debugging and fixing CI pipeline issues.
Enhanced security: Eliminated the need for privileged mode, satisfying security audits.
Better observability: Improved logging and monitoring capabilities.
Addressing common concerns
Security and compliance
Data isolation: Each test runs in an isolated environment.
Encrypted communication: Secure data transmission.
Efficiency gains: Time saved on maintenance offsets the cost.
Resource optimization: Reduces the need for expensive CI infrastructure.
Compatibility
Multi-language support: Works with Java, Node.js, Python, Go, .NET, and more.
Seamless integration: Minimal changes required to existing test code.
Conclusion
Switching to Testcontainers Cloud, with the help of the Testcontainers Cloud Agent, has been a game-changer for our team and many others in the industry. It addresses the key pain points associated with Docker-in-Docker and offers a secure, efficient, and developer-friendly alternative.
Key takeaways
Security: Eliminates the need for privileged containers and Docker socket exposure.
Performance: Accelerates test execution with scalable cloud resources.
Simplicity: Simplifies configuration and reduces maintenance overhead.
Observability: Enhances debugging with detailed logs and monitoring tools.
As someone who has navigated these challenges, I recommend trying Testcontainers Cloud. It’s time to move beyond the complexities of DinD and adopt a solution designed for modern development workflows.
In nearly 1,000 days, the WordPress community has created 1,000 Block themes—coming together to use the full potential of the Site Editor and unleash new creative possibilities for everyone.
First introduced in WordPress 5.9, Block themes have steadily evolved, improving flexibility and functionality for themers, users, and agencies alike. Now, design tools allow customizing almost every detail. With style variations, users can change the overall look of their site in a few clicks. You can even use curation options to customize the editing process itself. But we’re not done! We can’t wait to keep pushing Block themes even further. Thank you to every early adopter who, by embracing early features with passion, helped shape the Block themes we love today with feedback and testing.
If you haven’t yet explored Block themes, check out some of the resources below to get inspired:
At the heart of our community is our shared pledge to create a space that is harassment-free, welcoming, and inclusive for all. Our Community Code of Conduct already outlines a clear set of expectations, while also providing examples of unacceptable actions. Today, we are reinforcing our values by adding another element to our list of unacceptable behaviors: Publishing private messages without consent.
Why This Addition Matters
The relationships we build within our community often involve private discussions. These conversations may involve sensitive matters, personal experiences, or simply casual exchanges. Regardless of the content, every individual should feel confident that their private communications will remain private unless they grant explicit permission to share them.
Sharing private messages without consent is a breach of trust that can also lead to unintended harm, including emotional distress or misrepresentation. When members of our community feel they cannot trust others in their personal conversations, it undermines the collaborative spirit that is crucial to our collective success.
How This Change Protects the Community
By explicitly addressing the publication of private messages without consent, we are reinforcing an existing unacceptable behavior in our Community Code of Conduct: Other conduct which could reasonably be considered inappropriate in a professional setting. Sharing private communications without permission is a clear violation of professional integrity.
This new addition ensures that private messages receive the same level of protection as personal information and that sensitive communications shared in confidence will not be disclosed without prior consent. An important exception to this is when sharing private messages is necessary for reporting incidents or concerns to the Incident Response Team, as part of our commitment to maintaining a safe and respectful environment.
Ultimately, this change encourages honest, constructive engagement across all levels of participation.
Moving Forward Together
The strength of our community lies in the trust we place in one another. By clarifying and reinforcing our expectations, we are taking another step toward maintaining an inclusive, respectful, and safe environment for everyone.This new addition will take effect immediately, and violations will be handled in accordance with our existing enforcement guidelines. Together, we can ensure our community remains a place of collaboration, trust, and mutual respect.
This post was contributed by Jesús Espino, Principal Engineer at Mattermost.
In the ever-evolving software development landscape, ensuring robust and reliable plugin integration is no small feat. For Mattermost, relying solely on mocks for plugin testing became a limitation, leading to brittle tests and overlooked integration issues. Enter Testcontainers, an open source tool that provides isolated Docker environments, making complex integration testing not only feasible but efficient.
In this blog post, we dive into how Mattermost has embraced Testcontainers to overhaul its testing strategy, achieving greater automation, improved accuracy, and seamless plugin integration with minimal overhead.
The previous approach
In the past, Mattermost relied heavily on mocks to test plugins. While this approach had its merits, it also had significant drawbacks. The tests were brittle, meaning they would often break when changes were made to the codebase. This made the tests challenging to develop and maintain, as developers had to constantly update the mocks to reflect the changes in the code.
Furthermore, the use of mocks meant that the integration aspect of testing was largely overlooked. The tests did not account for how the different components of the system interacted with each other, which could lead to unforeseen issues in the production environment.
The previous approach additionally did not allow for proper integration testing in an automated way. The lack of automation made the testing process time-consuming and prone to human error. These challenges necessitated a shift in Mattermost’s testing strategy, leading to the adoption of Testcontainers for complex integration testing.
Mattermost’s approach to integration testing
Testcontainers for Go
Mattermost uses Testcontainers for Go to create an isolated testing environment for our plugins. This testing environment includes the Mattermost server, the PostgreSQL server, and, in certain cases, an API mock server. The plugin is then installed on the Mattermost server, and through regular API calls or end-to-end testing frameworks like Playwright, we perform the required testing.
We have created a specialized Testcontainers module for the Mattermost server. This module uses PostgreSQL as a dependency, ensuring that the testing environment closely mirrors the production environment. Our module allows the developer to install and configure any plugin you want in the Mattermost server easily.
To improve the system’s isolation, the Mattermost module includes a container for the server and a container for the PostgreSQL database, which are connected through an internal Docker network.
Additionally, the Mattermost module exposes utility functionality that allows direct access to the database, to the Mattermost API through the Go client, and some utility functions that enable admins to create users, channels, teams, and change the configuration, among other things. This functionality is invaluable for performing complex operations during testing, including API calls, users/teams/channel creation, configuration changes, or even SQL query execution.
This approach provides a powerful set of tools with which to set up our tests and prepare everything for verifying the behavior that we expect. Combined with the disposable nature of the test container instances, this makes the system easy to understand while remaining isolated.
This comprehensive approach to testing ensures that all aspects of the Mattermost server and its plugins are thoroughly tested, thereby increasing their reliability and functionality. But, let’s see a code example of the usage.
We can start setting up our Mattermost environment with a plugin like this:
Here, you can decide when you tear down your Mattermost instance and recreate it. Once per test? Once per a set of tests? It is up to you and depends strictly on your needs and the nature of your tests.
Testcontainers for Node.js
In addition to using Testcontainers for Go, Mattermost leverages Testcontainers for Node.js to set up our testing environment. In case you’re unfamiliar, Testcontainers for Node.js is a Node.js library that provides similar functionality to Testcontainers for Go. Using Testcontainers for Node.js, we can set up our environment in the same way we did with Testcontainers for Go. This allows us to write Playwright tests using JavaScript and run them in the isolated Mattermost environment created by Testcontainers, enabling us to perform integration testing that interacts directly with the plugin user interface. The code is available on GitHub.
This approach provides the same advantages as Testcontainers for Go, and it allows us to use a more interface-based testing tool — like Playwright in this case. Let me show a bit of code with the Node.js and Playwright implementation:
With these two approaches, we can create integration tests covering the API and the interface without having to mock or use any other synthetic environment. Also, we can test things in absolute isolation because we consciously decide whether we want to reuse the Testcontainers instances. We can also reach a high degree of isolation and thereby avoid the flakiness induced by contaminated environments when doing end-to-end testing.
Examples of usage
Currently, we are using this approach for two plugins.
This integration helps users in their daily tasks using AI large language models (LLMs), providing things like thread and meeting summarization and context-based interrogation.
This plugin has a rich interface, so we used the Testcontainers for Node and Playwright approach to ensure we could properly test the system through the interface. Also, this plugin needs to call the AI LLM through an API. To avoid that resource-heavy task, we use an API mock, another container that simulates any API.
This approach gives us confidence in the server-side code but in the interface side as well, because we can ensure that we aren’t breaking anything during the development.
This integration is designed to connect MS Teams and Mattermost in a seamless way, synchronizing messages between both platforms.
For this plugin, we mainly need to do API calls, so we used Testcontainers for Go and directly hit the API using a client written in Go. In this case, again, our plugin depends on a third-party service: the Microsoft Graph API from Microsoft. For that, we also use an API mock, enabling us to test the whole plugin without depending on the third-party service.
We still have some integration tests with the real Teams API using the same Testcontainers infrastructure to ensure that we are properly handling the Microsoft Graph calls.
Benefits of using Testcontainers libraries
Using Testcontainers for integration testing offers benefits, such as:
Isolation: Each test runs in its own Docker container, which means that tests are completely isolated from each other. This approach prevents tests from interfering with one another and ensures that each test starts with a clean slate.
Repeatability: Because the testing environment is set up automatically, the tests are highly repeatable. This means that developers can run the tests multiple times and get the same results, which increases the reliability of the tests.
Ease of use: Testcontainers is easy to use, as it handles all the complexities of setting up and tearing down Docker containers. This allows developers to focus on writing tests rather than managing the testing environment.
Testing made easy with Testcontainers
Mattermost’s use of Testcontainers libraries for complex integration testing in their plugins is a testament to the power and versatility of Testcontainers.
By creating a well-isolated and repeatable testing environment, Mattermost ensures that our plugins are thoroughly tested and highly reliable.
We are launching Nextcloud Hub 9 in Berlin from the Nextcloud Conference, our yearly community contributor and user event. Being here always reminds me of why we started Nextcloud in the first place: putting you back in control over your data.
More and more of our digital lives are controlled by a shrinking number of big tech firms and their CEO’s. We believe there is a better way.
So we designed Nextcloud with decentralisation in mind. You can run it at home, in your business, your government agency or your local sports club. You decide who has access, and when the services of a big tech firm fall over, you can keep working.
But life isn’t about being alone on an island – it is about connecting people! Nextcloud Hub 9 is perfect for that, too. Our Federation features allows Nextcloud servers to talk to each other, bringing our tens of millions of users together from across the globe.
Of course, this release brings much more than federation. We help the public sector automate its processes so they can help you better; a chat mode in our AI Assistant; we introduce a brand new whiteboard to support your brainstorms and meeting notes; and there is a new more compact design with a fresh new background!
As always, we look forward to your feedback! Nextcloud is people, as much as technology, and if you want you can come say hi to us at the dozens of events we visit every year. Check out our event list and meet some fellow Nextclouders!
Greetings, Jos & the Nextcloud team
Decentralize your life!
Nextcloud Hub has grown into a leading open-source platform for collaboration, thanks to our tireless efforts to excel in privacy while bringing new cutting-edge features to the table with each release. Today, we launch Nextcloud Hub 9, a new iteration of our platform that pioneers automation tools, empowers teams, and drives digital transformation.
Sounds ambitious? We call it Tuesday!
A big design redo
To make Nextcloud more tidy and efficient while adding all the new features, we introduced countless design improvements around the entire platform and its applications.
Auto-magic with Nextcloud Flow
Our new Windmill-based app, part of Nextcloud Flow automation features, is an enterprise-focused process automation engine that is deeply integrated in Nextcloud Hub. It makes it possible to automate processes and flows: taking data from a form, parsing a PDF in an email, or processing a spreadsheet import, it kicks off actions like processing a payment through a third party provider, storing results in a table, notifying a user to approve the state and then generating and emailing a PDF.
A new creative medium
With the new Nextcloud Whiteboard, get creative together: even organize a drawing class in Nextcloud Talk! Now you have a limitless canvas to sketch, draw and plan collaboratively anywhere, even inside Nextcloud Talk calls.
Centralized? Let’s move on!
It is time to stop depending on big tech firms that control every aspect of our lives, and federation is the key! It means decentralising while letting separate systems interact with each other – exactly how email works. With Nextcloud Hub 9 we bring federation from files sharing and now to chats and video calls!
Your favorite cloud with hip new tools
We improved Nextcloud Hub with numerous new features throughout: Nextcloud Assistant’s Chat UI and support for hundreds of new languages for AI translations, a new wizard to request files in Nextcloud Files, AI-powered follow-up reminders and phishing detection in Nextcloud Mail, augmented reality calls with Nextcloud Talk, an easy way to fill in forms in Nextcloud Office, and so much more.
Collective innovation behind Nextcloud
Nextcloud is rooted in community, standing on the foundation of collective innovation. On behalf of the Nextcloud team, we want to thank everyone involved in coding, testing, sharing, providing feedback, supporting, and nurturing Nextcloud Hub, giving us a reason to celebrate this new release together.
Introducing Nextcloud Hub 9: a webinar
Join us live on September 26 to discover all the new features in Nextcloud Hub 9.
Can’t attend? You can still register and get the recording!
We believe that software should be accessible to everyone and everywhere, easy to use and always ready to work the way you expect it to. As new features and apps join Nextcloud Hub, we want to make sure we stay true to these principles.
If you have a feeling that something is different this time around, you are right! With more and more features being added every release, we want to prevent a sense of overwhelm in Nextcloud Hub’s interface. That’s why we gave our interface a make-over, letting the whole platform evolve while remaining highly accessible and user friendly.
More compact
First, we made everything more compact by downsizing various elements: input fields, buttons, links. This change lets us make use of the space more efficiently compared to our old interface. The new design is more cohesive and user-friendly, and we trust you’ll notice the difference once you experience it.
More tidy
Using rounded corners for various elements like buttons and fields, we achieved a more balanced aesthetic that maintains a relaxed visual experience without being overly stylized. It feels familiar across modern apps and devices, and it also allows for more efficient use of visual space.
And with a fresh new dynamic background
In Nextcloud Hub, you can also use any background you wish. The interface color scheme adjusts to match your background’s palette, giving your platform a cohesive and polished appearance — even on your mobile devices!
We are celebrating the new look of Nextcloud Hub with a new background style available in your Appearance settings. The new version supports dynamic backgrounds that adapt to your light or dark interface theme preferences. This background is the first to support themes in Nextcloud Hub 9, with more dynamic background designs coming soon!
Even more design improvements
Nextcloud Hub 9 brings multiple other feature- and app-specific improvements across various applications: Nextcloud Files, Nextcloud Calendar, our mobile and desktop clients, and more. We are going to discuss them in the dedicated sections of this blog in more detail.
Now let’s move to new features, starting with one particular app that enables a whole new dimension of functionality in your Nextcloud Hub.
Welcome Nextcloud Flow
For most of us, it is easy to imagine learning, shopping, and banking from your mobile phone no matter where you are. For some, even accessing a government service entirely from the comfort of their home is a reality. For others — hopefully a future.
Nextcloud offers an extraordinary platform to work in, fully digitally. Our apps let you effortlessly handle, share and work on documents with Nextcloud Files and Nextcloud Office or track and process structured data with Nextcloud Tables. Nextcloud Talk and Nextcloud Groupware help with planning and communication, and dozens of other apps help with tasks like processing forms, tracking tasks and more.
All this is built on an open standards based platform. The Open Collaboration Services API supported by Nextcloud makes it easy to connect with other systems, sending or receiving data and building new apps.
The introduction of our new Windmill-based application brings digitalization to a new level. It allows automation of processes, taking data from within and outside of Nextcloud, tying in with its communication and planning tools and thus acting as a conductor leading an orchestra of processes!
How to Flow?
Nextcloud Flow combines features that help Nextcloud automate a variety of processes in your organisation. It consists of several components, from our Open Collaboration Services API (OCS API) and our structured data management application Nextcloud Tables to our existing workflow tool to our brand new business process automation application based on Windmill.
Windmill integration in Nextcloud Hub automates repetitive tasks by integrating your Nextcloud Hub apps and related assets into cohesive workflows. For instance, vacation requests, payment confirmations, or approvals for accessing and sharing data. The app provides a graphic interface to design, manage, and monitor workflows, making it easier to automate processes and improve efficiency.
The automation, build with the open source team at Windmill, uses everything that makes Nextcloud such a powerful platform: file handling, chat, notifications, structured data in Nextcloud Tables, Nextcloud Office and much more. Dozens of API’s have been developed, all as part of the standardized Open Collaboration Services API, making it easy to connect Nextcloud to other systems.
Understanding the flows
Windmill identifies events in Nextcloud Hub and triggers custom ‘flows’ created by you to retrieve and exchange data and perform sequences of actions across various apps and assets. Each flow is composed of ‘bricks,’ or individual actions that you program using a script.
The new workflow automation app is very flexible. It can run consecutive flows, or execute multiple flows in parallel, trigger an approval request for an employee, interact with external services like payment systems, and much more.
Digitalize processes in the public sector
Windmill integration in Nextcloud Hub has been designed to help the public sector comply with legislation like The Online Access Act (Onlinezugangsgesetz, OZG), a law in Germany that mandates citizens’ ability to interact with government services online, or with the EMBAG legislation in Switzerland that requires the public sector to use and develop open source solutions.
You can learn more about the challenges the public sector faces and how Windmill integration in Nextcloud Hub can help in our earlier blog post.
“The Online Access Act obliges the public sector to provide all administrative services digitally going forward. Open source software should be prioritised here. We are therefore delighted that with ‘Open Collaboration Services’, a 100% open source solution has been created for the first time with which specialised procedures can be implemented quickly and easily. Open source enables the simple sharing of specialised procedures on Open CoDE, which saves costs and strengthens digital sovereignty.”
Markus Richter
State Secretary at the Federal Ministry of the Interior and Community and Federal Government Commissioner for Information Technology
Decentralization through federation
Federated features allow users of self-hosted platforms like Nextcloud Hub to communicate, share files, and collaborate across instances while storing their data locally. Federation is a foundational tool for digital sovereignty, enabling the creation of decentralized yet interconnected ecosystems.
Prior to the Nextcloud Hub 9 release, federated features supported in our platform included file sharing and collaboration, as well as federated chatting in Nextcloud Talk. Today, we are excited to announce that federated video calls also become available to our users!
Introducing federated calls
Users can join group chats on another Nextcloud server with their Federated Cloud ID. While in federated chat, they can use many of the core features like user mentions, markdown formatting, or polls.
With Nextcloud Hub 9, we add federated calls to our growing array of decentralized features. Now you can organize audio and video meetings among users of different Nextcloud Hubs — to meet with colleagues from a different government agency, or maybe a partner who is using Nextcloud too!
Joining a call on another server feels as if you are still in your own Nextcloud Hub – using your own account and a preferred interface, without a need for creating guest accounts or public links.
OCM, a foundation for federation features in Nextcloud
Federated Cloud Sharing API in Nexctloud has been invented by Nextcloud founders Frank Karlitschek and Bjoern Schießle. It is a collaboratively developed standard that is a part of Open Cloud Mesh (OCM), an initiative of the GÉANT Association, a European collaboration on e-infrastructure and services for research and education.
Nextcloud Whiteboard
With Nextcloud Hub 9 , we are introducing a new collaborative app: Nextcloud Whiteboard. It gives you a limitless canvas and a range of tools to sketch, note, plan, or brainstorm together with your team.
Nextcloud Whiteboard works seamlessly with Nextcloud Talk. For example, you can brainstorm project structures and draw mind maps together in real-time while in a call. Or use it in a live workshop to illustrate concepts, create diagrams, and interactively engage participants.
Nextcloud Whiteboard is very intuitive and easy to use, ready to become your daily creative collaboration tool right away. It supports hand drawing with multiple colors and stroke types, shapes, images, arrows and other objects. Wide ranges of shapes like rectangles, circles, diamonds, arrows, lines and more, together with arrow-binding and labeled arrows, let you be flexible and creative without the need for an entire design suite.
Combine it with other media: draw on design mock-ups, building plans, schemes and other visuals by importing images of your own into the canvas.
Once ready, you can share your whiteboard and present it using the laser pointer feature, or invite users to collaborate with you, even from outside Nextcloud. Want to save or share your drawings as files? You can easily export them in PNG or SVG or copy to your clipboard.
Performance and scalability
We never stop working on Nextcloud Hub’s performance, realizing that it benefits not only end users and admins running our systems, but also the planet we all share. That’s why no matter how much more powerful we keep making Nextcloud, we allow it to use less resources with every update, considerably lowering its environmental impact. And of course, allowing it to run on more diverse hardware without loss in performance too.
Faster, more lightweight apps
One of the steps towards better performance in Hub 9 has been a switch to Vite, a tool to bundle the JavaScript. This reduced the size of our apps significantly, making some up to 5x smaller and thus load much faster fir everyone.
We also made numerous other improvements that make Nextcloud Hub more snappy overall:
Skip the time needed to set up a full filesystem for accessing public link-share DAV endpoints
Delay getting (sub)admin status until needed
Avoid queries during file share aggregation in Deck
More lazy app bootstrap
High Performance back-end
Since 2021, Nextcloud Files runs on the High Performance back-end written in Rust that reduced its network traffic consumption by up to 90%. It also made the app swifter for users, for example by enabling instant notifications.
With Nextcloud Hub 9, we introduced support for High Performance back-end to Nextcloud Text. It greatly reduces the server load and renders edits much faster with accelerated synchronization during collaborative sessions.
Server-side performance improvements
We also worked on the server-side performance, making improvements that reduce the load on your infrastructure:
Text: Reduce polling interval for read-only users
Nextcloud Assistant’s Context Chat: improved queuing, with smarter memory handling
Faster updates: avoiding duplicate repair steps, moving more repair/check steps out of update and to cron
Command to get information about database changes needed for an update
Database Sharding
In our last release, we introduced the foundation for Database Sharding, enabling the ability to split the Nextcloud database into several smaller databases and distribute the load across multiple servers. With Nextcloud Hub 9, we’ve continued to develop this feature, making it applicable for most use cases.
Read-After-Write behavior
Previously, Nextcloud required synchronous replication, limiting database clusters to a maximum of four nodes. Now, we added support for an unlimited number of Read nodes using asynchronous replication. Combined with database sharding, Nextcloud’s scalability has significantly advanced, allowing a single cluster to support up to 10 times more users.
AI and Nextcloud Assistant
Chat with Nextcloud Assistant, translate between hundreds of languages, work with Analytics and enjoy accelerated performance.
AI has become an integral part of Nextcloud Hub: Many core applications like Nextcloud Mail and Nextcloud Talk have their own built-in AI tools, while Nextcloud Assistant is getting more capable both feature-wise and in the back-end. At the same time, we integrate Ethical AI principles into our platform, enabling new AI features with a focus on privacy, transparency, and user control.
AI features available in Nextcloud Hub
Chat with Nextcloud Assistant
Nextcloud Assistant becomes even more convenient with a chat interface, where you can give prompts and ask questions in a dialog format. It will remember your conversations, making interactions more natural and smooth. Chat about your day, work on the next press release, or proofread your social media posts — locally on your server and without any data leaks!
Translate with Nextcloud Assistant
Translate app is now available directly from Nextcloud Assistant menu. Translation options are now almost limitless, as we added support for hundreds of languages that app can detect, read and translate to. The app can be deployed as an ExApp on a separate server, and now supports CPU and GPU, increasing performance and efficiency significantly.
Access Analytics with Nextcloud Assistant
Analytics, an application for processing and managing analytics data developed by our community, added supprt for Nextcloud Assistant’s Context Chat. This means that you can now ask it about the data from Analytics, and Context Chat will give you an answer if the app has relevant figures.
New API and a performance boost
We developed a new API that significantly improves the performance and scalability of the AI in Nextcloud, while also enabling the creation of new AI features. For example, it allows Assistant’s responses in the chat to be nearly instant, provided your back-end is sufficiently performant.
Nextcloud Files
Nextcloud Hub 9 makes file navigation easier, introduces the File Request feature, and keeps you up-to-date on your shares.
Request files
Need to collect files in a secure way from one or more users? Meet File Request, a feature that lets you request files with configurable security settings and tracking features.
To get started, click Create file request from the “+” menu of Nextcloud Files. Set a title and a description of your request and pick a drop folder. Set an expiration date and a password for your share, if you need an extra security layer.
When ready, you can simply share a link anywhere you prefer or add email addresses of recipients to share them right away via email. Every recipient will be asked to enter a name before dropping a file, to keep things on track.
Pasted a link in the wrong place? We’ve got you! To keep your requests under control, you can browse and manage active requests in the right sidebar and close them as needed.
We also added a push notification option to help you keep track of your files and folders. Now you can get notified if a user uploads a file you requested or downloads one you shared with them.
Filter files and folders
When you keep a lot of files in your system, navigating your library can become cumbersome, and time-consuming too. If you add just two more files daily, that’s already 60 more per month! To help you find what you need faster, we introduce file filters.
You can filter your files by file type, modification date and people. Fine-tune your browsing by combining different filters and filter types, and success is guaranteed.
Browse folders with tree view
Navigating complex folder paths is now easier with the folder tree view. The left sidebar in the new Nextcloud Files offers a classic tree-style display of your folders, making it simple to browse intricate project folders.
More improvements in Nextcloud Files
Ability to keep the folder structure when uploading
Group folders ACL: visual feedback when ACL update fails
Small Group folder improvements
Ability to enforce windows-compatible file names on the server
Server-side DAV pagination
Account management: sorting by last login
Possibility to upload a complete folder from a “+” menu
Delegate “Super-Admin” for user management
Allow to specify the token of a public share / share renaming
Improved grid view UI in Files
Nextcloud Office
PDF templates and forms, 3D transitions in slides, better interoperability and security, and more in the new version of Nextcloud Office.
PDF templates and form filling API
A new feature in Nextcloud Office for this release is the ability to handle document templates with forms. When a template document has a form, Nextcloud will provide a nice, easy-to-use interface for the user to fill in details. Then, the document will be created and opened, and the user can check if everything was added correctly and if they want to make any changes.
The form system is very powerful, yet easy to use. For example, you can fill in time-sheets, complete feedback forms, and do much more. And it’s not only limited to text: you can even create charts based on data from your documents. Organisations that use a lot of forms can use this to make the life of their team members a lot easier!
Developers can use the new document API in Nextcloud Office to create multiple documents from a central database or template, or collate information from multiple documents.
It is possible to streamline automated document creation by linking a database to a template using scripts. With templating, you can automate many interactions like reporting, proposal generation, client on boarding, or even production of marketing collateral.
Of course, the new Office API is available in the new Nextcloud Flow, which can automate a variety of things, from extracting data from documents to filling them in.
Presentations: 3D transitions and quicker loading
The presentation editor now supports fancy 3D transitions between slides that make your slideshows more dynamic and catchy. These use WebGL, putting the GPU in your laptop or desktop to work for buttery smooth animations.
You can access transitions via the transitions widget located in the editor’s sidebar. And the widget itself has been revamped too!
Presentations also became much faster all around, with swifter document opening and slide loading, and overall smoother scrolling and rendering of the elements.
Better security and interoperability
Rootless containers in Nextcloud Office now operate without requiring special privileges from the user, thanks to Linux Namespaces. This optional feature enhances security by isolating container processes more effectively.
Our Office suite in Nextcloud Hub 9 features improved security with several new features. The newly introduced Wholesome Encryption for ODF files offers enhanced performance, better tamper resistance, metadata hiding, and increased resistance to brute-forcing with the Argon2id key derivation function.
Nextcloud Office also became more interoperable. Work with metric-compatible Microsoft fonts has been improved together with compliance with ISO/IEC 29500 standard. New Excel-compatible functions were added like FILTER, SORT, and SORTBY, along with a smart justify feature.
Nextcloud Tables
Our no-code platform for data management gets new export and import features, optimized performance and more in Hub 9!
New column type: Users and groups
Assign a colleague or a team to a task in a table by adding their clickable name with a new column type Users and groups.
Export table schema
Export the table schema and import it as a new table to quickly create tables with a similar structure and populate them from scratch. This handy templating feature helps you quickly move tables from testing to production when you build environments based on Nextcloud Tables. And, of course, you can exchange these between organizations: Each city needs to handle things like a dog tax or registering a new citizen!
More in Nextcloud Office, Nextcloud Tables, and Nextcloud Collectives:
New functions in spreadsheet editor: FILTER, SORT, SORTBY, UNIQUE, SEQUENCE, RANDARRAY, XLOOKUP, XMATCH
Support of importing and exporting OOXML pivot tables (cell) format definitions
“Copy Cells”, or “Fill Series” options when autofilling by dragging from a corner of cells in Calc
Correct usage of ordinal suffixes 1st, 2nd, 3rd and so on
Right click to insert and delete comments in Calc
Formula wizard interface improvements
PPTX files with heavy use of custom shapes now open faster
Pressing Enter in an empty list item ends the list
Transitions widget located in the sidebar has been revamped (it now uses iconView)
Admin warnings to display if you have mis-configurations
Firefox performance optimization and reduced garbage-collection giving snappier browser experience closer to that of Chrome / WebKit
Continued accessibility improvement and widget annotations
Nextcloud Talk
Improved moderation features, offline browsing on mobile, and Apple Vision Pro support in one of the most secure apps for online meetings.
Keep your chats healthy
Inside public conversations or during online events, it’s important to have a firm way to moderate the conversation, uphold your community guidelines and deal with potential spam. Nextcloud Talk features many moderation tools that help you maintain a safe and healthy environment like role management in chats, time tracking of who’s speaking, voice muting, and more.
Remove participants
With Nextcloud Hub 9 we introduce the ability to ban users who show disruptive behavior, publish spam links or abuse other participants.
Browse conversations even offline
Users of Nextcloud Talk on Android devices can now browse past conversation lists and chat messages offline, to quickly get back to important information even without needing an internet connection.
Don’t miss calls: add a second speaker!
Away from your laptop? Not an excuse to miss a call! Now you can choose a secondary device, like your Bluetooth headphones or a kitchen speaker to notify you of incoming calls. To activate the feature, head to notification settings and select a second output device.
Summon Smart Picker easily
You can now summon the Smart Picker in Nextcloud Talk via the attachment menu to add GIFs and videos, generate images with AI, link conversations and Deck cards, and even send map locations. For quick access to Smart Picker, you can type a “/” shortcut in the message box as usual.
Use Nextcloud Talk with Apple Vision Pro
When we say you can have your meetings anywhere, we mean it! Now you can join calls even in a virtual environment using our Nextcloud Talk app for your Apple Vision Pro headset
Nextcloud Groupware
Discover multiple security, usability, and navigation improvements across Nextcloud Groupware apps.
Nextcloud Mail
Smart follow-up reminders
The Nextcloud Assistant can already summarise email threads and generate meeting agendas from the your email content. With Nextcloud Hub 9, the Assistant can also check emails to see if the sender expects a reply: If it determines an email needs a follow-up, it will place it in a Follow up section to make sure you don’t forget!
Advanced search filters
Filter your inbox based on various conditions, such as subject line, sender, or tags with new email filtering mechanism. Unlike most other mail clients, Nextcloud Mail installs these filters as sieve scripts on the server, meaning the filters work regardless of which client you’re using. No need to set up the filters on your desktop and also your laptop, and then be annoyed they are not applied when you check mail on your phone!
Phishing detection
Some modern phishing emails are becoming exceedingly sophisticated, and therefore dangerous! And sometimes you’re moving quickly through your day, without an eye on potential dangers. In this case, Nextcloud keeps you alert about risky links and phishing or impersonation attempts by showing you a warning message.
End-to-end encryption with Mailvelope
Want to encrypt your mail using PGP? We’ve worked with the team behind Mailvelope to make sure the plugin works reliably with Nextcloud Mail, and also introduced a simplified domain registration feature for your convenience.
Nextcloud Calendar
More informative event window
The new sidebar in Nextcloud Calendar groups events, showing if they are your personal calendars, shared, which app they come from, and groups all hidden calendars together.
Availability display for rooms and resources
Before creating a new event, you can check the availability of Talk conversations and resources. Easier planning of all online meetings with less risk of anything going not-quite-as-planned.
Setting calendar as free or busy
Now you can decide if Nextcloud Hub shows your status as free or busy during events in your calendar. For example, you can set a calendar as transparent so it never changes your status to Busy.
Upcoming events in Nextcloud Talk conversations
Now every Nextcloud Talk conversation shows upcoming events happening within, reminding you of future meetings and making room availability more transparent.
Nextcloud Contacts
Delete or rename groups
Easily delete or rename groups with actions from the group menu, saving some of your precious time.
Set out-of-office replacements
When setting a Nextcloud-wide out-of-office status, you can assign another user or colleague to be your replacement during your absence. Their name will be visible in other apps like Nextcloud Talk, Nextcloud Mail, Nextcloud Calendar, and other locations throughout Nextcloud Hub.
Other improvements in Nextcloud Groupware:
Mail signatures and encryption with S/Mime
Mail: Add OCS API endpoint to send emails with automation
Mail: print out email
Mail: fix misplaced action menus
Mail: fire workflow events for incoming messages
Mail: API to read mails
Mail: simplified domain registration for Mailvelope
Mail: Fileviewer application
Allow enforcing strict email format
Contacts: migrate from Webpack to Vue
Contacts: migrate from Webpack to Vite for faster loading
Contacts: birthday and biography support for the system address book
Calendar: set start day of the week
Calendar: improve sidebar display of calendars
Calendar: auto refresh
CalDAV: invitations for shared calendars
CalDAV: fix unclear event update email for recurring events
DAV: hide CalDAV settings if no calendar-dependent apps are enabled
Calendar/CalDAV: delta sync for subscriptions and adaptive sync rates
CalDAV: send invitation emails via Nextcloud Mail
Even more security in Nextcloud Hub 9
Nextcloud Hub 9 lets you strengthen your security and administrative controls even further with several new fine-grained security tools and mechanics:
Ability to set up a PIN code for passwordless authentication to additionally secure your account should anybody obtain your security key.
Ability to restrict admin actions to internal IP addresses, disabling admin settings for users outside of trusted IP ranges.
More flexible admin rights delegation: option to enable user management rights for users without granting admin permissions
Ability to enable E2EE and SSE in Nextcloud Hub together
Enhanced metadata extraction capabilities including PDF files
Support for Azure Information Protection file tags
Nextcloud Clients
Refined design, optimized synchronization and more improvements in Nextcloud apps for desktop and mobile.
More native UI
We revised the design of Nextcloud clients for Windows and iOS to make them look more native in many ways, including transparency, buttons, spacing, and more.
New release channels for desktop app
New release channels are now available for the desktop client. Use the Daily channel to stay ahead with the latest features and improvements in the making, or Enterprise channel with updates for enterprise customers.
Two-way sync for Android
With two-way sync enabled for a folder, files added or updated on device automatically sync to your cloud, and the other way round. Currently, only internal folders created in Nextcloud are supported.
Other improvements in Nextcloud clients:
Improved handling of multi-monitor setups on macOS
Desktop client: Multiple Proxy Settings.
Login Flow v2 on Android and iOS.
Ability to enforce Windows-compatible file names on the server.
Improve notifications of file changes from notify_push server app.
Nextcloud ecosystem
New integrations join Nextcloud Hub, while our App Store receives a donation mechanism and gets more informative.
New in integrations
LLama 3
A third iteration of the popular open-source LLM with significant improvements in data quality and scalability.
XWiki
Open-source enterprise wiki and knowledge management platform. Integration? Partnership?
Enterprise support for new apps
Dovecot
Full-service email platform by OpenExchange
Stalwart Mail Server
Modern, high-performance email SMTP and MTA solution
Mailvelope
PGP for end-to-end email encryption.
All these open source technologies are available with our community edition, but we also partnered with the projects and companies behind them to offer an enterprise solution for our customers.
Nextcloud App Store
Donations
We want to give app creators an opportunity to spend more time on their apps for Nextcloud. So, we introduced donation links in our app store, allowing users to provide a tip to the developer of their favorite app. We support links to PayPal, Stripe and other solutions. Nextcloud keeps no commission — 100% of the funds goes to the developers. You can read more about donations in our documentation.
Enterprise apps
While donations are great, we believe the best approach to monetization for open source are enterprise subscription services when possible. So we offer app and integration developers the chance to work with us to offer an enterprise subscription from our app store – making it easy for prospective customers to request a quote.
Improved search and more
We also made a number of UI improvements, including a better search and the ability for app developers to signal needs about their app or notify about their update policy.
Take Nextcloud Hub 9 for a spin!
If you’re still with us, it means we’ve successfully brought you to the most important part of this journey.
Nextcloud is not a craft of marketing, it is a craft of engineering with true passion for privacy, transparency and humanity. That’s why we keep bringing the results of our work to you for free. Click below and start using the latest and greatest of Nextcloud Hub today!
You can download Nextcloud Hub 9 from our installation page. Among available options, you can use a zip file or the all-in-one image for fresh installation.
Over the coming weeks, we will make it available to our home users via updater using the usual staged roll-out process. You can switch to the Beta channel temporarily if you want to try the new Hub right away. Don’t forget to switch back to stable after you’ve updated to Nextcloud Hub 9!
Note: Nextcloud caches the results coming from our updater server, so it can take some time for the new version to show up and you likely have to refresh the page, wait a bit, then try again.
How to update: AIO users
For new Nextcloud All-in-One (AIO) users, you can install Hub 9 directly by checking the “Install Nextcloud 30” box.
We have a dedicated setup guide for AIO users. Follow the guidelines to easily set up Hub 9.
The Nextcloud Enterprise version of Hub 9 will become available soon, once we successfully run the additional testing and complete certification.
What I will tell you is that, pending their legal claims and litigation against WordPress.org, WP Engine no longer has free access to WordPress.org’s resources.
WP Engine wants to control your WordPress experience, they need to run their own user login system, update servers, plugin directory, theme directory, pattern directory, block directory, translations, photo directory, job board, meetups, conferences, bug tracker, forums, Slack, Ping-o-matic, and showcase. Their servers can no longer access our servers for free.
The reason WordPress sites don’t get hacked as much anymore is we work with hosts to block vulnerabilities at the network layer, WP Engine will need to replicate that security research on their own.
Why should WordPress.org provide these services to WP Engine for free, given their attacks on us?
WP Engine is free to offer their hacked up, bastardized simulacra of WordPress’s GPL code to their customers, and they can experience WordPress as WP Engine envisions it, with them getting all of the profits and providing all of the services.
If you want to experience WordPress, use any other host in the world besides WP Engine. WP Engine is not WordPress.
It has to be said and repeated: WP Engine is not WordPress. My own mother was confused and thought WP Engine was an official thing. Their branding, marketing, advertising, and entire promise to customers is that they’re giving you WordPress, but they’re not. And they’re profiting off of the confusion. WP Engine needs a trademark license to continue their business.
I spoke yesterday at WordCamp about how Lee Wittlinger at Silver Lake, a private equity firm with $102B assets under management, can hollow out an open source community. (To summarize, they do about half a billion in revenue on top of WordPress and contribute back 40 hours a week, Automattic is a similar size and contributes back 3,915 hours a week.) Today, I would like to offer a specific, technical example of how they break the trust and sanctity of our software’s promise to users to save themselves money so they can extract more profits from you.
WordPress is a content management system, and the content is sacred. Every change you make to every page, every post, is tracked in a revision system, just like the Wikipedia. This means if you make a mistake, you can always undo it. It also means if you’re trying to figure out why something is on a page, you can see precisely the history and edits that led to it. These revisions are stored in our database.
This is very important, it’s at the core of the user promise of protecting your data, and it’s why WordPress is architected and designed to never lose anything.
WP Engine turns this off. They disable revisions because it costs them more money to store the history of the changes in the database, and they don’t want to spend that to protect your content. It strikes to the very heart of what WordPress does, and they shatter it, the integrity of your content. If you make a mistake, you have no way to get your content back, breaking the core promise of what WordPress does, which is manage and protect your content.
Here is a screenshot of their support page saying they disable this across their 1.5 million WordPress installs.
They say it’s slowing down your site, but what they mean is they want to avoid paying to store that data. We tested revisions on all of the recommended hosts on WordPress.org, and none disabled revisions by default. Why is WP Engine the only one that does? They are strip-mining the WordPress ecosystem, giving our users a crappier experience so they can make more money.
What WP Engine gives you is not WordPress, it’s something that they’ve chopped up, hacked, butchered to look like WordPress, but actually they’re giving you a cheap knock-off and charging you more for it.
This is one of the many reasons they are a cancer to WordPress, and it’s important to remember that unchecked, cancer will spread. WP Engine is setting a poor standard that others may look at and think is ok to replicate. We must set a higher standard to ensure WordPress is here for the next 100 years.
If you are a customer of “WordPress Engine,” you should contact their support immediately to at least get the 3 revisions they allow turned on so you don’t accidentally lose something important. Ideally, they should go to unlimited. Remember that you, the customer, hold the power; they are nothing without the money you give them. And as you vote with your dollars, consider literally any other WordPress host as WP Engine is the only one we’ve found that completely disables revisions by default.