# Want your Mark II as a permanent Syncthing Server? Here's How!

**URL:** https://community.openconversational.ai/t/want-your-mark-ii-as-a-permanent-syncthing-server-heres-how/13946
**Category:** Build Journals / Show Your Build
**Created:** [October 4, 2023, 12:34am UTC](https://community.openconversational.ai/t/want-your-mark-ii-as-a-permanent-syncthing-server-heres-how/13946 "2023-10-04T00:34:31Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![clintonthegeek](https://community.openconversational.ai/letter_avatar_proxy/v4/letter/c/7cd45c/32.png) [@clintonthegeek](https://community.openconversational.ai/u/clintonthegeek)
#### Post date: [October 4, 2023, 12:34am UTC](https://community.openconversational.ai/t/want-your-mark-ii-as-a-permanent-syncthing-server-heres-how/13946/1 "2023-10-04T00:34:31Z")

</div>

Okay, following up [on my old thread,](https://community.openconversational.ai/t/3rd-party-software-on-mark-ii-with-2-0/13871/5) I’ve got my configuration migrated successfully into my new setup.

So if you, like me, would like to have an always on, always accessible centralized Syncthing server without leaving your desktop computer running 24/7, follow this quicky guide!

This setup is [mostly automated by the `/root/post_update` file](https://neongeckocom.github.io/neon-docs/neon_os/neon_os_updates/#update-process), posted to the bottom of this post. What this means is that everything will get set-up again and again from scratch, every time you update the Neon OS software. Cool, eh?

Maybe you want to just keep the files in your `/home/neon` folder. In that case, take all the drive mounting-stuff, labelled “1.x” out of the `/root/post_update` script below, and jump to Step Two. Just bear in mind that those files won’t be readable if you unplug your SSD and plug it into your desktop or laptop. The new Neon 2.0 configuration doesn’t expose the filesystem anymore.

So if you want to make a new partition which will be readable directly from the drive, or are going to use a different USB storage device as your storage spot, then keep reading Step One.

# Step One: get the UUID of your permanent storage spot

Once you’ve flashed the `recommended_mark_2.img.xz` image to your SSD drive and booted it for the first time, the setup will have expanded the `root` partition to fill the entire drive.

If you want to use a new partition on that drive, then use a partition manager like `gparted` on your desktop to shrink the `root` back down again to something realistic. Then make yourself a permanent storage partition in the excess space.

Plug the drive back into your Mycroft, boot it up, ssh in. If you’re using a second dedicated storage device, plug that in too. Use `lsblk -o NAME,UUID,FSTYPE,SIZE -T=NAME` to get the UUID of your storage partition. For instance, my results look like this:

```auto
    (venv) neon@neon:~$ lsblk -o NAME,UUID,FSTYPE,SIZE -T=NAME
    NAME UUID FSTYPE SIZE
    loop0 squashfs 2G
    sda 465.8G
    ├─sda1 B7A9-F5DB vfat 255M
    ├─sda2 2f5ace11-ba68-44a6-a80f-33c94a58ecdb ext4 12.1G
    └─sda3 1dde9e90-bf69-462c-ae90-59551ac67be9 ext4 453.4G
    zram0     

```

Clearly, `/dev/sda3` is my storage partition. so I’ve put the UUID (1dde9…) into the script to mount it into my filesystem at `/mnt/storage`. Modify the UUID and filesystem type for your own partition, based on the results above.

# Step Two: Run the script

Once you know where you’re storing your files, you can run the post\_update script once from SSH on the Neon and it will set up everything else! Easiest way might be to just `sudo nano /root/post_upgrade` over ssh and copy/paste it into the terminal session. Then be sure to `sudo chmod +x /root/post_update`, so that the script is executable. Finally, just `sudo /root/post_update`.

It will

- set up that `/mnt/storage` mountpoint, enter that into `/etc/fstab` for reboots, and set the permissions to allow you to read/write from it. (assuming you didn’t delete those lines).
- add the keys and repos to install the latest stable Syncthing.

# Step Three: Setup Syncthing’s web-gui for remote access

Now, one final setup step is necessary: usually Syncthing only allows local addresses to connect to the web interface. So you’ll need to edit `/home/neon/.config/syncthing/config.xml` to allow you to connect from your desktop or laptop. You can just use `nano` over ssh.

You might also want to configure your router to always assign your Mycroft the same static IP address, so that things stay consistent. Remember that wireless and wired connections are different, and will require reconfiguration should you change between them.

In the `config.xml` file, find the `<gui>` section. Change the loopback address 127.0.0.1 in the `<address>` tags to your devices’ permanent IP address. Also add the `<insecureAdminAccess>true</insecureAdminAccess>`. That way, any machine on your local network can connect. Mind you, this means you trust anything that connects to your LAN. **You will need to harden this** once you get everything set up! Check the syncthing docs for that.

You’ll be able to access the Syncthing web-based control panel thereafter at [neon’s ip]:6364. Create new shares to new folders—remember to use the `/mnt/storage` location if you followed Step One—and then you’re good to go! You can now leave all your computers off, yet rely on a stable, always-on central server so-long as your Mycroft is plugged in. 🙂

My `/root/post_update` file. Remember to modify the UUID and filesystem if you’re not using ext4!

```auto
#!/bin/bash

# 1.1 setup and mount storage partition for immediate usage
mkdir /mnt/storage
mount UUID=1dde9e90-bf69-462c-ae90-59551ac67be9 /mnt/storage

# 1.2 add storage partition to fstab for permanent usage after reboots
cat << EOF >> /etc/fstab
UUID=1dde9e90-bf69-462c-ae90-59551ac67be9 /mnt/storage ext4 defaults 0 0
EOF

# 1.3 allow read/write permissions!
chown -R neon:neon /mnt/storage

# 2.1 Install Syncthing
sudo curl -o /usr/share/keyrings/syncthing-archive-keyring.gpg https://syncthing.net/release-key.gpg
echo "deb [signed-by=/usr/share/keyrings/syncthing-archive-keyring.gpg] https://apt.syncthing.net/ syncthing stable" | sudo tee /etc/apt/sources.list.d/syncthing.list
apt update
apt -y install syncthing

# 2.2 Enable syncthing to start on bootup and also start it now. The @ means that it will use the neon user's config folder to allow configuration preservation across upgrades. 
systemctl enable syncthing@neon.service
systemctl start syncthing@neon.service

```

---

<div class="post-metadata">

### Author: ![NeonClary](https://community.openconversational.ai/user_avatar/community.openconversational.ai/neonclary/32/4538_2.png) [@NeonClary](https://community.openconversational.ai/u/NeonClary)
#### Post date: [October 9, 2023, 11:15pm UTC](https://community.openconversational.ai/t/want-your-mark-ii-as-a-permanent-syncthing-server-heres-how/13946/2 "2023-10-09T23:15:43Z")

</div>

Thank you for taking the time to share this with the community, and for the well-organized instructions! 🙂 I think @NeonDaniel might like to see it if he hasn’t already.

---

<div class="post-metadata">

### Author: ![clintonthegeek](https://community.openconversational.ai/letter_avatar_proxy/v4/letter/c/7cd45c/32.png) [@clintonthegeek](https://community.openconversational.ai/u/clintonthegeek)
#### Post date: [November 4, 2023, 12:01am UTC](https://community.openconversational.ai/t/want-your-mark-ii-as-a-permanent-syncthing-server-heres-how/13946/3 "2023-11-04T00:01:30Z")

</div>

Too late to edit the original post, but having just updated Neon Core, I found a bug in my original script.

The first line under section `# 2.1 Install Syncthing` shouldn’t be prefixed with `sudo`, since the script is already being executed as root. 😛
