File Storage — hosted in Nairobi, Dar es Salaam, Lagos & Kampala
Shared file systems inside Kenya, Tanzania and Nigeria
One directory, mounted by the whole fleet, in the country the fleet runs in.
There is a class of application that will never speak S3. It writes to a path, it expects a lock to mean something, and rewriting it to use an object API is a project nobody has funded. Put that application behind a load balancer and the problem arrives immediately: two servers, two copies of the uploads directory, and a support ticket about a file that exists on one machine and not the other. A managed NFS file system solves it by giving every instance the same directory at the same time — and because a mount belongs to the region its clients are in, the country your fleet runs in is the country your shared files live in. Coming to ke-1a in Nairobi, tz-1a in Dar es Salaam and ng-1a in Lagos.
- File systems in ke-1a Nairobi, tz-1a Dar es Salaam or ng-1a Lagos
- NFSv4.1 with full POSIX semantics — applications work unchanged
- Mounted by many instances at once, all seeing the same files
- Elastic — capacity follows your data, with nothing to provision
- Launching soon — join the waitlist and we will tell you when
Launching soon · Local billing in KES, TZS, NGN & UGX
Pricing
Pay for what you store, nothing more
Three storage classes, one per-GB price each. No pre-provisioning, no minimums — capacity follows your data, measured hourly. In your currency, no forex.
| Storage class | Price /GB/mo | Throughput | Latency |
|---|---|---|---|
| UniversalPopularGeneral-purpose shared storage for most workloads. | $0.21 | 100 MB/s, burst to 1 GB/s | ~2 ms |
| FastAnalytics, ML training data, media pipelines. | $0.36 | 500 MB/s, up to 10 GB/s provisioned | <1 ms |
| BasicInfrequently accessed files, archives, backups. | $0.024 | 100 MB/s | 10–50 ms |
You are billed on the data actually stored, measured hourly — there is no capacity to pre-provision. Fast provisioned throughput is $0.05 per MB/s, Basic reads are $0.01/GB, and snapshots are $0.05/GB/mo. Prices exclude VAT; local currency figures are indicative and settled at checkout.
Why the region decides this
A bucket is fetched. A file system is mounted.
The difference sounds pedantic and it decides the entire architecture. An object store is reached over HTTP, one request at a time, by a client that knows it is talking to a network service — so a slow bucket is a slow response, and a CDN in front of it hides most of the distance from most of the users. A mounted file system is not like that. Your application opens a path, and the kernel makes the network call on its behalf: a stat here, a readdir there, a lock, a small write, a metadata update. A directory listing that a local disk answers instantly can be dozens of round trips underneath. A slow bucket is a slow page. A slow mount is a process that stops.
Which is why nobody mounts a file system across an ocean, and why the region question answers itself. The file system belongs beside the instances that mount it, on the region's private network, and the instances belong in the country where the people using them are. If your product serves Kenyan, Tanzanian or Nigerian users from a fleet in ke-1a, tz-1a or ng-1a — as most products serving those users eventually do, since no hyperscaler runs a cloud region in any of the three — then the shared working set is going to be in that country. The only real decision is whether you chose that or inherited it.
There is a second consequence worth planning for. A file system has no public endpoint: no browser reaches it, no partner integrates against it, nothing outside your private network enumerates it. Its clients are your own instances, with access points giving each application or tenant its own root and its own permissions. Buckets face the internet; file systems face your fleet.
3
Regions at launch — Nairobi, Dar es Salaam and Lagos
0
Hyperscale cloud regions in Kenya, Tanzania or Nigeria
NFSv4.1
Protocol, with full POSIX file locking and permissions
1 PB
Ceiling the file system scales to, with nothing to provision
Where it sits next to the rest of the stack
Block storage is a disk for one instance — the database's data files, the boot volume, the thing one process owns. Object storage is an HTTP API for anything you keep and anything a browser fetches. File storage is the middle case, and it is the one that exists because applications were written before object storage was: shared directories, POSIX paths, file locks, and a fleet that all has to agree on what is in them.
On-premises can mount it too
Over a VPN or a direct link, a machine in your own building mounts the file system exactly as a cloud instance does. That makes the hybrid shape practical for teams with a working set in an office and a fleet in the region — and it is usually how a migration off an office NAS starts, with both sides mounted at once and nobody moving anything yet.
The platform
Everything shared storage should be
Managed, elastic, and replicated — mounted by your whole fleet, with no file server to run.
Fully managed
No NFS servers to provision, patch, or fail over — we run the whole file system for you.
Elastic scaling
Capacity grows and shrinks with your data, from gigabytes to a petabyte, with nothing to provision.
Multi-AZ replication
Every file is synchronously replicated across availability zones and survives the loss of a zone.
Unlimited concurrent mounts
Thousands of instances mount the same file system at once, with real-time consistency across them.
POSIX-compliant NFSv4.1
Full file locking, permissions, symlinks, and hard links — your apps work unchanged.
Encryption everywhere
AES-256 at rest and TLS in transit, with keys managed for you or brought yourself.
Lifecycle policies
Auto-tier cold files down to Basic and save up to 60% without moving a thing.
Snapshots
Instant, incremental snapshots let you restore a whole file system or a single file in seconds.
Access points
Per-tenant roots and permissions give each app or team its own view of the file system.
Regions
Nairobi, Dar es Salaam or Lagos — and what decides it
The rule is unglamorous and it holds nearly everywhere: put the workload in the country whose users and whose records it serves. Per-unit prices are identical in all three regions, so the decision is geography and law rather than cost — and there is no useful midpoint, because traffic between the three cities is still commonly carried through Europe.
ke-1a is for Kenyan users and Kenyan records, and for regional teams whose head office is already in Nairobi. Every Kenyan subsea cable — TEAMS, SEACOM, EASSy, LION2, DARE1 and PEACE — comes ashore at Mombasa, and that capacity is carried roughly 480 km inland to the city where the carriers and the customers are. Domestic traffic never makes that trip: it is exchanged inside Nairobi at KIXP, the neutral exchange TESPOK has run since 2002, with 141 peer networks and 2.9 Tbps of connected capacity. Lineserve peers there.
tz-1a is for Tanzanian users, and it is where moving an origin changes the most: Tanzania has no content-delivery edge of its own, so a Dar es Salaam viewer is served from another country however the CDN is configured. There is no inland haul either — SEACOM, EASSy and SEAS come ashore in the city itself, and Dar es Salaam is a named landing point on 2Africa. Tanzanian networks meet at TIX, run since 2003 by the country's service-provider association, and 13,820 km of state fibre carries one origin on to Mwanza, Arusha and Dodoma.
ng-1a is for scale and for regulated Nigerian workloads. Eight subsea systems land in and around Lagos, among them MainOne, SAT-3, WACS, Equiano and 2Africa, which comes ashore at Lekki. Nigerian networks exchange domestic traffic at IXPN, founded in 2006 to stop domestic packets being hauled to London and now running 13 points of presence across seven states. Lagos also has a date attached: a Central Bank circular directs payment transaction data generated in Nigeria to be stored there from 1 January 2027.
All three give a buyer based elsewhere the same pair of things: a request from a user in the city reaches a machine in that city, typically in single-digit milliseconds, and the records it touches sit under one named country's law.
Kenya
Nairobi
~2 ms
typical, within metro · Data stays in Kenya
Tanzania
Dar es Salaam
~6 ms
typical, within metro · Data stays in Tanzania
Nigeria
Lagos
~4 ms
typical, within metro · Data stays in Nigeria
Uganda
Kampala
~3 ms
typical, within metro · Data stays in Uganda
Use cases
Built for shared workloads
Shared web content
Every server sees the same uploads, themes, and media — no rsync, no drift, no sticky sessions.
Kubernetes RWX volumes
Many pods, one volume. The CSI driver gives you ReadWriteMany persistent volumes out of the box.
ML & analytics
Share datasets across GPU workers with high-throughput reads, no copying between nodes.
CI & dev environments
Shared source, build artifacts, and caches across runners and workspaces, live for every job.
How it works
Shared storage in three steps
Create a file system
Pick a storage class — Universal, Fast, or Basic. There is no size to provision.
Mount over NFS
Run one mount command on any instance — or request a RWX volume in Kubernetes.
Store and share
Capacity follows your data as it grows, and lifecycle policies tier cold files down.
Uptime SLA
99.9%
- Service credits applied automatically when we miss the SLA
- Measured monthly, per region, on network and power availability
- Tier III colocation facilities across all live regions
Support
You are on a different continent from your infrastructure
That is the real reservation, and it is answerable with what exists. Architecture, quotes, contracts, a data processing agreement, the registered names and tax identifiers that have to appear on your invoices: [email protected], in writing, in a thread you can forward to your own legal and finance people. Running services are driven from the console, the API and the ticket system on your account. Two phone lines are published for the region — +254 119 039 063 in Kenya and +255 761 847 121 in Tanzania.
Scheduling across the distance is the practical problem, and the arithmetic is friendlier than it looks. Nairobi and Dar es Salaam run on East Africa Time, UTC+3; Lagos on West Africa Time, UTC+1. Neither observes daylight saving, so the gap between your clock and theirs moves only when your own clocks change, and a window agreed in June still means what you thought it meant in December. From London, Nairobi is three hours ahead in winter and two in summer, and Lagos an hour ahead in winter and level in summer. From New York in July, a 09:00 call is 14:00 in Lagos.
Most of what would be a phone call elsewhere is a call you make yourself. Building, resizing, rebooting, snapshotting and rebuilding an instance are API and console operations that behave identically at three in the morning your time or theirs, and a browser console reaches a machine that has lost its own networking. What needs a person in the building is a physical fault — and that person is there already.
Why Lineserve
Managed NFS beats running your own
Running your own NFS server means patching, capacity planning, and failovers when a node dies. A managed, elastic file system takes all of that off your plate.
Pricing shape
Nothing to provision, and a cold tail that prices itself
A file system has no size. You do not choose one, you do not grow one, and there is no headroom to buy — capacity follows the data you actually store, measured hourly, from gigabytes up to a petabyte. That is the opposite of a block volume, which charges for the size you provisioned whether or not you filled it, and it is the reason the two products end up on the same estate for different jobs. It also means the number on your invoice is a measurement of your data rather than a decision somebody made a year ago.
Three classes carry three prices: Universal at an indicative $0.21 per GB a month for general shared storage, Fast at $0.36 where throughput is the constraint, and Basic at $0.024 for files that are kept rather than used. The interesting one is the relationship between them. Any real shared drive is mostly cold — a working set that a fleet touches constantly, and a long tail of finished projects, old exports and last year's datasets that nobody has opened since. Lifecycle policies move that tail down to Basic automatically after a period you choose, cutting storage cost on it by up to 60% while the paths stay exactly where they were. Applications do not notice, and neither does anybody's muscle memory.
From outside the three countries you will be quoted, invoiced and settled in US dollars by card or bank transfer while the data sits in Nairobi, Dar es Salaam or Lagos. If the cost belongs in a local subsidiary's ledger, that entity can hold its own account and settle in KES, TZS or NGN under its own tax treatment — Kenya charges 16% through the Kenya Revenue Authority, mainland Tanzania 18% through the Tanzania Revenue Authority and Nigeria 7.5% through the Nigeria Revenue Service. Displayed prices exclude VAT and, where it applies, it is calculated and shown separately at checkout.
The cheap habit to build early
Set the lifecycle policy in the first week rather than the second year. On a shared drive the tail always wins in the end, and a policy applied to a hundred gigabytes is a configuration change while the same policy applied to forty terabytes is a project with a review meeting attached.
One invoice, or one per country
The default is one account, one console and one invoice covering file systems in all three regions. The alternative is each subsidiary holding its own account in its own currency so the cost lands in the right ledger and the right VAT return. Both are supported; the second is a five-minute conversation before you order rather than a migration afterwards.
Withholding, before your CFO raises it
A Tanzanian business paying a non-resident for services withholds 15% of the gross consideration unless a double tax agreement reduces it, and a Nigerian payer is frequently a withholding agent filing a monthly schedule naming each supplier. Lineserve invoices from LINESERVE, INC. On a storage contract that runs for years this is a cash-flow question worth settling with your adviser at the start, with us copied in so the invoicing matches how you remit.
Prices are indicative launch pricing and exclude VAT. Nothing on this page is orderable yet.
Data residency
The shared drive is where a company's most awkward files actually live
Ask where an organisation's sensitive data is and you get an answer about the database. Ask where its awkward data is and the answer is a shared directory: signed contracts, scanned identity documents, survey submissions with photographs attached, exports somebody generated for a report and never deleted, the folder called handover. It accumulates because it is easy to write to and nobody owns it. Then a customer's data processing annex names a country, and it turns out that pile has been sitting in one nobody chose.
A mounted file system makes that question unusually clean to answer, because the file system lives in exactly one region and its clients are the instances in that region. A file system created in ke-1a will be held in Nairobi, one in tz-1a in Dar es Salaam, one in ng-1a in Lagos, and none of them leaves without your instruction — data residency for Kenya's Data Protection Act, Tanzania's Personal Data Protection Act and Nigeria's Data Protection Act.
The three laws are not interchangeable, and the differences matter when you are choosing which country to put a shared drive in. Kenya's Data Protection Act, No. 24 of 2019 attaches conditions and paperwork to transfers out under sections 48 and 49, and Regulation 26 of the 2021 General Regulations goes further for six named purposes — civil registration and identity, elections, public finance systems, designated protected computer systems, basic education, and primary or secondary health care — requiring processing through a server and data centre in Kenya, or at least one serving copy stored in a data centre in Kenya. A shared working directory read by a running application is a serving copy in the ordinary sense of the phrase.
Tanzania is stricter. Personal data leaves the country on a permit from the Personal Data Protection Commission, applied for in advance under the Personal Data Protection Act, 2022, with the recipient, the categories of data, the purpose and duration, the destination and the security arrangements at the far end all set out. Nigeria adds a date: section 41 of the Data Protection Act 2023 restricts transfer out, and a Central Bank of Nigeria circular of 15 June 2026 directs that payment transaction data generated within Nigeria be stored and managed in Nigeria, with full compliance from 1 January 2027 — which reaches the settlement files and processing logs that so often live on a share rather than in a table.
What Lineserve will supply at launch is the location. The assessment, the registrations and the sign-off stay with your own compliance function. What changes is the size of that work when the shared drive never left the country its contents are about.
Access points are the residency control you will actually use
Per-tenant roots and permissions give each application or team its own view of the file system, which is what stops a residency decision from depending on people remembering which folder is which. One file system per country, one access point per tenant or application, and the boundary is enforced by configuration rather than by convention.
Replication and snapshots are separate decisions
A file system is replicated across availability zones inside its region at no extra cost, which is durability rather than a second country. Cross-region replication for disaster recovery is a different thing entirely: a copy of that data in another jurisdiction, with the destination country's law and the source country's transfer rules both in play. Decide it deliberately, and note that build caches, artefacts and datasets carrying no personal data raise no question at all.
Lifecycle tiering does not move a file's country
Cold files tier down to the Basic class inside the same file system, in the same region, at the same paths. It is a price change rather than a location change — which is worth knowing when somebody asks whether an archiving policy has quietly created a transfer. It has not.
Who is asking for this
What international teams will mount in ke-1a, tz-1a or ng-1a
The pattern is almost always a fleet rather than a server. Something has to be readable and writable by several machines at once, the application expects a filesystem path, and one of the three countries is where all of it has to run.
A web fleet behind a load balancer
The oldest shared-storage problem there is, and still the most common. Two or more application servers, one uploads directory, and a user who cannot find the file they attached ten minutes ago because it landed on the other machine. The workarounds are rsync on a cron, sticky sessions, or a rewrite to object storage. A mounted file system is the one that requires no change to the application at all — every instance sees the same path, and horizontal scaling stops being a data problem.
Kubernetes ReadWriteMany volumes
Block storage gives a pod its own volume; a great many workloads need many pods across many nodes writing to the same one. The CSI driver provisions RWX persistent volumes directly, which is what shared uploads, shared configuration, plugin directories and multi-replica legacy applications need in order to run in a cluster at all. The same manifests then deploy against a regional cluster in whichever country the deployment belongs to.
Per-tenant document stores in a regional SaaS
The application stays where it is; one country's tenants get their documents held in that country. Access points give each tenant its own root, the paths stay ordinary paths, and the endpoint you name in a data processing annex is a region rather than a caveat. For a residency clause that would otherwise cost the deal or a regional rebuild, this is the cheap answer.
Analytics and machine-learning working sets
Several workers reading the same dataset is a poor fit for copying the dataset onto each of them, both in time and in disk. The Fast class exists for this shape — provisioned throughput for training runs, feature extraction and media pipelines — with the dataset mounted once and read many times, in the country whose data it is.
Media pipelines and shared working sets
Ingest lands somewhere, several encoders pick work off it, renditions are written back, and a review tool reads the results while the pipeline is still running. A shared filesystem with a hot middle and a cold tail is exactly what lifecycle tiering is for: finished projects fall to Basic automatically, at the same paths.
CI runners and build caches
Dependency caches, build artefacts and shared workspaces across a pool of runners, so a job that lands on a different machine is not a job that starts from scratch. Unglamorous, and one of the first things a team notices when a regional deployment has to be built and tested inside the region.
A hybrid share with an in-country office
A working set that half lives on an office NAS and half needs to be reachable by cloud instances. Mount the file system on both sides over a VPN or direct link and the migration becomes a gradual change of habit rather than a cutover — with the added property that the copy in the cloud is in the same country as the office, which is rarely true of whatever the office was syncing to before.
Indicative launch pricing: Universal at $0.21 per GB a month, Fast at $0.36 and Basic at $0.024, billed on the data actually stored and measured hourly. These are the figures we expect to open with, not a charge you can incur today.
Planning ahead
How a shared drive gets into the region when this lands
From rsync, sticky sessions and a shared disk
Most fleets that need this already have a workaround, and the workaround is the reason somebody is reading this page. Files synchronised between application servers on a cron, with a window in which the two disagree. Sessions pinned to a machine so a user keeps finding their own uploads. A single server everybody NFS-mounts from, which is a file server you patch, monitor and fail over yourself. At launch, the move is to create a file system, mount it at the same path on every instance, copy the current contents across once, and delete the cron. What goes away is not storage cost, it is a category of bug.
From a file system with a provider elsewhere
Both ends are POSIX, so this is an ordinary file copy — rsync from a machine that mounts both, preserving permissions, ownership and timestamps, with a final pass during a short window to catch what changed while the first pass ran. Two things are worth pricing before you start. Your current provider may charge to read the data out, and that bill is theirs rather than ours. And decide whether the old file system is being emptied or kept, because a copy of a country's personal data left behind in another jurisdiction is still a copy in another jurisdiction.
Tell [email protected] which region you need, how much data the share holds, how many instances would mount it and what is reading it today, and you will hear from us when there is something to mount. Migration planning is included at no extra charge.
FAQ
Questions, answered
A Block Storage volume attaches to one instance, like a disk. A file system mounts on thousands of instances at once over NFS, with every mount seeing the same files in real time. Use Block for databases; use File when fleets share data.
NFSv4.1 with full POSIX semantics — file locking, permissions, hard and symbolic links. Any Linux distribution mounts it natively; macOS and Windows work through their NFS clients.
There's nothing to provision. The file system grows and shrinks with the data you store, from gigabytes to a petabyte, and you pay only for what you actually use, measured hourly.
Yes. The CSI driver supports dynamic provisioning and ReadWriteMany (RWX) volumes, so many pods across many nodes can share the same persistent volume.
Universal gives a 100 MB/s baseline with bursts to 1 GB/s — right for most workloads. Fast starts at 500 MB/s with provisioned throughput up to 10 GB/s and sub-millisecond latency for analytics, ML training, and media pipelines.
Set a policy and files that go unused — say for 30 days — move automatically to the cheaper Basic class, cutting storage costs by up to 60%. The move is transparent; applications keep the same paths.
Yes. Every file system is replicated across multiple availability zones within the region at no extra cost, backed by a 99.99% availability SLA. Cross-region replication is available for disaster recovery.
Point-in-time snapshots are instant and incremental. Restore individual files from a read-only mount or roll back the whole file system, on demand or on a schedule.
Yes. Connect over VPN or a direct link and on-prem machines mount the file system exactly like cloud instances — useful for hybrid setups and migrations.
ke-1a in Nairobi, tz-1a in Dar es Salaam and ng-1a in Lagos, on one account and one API. A file system lives in one region and is mounted by instances in that region.
It is in build and there is no public date yet. Join the waitlist through [email protected] with the region you need and what would mount it, and you hear from us when it is ready rather than when a marketing calendar says so.
Indicative launch pricing is $0.21 per GB a month for Universal, $0.36 for Fast and $0.024 for Basic, billed on the data actually stored and measured hourly, with nothing to provision and no minimum. Those are the figures we expect to open with, published so you can build a forecast — not a price you can pay today.
Tell [email protected] what would mount it, in which region, and roughly how much data is involved. Those conversations decide which class and which region come first, and the teams having them are the ones we come back to when there is something to try.
Object storage is an S3 API reached over HTTP, and using it means your application makes API calls. File storage is a mounted directory: the application opens a path, takes a lock, writes a file, and needs no changes at all. Buckets are right for anything a browser or another service fetches; a file system is right when several of your own servers have to share the same directory.
A block volume attaches to one instance at a time, like a disk — right for a database's data files. A file system is mounted by many instances at once, all seeing the same files in real time. If one process owns the data, that is block; if a fleet shares it, that is file.
It is not the shape to build. A mount belongs on the region's private network beside its clients, because a file system is used through many small operations rather than one request, and distance is felt on every one of them. Put the file system in the region its fleet runs in, and use cross-region replication if you need a copy elsewhere.
Yes. A file system created in ke-1a is held in Nairobi, one in tz-1a in Dar es Salaam, one in ng-1a in Lagos, and none of them leaves its country without your instruction. That is data residency for Kenya's Data Protection Act, Tanzania's Personal Data Protection Act or Nigeria's Data Protection Act, depending on the region.
No. Tiering moves a cold file to the Basic class inside the same file system, in the same region, at the same path. It changes the price of holding it, not its location.
Almost certainly not. It is NFSv4.1 with full POSIX semantics — file locking, permissions, symbolic and hard links — so any Linux distribution mounts it natively and the application sees an ordinary directory. That is the whole reason this product exists alongside object storage.
Thousands, concurrently, with every mount seeing the same files in real time. Scaling the fleet does not mean scaling the storage decision with it, which is the difference between adding a server and planning a migration.
Yes, over a VPN or a direct link, exactly as a cloud instance does. That is the usual shape for a hybrid working set and the usual way a move off an office file server begins — both sides mounted, nothing cut over yet.
US dollars by card or bank transfer if you are buying from outside the three countries. If a Kenyan, Tanzanian or Nigerian entity should carry the cost, that entity can hold its own account and settle in KES, TZS or NGN — Kenya and Tanzania add M-Pesa alongside bank transfer and card, and Nigeria settles in Naira by bank transfer or card.
Displayed prices exclude VAT, and where it applies it is calculated and shown separately at checkout. The domestic rates differ — Kenya 16%, mainland Tanzania 18%, Nigeria 7.5% — and which one reaches your invoice follows which entity is billed, not which region holds the file system.
Customer references are available under NDA for the products that are live today, including object storage in all three regions. Tell [email protected] what you are building and which country it has to sit in, and you will be pointed at the closest match.
Work out three numbers: how much the shared directory holds, how much of it was last touched more than a month ago, and how many machines would mount it. Send those to [email protected] with the region, and the first release gets shaped by the people actually waiting for it.
Shared storage for your whole fleet, almost here
Managed NFS is launching soon, close to your users. Talk to us for early access, and pay in local currency with no card required to start.
Launching soon · 99.99% availability SLA · Local billing in KES, TZS, NGN & UGX