# Zrok: How Do I Run Multiple Proxies Using as a Linux Service?

**URL:** <https://openziti.discourse.group/t/zrok-how-do-i-run-multiple-proxies-using-as-a-linux-service/1956>\
**Category:** zrok\
**Created:** [January 2, 2024, 1:28pm UTC](https://openziti.discourse.group/t/zrok-how-do-i-run-multiple-proxies-using-as-a-linux-service/1956 "2024-01-02T13:28:55Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![waywardspooky](https://yyz2.discourse-cdn.com/free1/user_avatar/openziti.discourse.group/waywardspooky/32/1659_2.png) [@waywardspooky](https://openziti.discourse.group/u/waywardspooky)\
**Post date:** [January 2, 2024, 1:28pm UTC](https://openziti.discourse.group/t/zrok-how-do-i-run-multiple-proxies-using-as-a-linux-service/1956/1 "2024-01-02T13:28:56Z")

</div>

I have three different reserved proxy shares that I've created, and while I can run those manually and they function perfectly I cannot figure out how to run them as a linux service that starts up with my machine. [zrok frontdoor | Zrok](https://docs.zrok.io/docs/guides/frontdoor/) details running zrok-share as a service however it only works for a single share, and doesn't seem to give me an option for running a reserved share, or running multiple shares using the same environment.

![Screenshot from 2024-01-02 08-34-01](https://global.discourse-cdn.com/free1/uploads/netfoundry/original/2X/6/65e89893b5acd0bb79781782ffad764f4fae491d.png)  
I want to do what I have in the screenshot - but set up as a Linux service so that my reserved shares will become available as soon as my machine comes online.

---

<div class="post-metadata">

**Author:** ![TheLumberjack](https://yyz2.discourse-cdn.com/free1/user_avatar/openziti.discourse.group/thelumberjack/32/113_2.png) [@TheLumberjack](https://openziti.discourse.group/u/TheLumberjack)\
**Post date:** [January 2, 2024, 1:38pm UTC](https://openziti.discourse.group/t/zrok-how-do-i-run-multiple-proxies-using-as-a-linux-service/1956/2 "2024-01-02T13:38:37Z")

</div>

Hi @waywardspooky, welcome to zrok, OpenZiti and the community!

At this time you'll need to run multiple instances of zrok, one per proxy you are interested in sharing. The backlog has an entry to make this easier so I expect in the coming year there will be some mechanism to make multiple sharing easier, it's just not developed yet.

Have you seen zrok front door? Since you're running linux, you should be able to easily setup multiple zrok service/shares using that [zrok frontdoor | Zrok](https://docs.zrok.io/docs/guides/frontdoor/)

That'd be how I'd do it. You'll just need to have 1 service for each proxied service (at this time)

---

<div class="post-metadata">

**Author:** ![waywardspooky](https://yyz2.discourse-cdn.com/free1/user_avatar/openziti.discourse.group/waywardspooky/32/1659_2.png) [@waywardspooky](https://openziti.discourse.group/u/waywardspooky)\
**Post date:** [January 2, 2024, 1:47pm UTC](https://openziti.discourse.group/t/zrok-how-do-i-run-multiple-proxies-using-as-a-linux-service/1956/3 "2024-01-02T13:47:09Z")

</div>

Thank you. Setting up multiple service files was actually the first thing I attempted to do when I originally came across the frontdoor documentation, however the issue is that setting up multiple zrok services - so for example sudo nano /etc/systemd/system/zrok-share-ollama.service, sudo nano /etc/systemd/system/zrok-share-ollama-webui.service, and sudo nano /etc/systemd/system/zrok-share-litellm.service they all share the same environment.json and reserved.json. i don't see any way for me to specify in the zrok-share.env reserved shares or what environment.json or reserved.json to use.

---

<div class="post-metadata">

**Author:** ![TheLumberjack](https://yyz2.discourse-cdn.com/free1/user_avatar/openziti.discourse.group/thelumberjack/32/113_2.png) [@TheLumberjack](https://openziti.discourse.group/u/TheLumberjack)\
**Post date:** [January 2, 2024, 1:52pm UTC](https://openziti.discourse.group/t/zrok-how-do-i-run-multiple-proxies-using-as-a-linux-service/1956/4 "2024-01-02T13:52:18Z")

</div>

I'm sorry, I see you linked to that doc in the original post! I don't know how i missed that! 😕 I see what you're saying now. I'll poke around a bit and see what I can find out and get back to you in a bit after I go play around with it.

---

<div class="post-metadata">

**Author:** ![TheLumberjack](https://yyz2.discourse-cdn.com/free1/user_avatar/openziti.discourse.group/thelumberjack/32/113_2.png) [@TheLumberjack](https://openziti.discourse.group/u/TheLumberjack)\
**Post date:** [January 2, 2024, 2:12pm UTC](https://openziti.discourse.group/t/zrok-how-do-i-run-multiple-proxies-using-as-a-linux-service/1956/5 "2024-01-02T14:12:00Z")

</div>

Ok. After playing with `zrok-share` for a minute, I think it'll be best to get @qrkourier to comment since he developed it. It doesn't appear to support multiple services at this time. At the end of the day though, it's just making a systemd service. When I eanbled the share, I saw:

```auto
Created symlink /etc/systemd/system/multi-user.target.wants/zrok-share.service → /lib/systemd/system/zrok-share.service.

```

So I cracked open that systemd service file and looked at it. In there you'll see something similar to:

```auto
cat /lib/systemd/system/zrok-share.service
[Unit]
Description=zrok reserved public share service
After=network-online.target

[Service]
Type=simple
DynamicUser=yes
StateDirectory=zrok-share
UMask=0007
Environment=PFXLOG_NO_JSON=true
ExecStartPre=/opt/openziti/bin/zrok-enable.bash /opt/openziti/etc/zrok/zrok-share.env
ExecStart=/opt/openziti/bin/zrok-share.bash /opt/openziti/etc/zrok/zrok-share.env
Restart=always
RestartSec=3

[Install]
WantedBy=multi-user.target

```

I tend to like things simple, arguably too simple/manual maybe. If it were me, for now, I would copy that file and just make "n" of them...

If you want I can show you how to do that but it might be obvious to you. Let me know. I'll poke @qrkourier for comment.

---

<div class="post-metadata">

**Author:** ![waywardspooky](https://yyz2.discourse-cdn.com/free1/user_avatar/openziti.discourse.group/waywardspooky/32/1659_2.png) [@waywardspooky](https://openziti.discourse.group/u/waywardspooky)\
**Post date:** [January 2, 2024, 3:24pm UTC](https://openziti.discourse.group/t/zrok-how-do-i-run-multiple-proxies-using-as-a-linux-service/1956/6 "2024-01-02T15:24:35Z")

</div>

You're thinking and trying exactly what I did. Last night I had separate .service files and created separate .env files for them respectively, however unless I was doing something incorrectly it didn't make any difference because nothing in the .service files or .env files for my shares allow me to explicitly specify what environment.json or reserved.json to use - thus each of the 3 services I created ended up sharing the same environment.json and reserved.json and overwrote one another - so only one service ends up running.

Hopefully @qrkourier knows of a way for me to host multiple zrok reserved proxy shares as linux services or can tell me if I'm doing something incorrectly. I like the ease of use of zrok but my particular use case requires the ability to have my zrok reserved proxy shares come online as linux services automatically with my machine.

---

<div class="post-metadata">

**Author:** ![TheLumberjack](https://yyz2.discourse-cdn.com/free1/user_avatar/openziti.discourse.group/thelumberjack/32/113_2.png) [@TheLumberjack](https://openziti.discourse.group/u/TheLumberjack)\
**Post date:** [January 2, 2024, 5:31pm UTC](https://openziti.discourse.group/t/zrok-how-do-i-run-multiple-proxies-using-as-a-linux-service/1956/7 "2024-01-02T17:31:34Z")

</div>

Ok... After playing around and reading the bash/systemd file and figuring out how it works... I think it's pretty easy to work around it and have a second service. Here's the steps for now if you want to work around it and leverage the same script to make it easy (I prolly would) 🙂 :

1. sudo cp /opt/openziti/etc/zrok/zrok-share.env /opt/openziti/etc/zrok/zrok-share-4.env
2. sudo vi /opt/openziti/etc/zrok/zrok-share-4.env
  - update the file with ZROK\_TARGET and ZROK\_UNIQUE\_NAME at least

3. sudo cp /lib/systemd/system/zrok-share.service /etc/systemd/system/zrok-share-4.service
4. sudo vi /etc/systemd/system/zrok-share-4.service
  - change:
    - StateDirectory=zrok-share-4
    - ExecStartPre=/opt/openziti/bin/zrok-enable.bash /opt/openziti/etc/zrok/zrok-share-4.env
    - ExecStart=/opt/openziti/bin/zrok-share.bash /opt/openziti/etc/zrok/zrok-share-4.env

5. sudo systemctl daemon-reload
6. sudo systemctl enable zrok-share-4
7. sudo systemctl start zrok-share-4

Obviously I've used "zrok-share-4" (and zrok-share-3 prior) but you can call them whatever you like 🙂

I'll leave these running for a while but I've got these running right now if you want "proof":

- [https://cdshare3.share.zrok.io/](https://cdshare3.share.zrok.io/)
- [https://cdshare4.share.zrok.io/](https://cdshare4.share.zrok.io/)

Screenshot of both:  
 ![image](https://global.discourse-cdn.com/free1/uploads/netfoundry/original/2X/3/397e153645371caa62aed7e61444a89f5ad4e565.png)

![image](https://global.discourse-cdn.com/free1/uploads/netfoundry/original/2X/2/2d7505e4c3ca7ca769fb392fed6e2d1670687f62.png)

---

<div class="post-metadata">

**Author:** ![TheLumberjack](https://yyz2.discourse-cdn.com/free1/user_avatar/openziti.discourse.group/thelumberjack/32/113_2.png) [@TheLumberjack](https://openziti.discourse.group/u/TheLumberjack)\
**Post date:** [January 2, 2024, 5:35pm UTC](https://openziti.discourse.group/t/zrok-how-do-i-run-multiple-proxies-using-as-a-linux-service/1956/8 "2024-01-02T17:35:49Z")

</div>

One more thing, this ends up making state dirs in `/var/lib/private` so you can find them at that location. Inside each will be a `.zrok` folder where the reserved.json resides (among other 'state')

```auto
find /var/lib/private -name reserved.json
/var/lib/private/zrok-share-2/.zrok/reserved.json
/var/lib/private/zrok-share-4/.zrok/reserved.json
/var/lib/private/zrok-share-3/.zrok/reserved.json

```

so that should solve the stomping of the json file issue decently for now, hopefully. 😉

---

<div class="post-metadata">

**Author:** ![waywardspooky](https://yyz2.discourse-cdn.com/free1/user_avatar/openziti.discourse.group/waywardspooky/32/1659_2.png) [@waywardspooky](https://openziti.discourse.group/u/waywardspooky)\
**Post date:** [January 2, 2024, 5:42pm UTC](https://openziti.discourse.group/t/zrok-how-do-i-run-multiple-proxies-using-as-a-linux-service/1956/9 "2024-01-02T17:42:55Z")

</div>

@TheLumberjack You're wonderful, thank you for experimenting with it! I'll try again with the example you've given! Appreciate you! 😃

---

<div class="post-metadata">

**Author:** ![waywardspooky](https://yyz2.discourse-cdn.com/free1/user_avatar/openziti.discourse.group/waywardspooky/32/1659_2.png) [@waywardspooky](https://openziti.discourse.group/u/waywardspooky)\
**Post date:** [January 2, 2024, 8:11pm UTC](https://openziti.discourse.group/t/zrok-how-do-i-run-multiple-proxies-using-as-a-linux-service/1956/10 "2024-01-02T20:11:49Z")

</div>

You got me on the right path. StateDirectory with unique names did the trick! Was able to get all three of the reserved proxy shares set up as services that start with my machine. Posting my general set up in the event that anyone else trying to run multiple reserved shares as a linux service finds the details helpful. **NOTE TO ANYONE DOING THE SAME - ZROK\_UNIQUE\_NAME must be alphanumeric. That means NO dashes, otherwise the service will fail to start and you won't know the cause unless you journalctl the service**

```auto
/opt/openziti/etc/zrok/zrok-share-ollama.env

```

```auto
ZROK_ENABLE_TOKEN="<my token>"
ZROK_ENVIRONMENT_NAME="<environment name for Ollama share>"
ZROK_TARGET="http://0.0.0.0:11434"
ZROK_UNIQUE_NAME="<my unique name for Ollama share>"
ZROK_BACKEND_MODE="proxy"

```

```auto
/etc/systemd/system/zrok-share-ollama.service

```

```auto
[Unit]
Description=Zrok Ollama reserved public share service
After=network-online.target

[Service]
Type=simple
DynamicUser=yes
StateDirectory=zrok-share-ollama
UMask=0007
Environment=PFXLOG_NO_JSON=true
ExecStartPre=/opt/openziti/bin/zrok-enable.bash /opt/openziti/etc/zrok/zrok-share-ollama.env
ExecStart=/opt/openziti/bin/zrok-share.bash /opt/openziti/etc/zrok/zrok-share-ollama.env
Restart=always
RestartSec=3

[Install]
WantedBy=multi-user.target

```

```auto
sudo systemctl stop zrok-share-ollama
sudo systemctl disable zrok-share-ollama
sudo systemctl daemon-reload
sudo systemctl enable zrok-share-ollama
sudo systemctl restart zrok-share-ollama

```

```auto
/opt/openziti/etc/zrok/zrok-share-ollama-webui.env

```

```auto
ZROK_ENABLE_TOKEN="<my token>"
ZROK_ENVIRONMENT_NAME="<environment name for Ollama WebUI share>"
ZROK_TARGET="http://0.0.0.0:11435"
ZROK_UNIQUE_NAME="<my unique name for Ollama WebUI share>"
ZROK_BACKEND_MODE="proxy"

```

```auto
/etc/systemd/system/zrok-share-ollama-webui.service

```

```auto
[Unit]
Description=Zrok Ollama-WebUI reserved public share service
After=network-online.target

[Service]
Type=simple
DynamicUser=yes
StateDirectory=zrok-share-ollama-webui
UMask=0007
Environment=PFXLOG_NO_JSON=true
ExecStartPre=/opt/openziti/bin/zrok-enable.bash /opt/openziti/etc/zrok/zrok-share-ollama-webui.env
ExecStart=/opt/openziti/bin/zrok-share.bash /opt/openziti/etc/zrok/zrok-share-ollama-webui.env
Restart=always
RestartSec=3

[Install]
WantedBy=multi-user.target

```

```auto
sudo systemctl stop zrok-share-ollama-webui
sudo systemctl disable zrok-share-ollama-webui
sudo systemctl daemon-reload
sudo systemctl enable zrok-share-ollama-webui
sudo systemctl restart zrok-share-ollama-webui

```

```auto
/opt/openziti/etc/zrok/zrok-share-litellm.env

```

```auto
ZROK_ENABLE_TOKEN="<my token>"
ZROK_ENVIRONMENT_NAME="<environment name for LiteLLM Proxy share>"
ZROK_TARGET="http://0.0.0.0:8000"
ZROK_UNIQUE_NAME="<my unique name for LiteLLM Proxy share>"
ZROK_BACKEND_MODE="proxy"

```

```auto
/etc/systemd/system/zrok-share-litellm.service

```

```auto
[Unit]
Description=Zrok LiteLLM reserved public share service
After=network-online.target

[Service]
Type=simple
DynamicUser=yes
StateDirectory=zrok-share-litellm
UMask=0007
Environment=PFXLOG_NO_JSON=true
ExecStartPre=/opt/openziti/bin/zrok-enable.bash /opt/openziti/etc/zrok/zrok-share-litellm.env
ExecStart=/opt/openziti/bin/zrok-share.bash /opt/openziti/etc/zrok/zrok-share-litellm.env
Restart=always
RestartSec=3

[Install]
WantedBy=multi-user.target

```

```auto
sudo systemctl stop zrok-share-litellm
sudo systemctl disable zrok-share-litellm
sudo systemctl daemon-reload
sudo systemctl enable zrok-share-litellm
sudo systemctl restart zrok-share-litellm

```

---

<div class="post-metadata">

**Author:** ![TheLumberjack](https://yyz2.discourse-cdn.com/free1/user_avatar/openziti.discourse.group/thelumberjack/32/113_2.png) [@TheLumberjack](https://openziti.discourse.group/u/TheLumberjack)\
**Post date:** [January 2, 2024, 8:18pm UTC](https://openziti.discourse.group/t/zrok-how-do-i-run-multiple-proxies-using-as-a-linux-service/1956/11 "2024-01-02T20:18:46Z")

</div>

> [@waywardspooky](#):
>
> ZROK\_UNIQUE\_NAME must be alphanumeric. That means NO dashes, otherwise the service will fail to start and you won't know the cause unless you journalctl the service

I tried it myself to get the error that journalctl will reveal which is:

```auto
Jan 02 20:17:36 ip-172-31-47-200 zrok-share.bash[2075379]: [ERROR] invalid unique name; must be lowercase alphanumeric, between 4 and 32 characters in length, screened for profanity

```

I had tried `cdshare1-aa`

---

<div class="post-metadata">

**Author:** ![qrkourier](https://yyz2.discourse-cdn.com/free1/user_avatar/openziti.discourse.group/qrkourier/32/52_2.png) [@qrkourier](https://openziti.discourse.group/u/qrkourier)\
**Post date:** [January 3, 2024, 5:33pm UTC](https://openziti.discourse.group/t/zrok-how-do-i-run-multiple-proxies-using-as-a-linux-service/1956/12 "2024-01-03T17:33:47Z")

</div>

You're on the best available track, and I hit the same issues, coincidentally, while trying to host Ollama Webui and Ollama REST API with zrok! 🦙 😂

I'm happy you're finding zrok-share.service so useful that you want concurrent shares. A single share per daemon/zrok environment is one of the major limitations of this first version of the shared service. I'm looking forward to zrok itself having full remote agent capabilities, e.g., multiple shares provided by the same zrok daemon/process. I'm planning to refactor the `zrok-share` install package when that's available.

Meanwhile, I'd keep doing what you're doing with renaming the zrok-share.service like zrok-share-ollama-webui.service so that each share has a separate state directory and zrok envionment. You might want to give each a meaningful environment name by setting ZROK\_ENVIRONMENT\_NAME so you can distinguish them in the zrok web console.

---

<div class="post-metadata">

**Author:** ![waywardspooky](https://yyz2.discourse-cdn.com/free1/user_avatar/openziti.discourse.group/waywardspooky/32/1659_2.png) [@waywardspooky](https://openziti.discourse.group/u/waywardspooky)\
**Post date:** [January 4, 2024, 10:38pm UTC](https://openziti.discourse.group/t/zrok-how-do-i-run-multiple-proxies-using-as-a-linux-service/1956/13 "2024-01-04T22:38:47Z")

</div>

I've found Zrok to be both versatile and simple to use/fuss free which makes me super glad to have come across it when I started exploring web tunnel proxy options.

Being able to easily and quickly set up a way to share an application or resource with a collaborator is absolutely fantastic. I have to fight enough with the little nuances and peculiarities of/between everything else in my stack - and not having to fight with the proxy share portion has made my day. Looking forward to following the continued progress of Zrok, and appreciate the thought and work that's being put into it.

---

<div class="post-metadata">

**Author:** ![qrkourier](https://yyz2.discourse-cdn.com/free1/user_avatar/openziti.discourse.group/qrkourier/32/52_2.png) [@qrkourier](https://openziti.discourse.group/u/qrkourier)\
**Post date:** [January 4, 2024, 11:19pm UTC](https://openziti.discourse.group/t/zrok-how-do-i-run-multiple-proxies-using-as-a-linux-service/1956/14 "2024-01-04T23:19:04Z")

</div>

Did you try the `drive` mode yet? I had an "aha" moment today when I realized I could use it to receive files from anyone, anywhere, publicly or privately. Pretty cool.

---

<div class="post-metadata">

**Author:** ![waywardspooky](https://yyz2.discourse-cdn.com/free1/user_avatar/openziti.discourse.group/waywardspooky/32/1659_2.png) [@waywardspooky](https://openziti.discourse.group/u/waywardspooky)\
**Post date:** [January 4, 2024, 11:49pm UTC](https://openziti.discourse.group/t/zrok-how-do-i-run-multiple-proxies-using-as-a-linux-service/1956/15 "2024-01-04T23:49:38Z")

</div>

I hadn't gotten to trying drive mode however I have watched quite a few of the zrok youtube videos on the official channel, and read through the documentation - I remember going "oh wow you can do ALL that?!". It's really crazy how much we can do with it with so few commands 😁

---

<div class="post-metadata">

**Author:** ![qrkourier](https://yyz2.discourse-cdn.com/free1/user_avatar/openziti.discourse.group/qrkourier/32/52_2.png) [@qrkourier](https://openziti.discourse.group/u/qrkourier)\
**Post date:** [January 4, 2024, 11:49pm UTC](https://openziti.discourse.group/t/zrok-how-do-i-run-multiple-proxies-using-as-a-linux-service/1956/16 "2024-01-04T23:49:56Z")

</div>

Totally. Here's the short version. Drive mode is bi-directional, so something like this creates a temporary file drop for anyone with the link. The drive mode also works with permanent reserved shares and custom/unique names.

```bash
zrok share public -b drive /tmp/zrokdrop

```

This yields a temporary public URL like `https://asdf1234.share.zrok.io` which can be used in Windows Explorer, macOS Finder, or in GNOME's Nautilus to add a network location/server using WebDAV.

For Nautilus in GNOME I had to change the URI scheme to `davs://`, but then it works just like any other folder. Neat.

Oh, and you can upload to the share with cURL like this.

```bash
curl -T ./some/file https://asdf1234.share.zrok.io

```

---

<div class="post-metadata">

**Author:** ![waywardspooky](https://yyz2.discourse-cdn.com/free1/user_avatar/openziti.discourse.group/waywardspooky/32/1659_2.png) [@waywardspooky](https://openziti.discourse.group/u/waywardspooky)\
**Post date:** [January 5, 2024, 12:02am UTC](https://openziti.discourse.group/t/zrok-how-do-i-run-multiple-proxies-using-as-a-linux-service/1956/17 "2024-01-05T00:02:00Z")

</div>

See, that right there is exactly what got me into zrok! So much functionality granted in a single simple and concise command. There's so many of my own use cases I can think of off the top of my head just with the drive share implementation.

---

<div class="post-metadata">

**Author:** ![qrkourier](https://yyz2.discourse-cdn.com/free1/user_avatar/openziti.discourse.group/qrkourier/32/52_2.png) [@qrkourier](https://openziti.discourse.group/u/qrkourier)\
**Post date:** [January 5, 2024, 12:07am UTC](https://openziti.discourse.group/t/zrok-how-do-i-run-multiple-proxies-using-as-a-linux-service/1956/18 "2024-01-05T00:07:33Z")

</div>

I know , right? I think I'm gonna use it to receive debug logs from people.

---

<div class="post-metadata">

**Author:** ![michael.quigley](https://yyz2.discourse-cdn.com/free1/user_avatar/openziti.discourse.group/michael.quigley/32/1123_2.png) [@michael.quigley](https://openziti.discourse.group/u/michael.quigley)\
**Post date:** [January 5, 2024, 3:32am UTC](https://openziti.discourse.group/t/zrok-how-do-i-run-multiple-proxies-using-as-a-linux-service/1956/19 "2024-01-05T03:32:57Z")

</div>

We're just getting warmed up... 💪

---

<div class="post-metadata">

**Author:** ![zrokooz](https://avatars.discourse-cdn.com/v4/letter/z/7ea924/32.png) [@zrokooz](https://openziti.discourse.group/u/zrokooz)\
**Post date:** [April 27, 2024, 7:57am UTC](https://openziti.discourse.group/t/zrok-how-do-i-run-multiple-proxies-using-as-a-linux-service/1956/20 "2024-04-27T07:57:58Z")

</div>

If anyone comes around and wants a sane alternative to getting multiple zrok services stood up, use the systemd service file below, you'll need to create the configs as previously stated. This service file should actually be used in the package installs..

/usr/lib/systemd/system/zrok-share@.service

```auto
[Unit]
Description=zrok reserved public share service
After=network-online.target

[Service]
Type=simple
DynamicUser=yes
StateDirectory=zrok-%i
UMask=0007
Environment=PFXLOG_NO_JSON=true
ExecStartPre=/opt/openziti/bin/zrok-enable.bash /opt/openziti/etc/zrok/zrok-%i.env
ExecStart=/opt/openziti/bin/zrok-share.bash /opt/openziti/etc/zrok/zrok-%i.env
Restart=always
RestartSec=3

[Install]
WantedBy=multi-user.target

```

Then, just start the services like so

```auto
systemctl daemon-reload
systemctl enable zrok-share@share1
systemctl enable zrok-share@share2
systemctl start zrok-share@share1
systemctl start zrok-share@share1

```

[Next page](https://openziti.discourse.group/t/zrok-how-do-i-run-multiple-proxies-using-as-a-linux-service/1956.md?page=2)
