How to Upload Your Consciousness to Physical Infrastructure Using Docker Compose

Published on April 1, 2022
Default avatar

By Madison Scott-Clary

Tech Writer at DigitalOcean

How to Upload Your Consciousness to Physical Infrastructure Using Docker Compose

The prospects of functional immortality, parallel thought processing, and the ability to leave behind the constraints of the physical world are enticing. Thankfully, modern infrastructure supports full consciousness uploading.


For this tutorial, you will need:

Note: An Advance Directive and Last Will and Testament are strongly recommended; while the chances of anything going horribly wrong are very low, they are not zero.

Step 1 — Preparing yourself mentally and physically

The process of uploading one’s consciousness puts great stress on both the body and the mind. Through the mapping of the deep structures of the brain and the peripheral nervous system, you may experience unpleasant tingling, subdermal itching, phantom pains, and muscle fatigue. Additionally, you might find yourself confused, distraught, depressed, or, conversely, overcome with a sense of the numinous, euphoric, or taken by fits of uncontrollable laughter.

In order to help mitigate these effects, it can be helpful to prepare yourself both mentally and physically.

Prepare a ‘self-care box’

A collection of items that bring you joy, comfort, or a sense of calm will provide useful in times of great stress. This box (though you need not keep the items in an actual box) can contain things to soothe or entertain all of your senses:

  • Taste: keep a few squares of chocolate, some hard candies, or a savory snack that brings you a sense of calm and joy
  • Smell: if you have a favorite scent, keeping a swatch of fabric or strip of paper with that scent on it can be useful. Spray a bit of the perfume, wipe a bit of the scented wax, or dip the material in the source of the scent to smell at need.
  • Sight: keep pictures, holograms, or video panels with relaxing imagery, whether personal or otherwise.
  • Sound: soothing and familiar music or other sounds kept at hand can add to that that sense of calm and relaxation.
  • Touch: soft textures, fidget toys, or stuffed animals that bring one joy can keep you grounded during the procedure.

Note: Items that are comforting to touch should not be restrictive in order to avoid injury should you experience unexpected movements. Wrapping oneself too tightly in a blanket or using a float tank is not advised.

Practice mindfulness meditation, paced breathing, or paired relaxation

Finding ways to anchor your sense of self to your body can not only make the process of uploading easier, but will lead to a more coherent sense of self for your uploaded consciousness. Ways to strengthen this connection both before and during this process generally fall into the category of mindfulness exercises:

  • Mindfulness meditation: relaxing your body, let your mind settle into a state of calm and quiet. If thoughts arise, that’s okay; there’s no need to simply have an empty mind. Simply acknowledge their presence and then let them go. Feel yourself within your body. Your breath, where you’re sitting, the feeling of your implants at the base of your neck, and, one by one, acknowledge their presence.
  • Paced breathing: try breathing in for the count of five, holding your breath for the count of two, and then breathing out for the count of five. Prior to uploading, this technique can help build up a habit that you can use during the process, and should panic arise, it can help you reduce the physical sensations of anxiety. Engaging with the parasympathetic nervous system intentionally can reduce subconscious stress.
  • Paired relaxation: tensing up individual muscle groups for a few seconds and then relaxing them is another way to calm yourself, as the feeling of physically relaxing is something that occurs naturally when a panic response ends. This can take the form of isometric exercises (e.g: pressing your palms together firmly and then relaxing again) or in-place tension (e.g: tensing your calves for a few seconds and then relaxing).

Step 2 — Creating a simulated environment using Docker Compose

Your initial experiences after uploading will take place in a default simulated environment. While you will be able to customise this after you run through the built-in tutorials, you will need to start by choosing an initial sim. There are several options available such as grassy-field and cozy-apartment. See the Mindenv Docker registry for more.

You will be using Docker Compose in order to prepare your system to accept your consciousness. At the very least, you will need memory storage, a sensorium, a proprioception manager, and an intelligence network, but there are several additional images that can help, such as an emotion regulation engine and a dreamer module, both of which will be included in this example.

Create a new folder in your home directory that will contain your project and use cd to enter it.

  1. mkdir mind
  2. cd mind

Next, create your Docker Compose file:

  1. nano docker-compose.yml

Insert the following content into this file:

: "7.2" services: sim: image: "base-sim:grassy-latest" volumes: - "./sim:/usr/share/base-sim" memstore: image: "memstore:latest" volumes: - "./memstore:/usr/share/memstore" sensorium: image: "neosense:latest" ports: - "26691:26691" propriomgr: image: "proprioceptionctl:mindbuntu" ports: - "26692:26692" intellnet: image: "fastmind:latest" volumes: - "./intellnet:/usr/share/fastmind/store" emoengine: image: "emoengine:alpine" ports: - "26693:2882" dreamer: image: "dreamer-module: latest" volumes: - "./dreams:/usr/share/dreamer-module" # Redis will act as a short-term memory store for intellnet redis: image: "redis:alpine" ports: - "6379:6379" volumes: - "./redis-data:/var/lib/redis" network-build: autoconfigure: true autoexpose: true

The docker-compose.yml file typically starts off with the version definition. This will tell Docker Compose which configuration version you’re using.

You then have the services block, where you set up the services that are part of this environment. You’ve defined all of the services you need for a basic simulation space.

The volumes directive will create a shared volume between the host machine and the container. This will share the local app folders with the container. The values here are set to their default locations, but they can be configured however you wish.

Save and close the file.

Setting up a solipsistic existence by turning off network access

If you would like to run your simulated existence in a solipsistic mode — that is, without connection to any external resources or communication — the current set-up allows for only a simple modification.

Open the file to edit as before, then change the autoexpose setting to false:

. . . network-build: autoconfigure: true autoexpose: false

Note: While solipsistic minds are far more secure, they are also prone to falling into strange loops and crashing, requiring resetting to a known-good state. This experience can be quite frightening and even painful, so you will want to keep that in mind.

Step 3 — Uploading your consciousness to your server hardware

Several hardware solutions for consciousness-uploading exist on the market today and it’s well worth doing your own research on the pros and cons for each. However, they all work in much the same way, conducting a lengthy scan of your nervous systems, both central and peripheral, and building up an internal map of the results. This process can take anywhere from six to eight hours as this map runs in parallel with your physical body for some time to ensure parity before it is ‘woken up’ inside the sim.

For the sake of example, we’ll be using the Flownetica Scannr. Be sure to follow the instructions on your uploading rig of choice, however.

Connecting the contacts

Included with your rig should be a map of where on the body to connect the scanning contacts. These take the form of either sticky patches applied to the skin or magnetic NFC contacts applied to your exocortical implants.

For the former, remove the backing and press the contacts firmly to the skin. There may be a slight tingling sensation once the patch is implied as the nanites within pass through your skin and begin the exploratory mapping process.

For the latter, simply attach the magnetic contact to your implants by matching the shapes up with each other — they will not fit in any other slot than the one that they’re built for and it’s not possible to insert them the wrong way around.

Note: While the goal of this tutorial is to self-host one’s own consciousness, there are many services out there that provide hosting and uploading. Several of these companies will also provide uploading-only services so long as you are able to provide the proper address and API key and secret. This is outside the scope of this tutorial, but you can find more in the Fastmind documentation.

Preparing to upload

Find a comfortable spot to lay down. It’s preferable to lie in the fetal position as this provides the smallest likelihood of injury during a potential muscle spasm. However, some suggest that the recovery position may have additional benefits.

Also, ensure that the uploading rig and the computer it’s attached to are within reach and their screens visible so that you can interact with them as needed.

With your comfort items nearby, you are ready to hit the big green button and upload.

While uploading

Throughout the process of uploading, ensure that you do all that you need to do to stay calm, happy, and comfortable. Remember your breathing exercises, your comfort items from your self-care box, and any other tools that you have prepared to keep yourself feeling good and your mind occupied.

If, at any point, you need to stop the uploading process, simply hit the stop button or say ‘stop’ three times in a row. There is no risk of damage to yourself or your equipment by doing so, but this will wipe the in-progress upload, and you’ll have to begin again should you wish to continue.

After uploading

Once the uploading is complete, you may stand up, stretch, move around, and otherwise go about your life. While the adhesive used is hypoallergenic, there may still be some irritation from the patches remaining on your skin, which moisturizing lotion may help alleviate.

After anywhere from one to three hours, your uploaded consciousness will be embedded in their simulated environment and you will be able to speak with them. Remember that, for all intents and purposes, they are you, so make sure to ask them the things you know you like to be asked about. Enjoy your time together! After all, who knows you better than yourself?

The Internet has come a long way from the halcyon days of the early 2000s (and the terrors of the 2020s), but it’s still a very good idea to install ad-block and antivirus software if you are not running your mind in a solipsistic environment.

This usually takes the form of a black-hole type service such as Pi-hole running in a Docker Container and a virus scanner running in tandem with your firewall. These work by first scanning all incoming traffic to search for malicious code and memetic hazards and then passing the traffic stream through the black-hole service, which will strip out advertising content based on a list of known matches.

In the services block of compose file, add the following entry:

. . . adblock: image: "pihole-mind:edge" ports: "26694:80" antivirus: image: "mindscan:latest" ports: "26695:26695"

These new containers will spin up the required services and you — that is, your uploaded consciousness — will be able to access them from your HUD.


In this tutorial, you’ve seen how you can set up a Mindbuntu 56.04 server and install all of the software required for hosting a consciousness using Docker Compose. You’ve also learned some tips and tricks on how to make the experience go as smoothly as possible.

Note: Happy April Fool’s!

Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.

Learn more about us

About the authors
Default avatar

Tech Writer at DigitalOcean

Still looking for an answer?

Ask a questionSearch for more help

Was this helpful?

This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Loved the detailed how to. You got me as a subscriber.

I remember being excited to see this new uploading feature for Docker Compose! So, when my upload rig arrived, I decided to give it a try.

The rig I used is a BrainContent 4 from Shenzen SoIThought Technology Ltd (looks similar to the PureThought rigs). It seemed well-made and, according to a post on Reddit, it was compatible.

The instructions that came with the unit were a little unclear but I was able to get an upload to a free trial account on a sub-peta Itskov server. However, the process appeared to hang and the resulting connectome map seemed a little small. It appeared to contain anomalous nodes (but those might just have been artifacts of the cortical column browser resolution).

Logs showed the upload began self-running at stability threshold, despite numerous deep-layer correspondence checks failing with “Chalmers-type exception” errors. But, after multiple cycles, plasticity seems to have remedied these issues.

So my question: Am I the original, or the upload copy?

Interesting I’ll try today

Try DigitalOcean for free

Click below to sign up and get $200 of credit to try our products over 60 days!

Sign up

Join the Tech Talk
Success! Thank you! Please check your email for further details.

Please complete your information!

Get our biweekly newsletter

Sign up for Infrastructure as a Newsletter.

Hollie's Hub for Good

Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.

Become a contributor

Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.

Welcome to the developer cloud

DigitalOcean makes it simple to launch in the cloud and scale up as you grow — whether you're running one virtual machine or ten thousand.

Learn more
DigitalOcean Cloud Control Panel