Compare commits

...

3 Commits

5 changed files with 34 additions and 11 deletions

View File

@ -1,11 +1,12 @@
# Run UAM in a Docker container
[![run-docker-compose-workflow](https://github.com/Tha14/uam-docker/actions/workflows/push.yml/badge.svg)](https://github.com/Tha14/uam-docker/actions/workflows/push.yml)
[![Donate CRP](https://img.shields.io/badge/Donate-CRP-blue.svg)](https://cutt.ly/C2MoaCU) [![run-docker-compose-workflow](https://github.com/Tha14/uam-docker/actions/workflows/push.yml/badge.svg)](https://github.com/Tha14/uam-docker/actions/workflows/push.yml)
##### If you find this project helpful you are welcome to make a donation.
## How to use:
### Single UAM instance
1. Make sure you have docker and docker-compose installed on your host.
2. Clone this repository.
3. If you're on windows or macos, in the docker-compose.yml file, make sure you change the volume path `/opt/uam_data` to something that works on your OS.
3. If you're on windows or macos, in the docker-compose.yml file, make sure you change the volume path `/opt/uam_data` to something that works on your OS. For example: on Windows something like `c/uam_data`, on macOS `${HOME}/uam_data`.
4. Execute the following command in terminal while being in the `uam` directory of this repository:
```PBKEY={YOURKEYHERE} docker-compose up -d```
@ -13,7 +14,7 @@
### UAM Swarm
1. Make sure you have docker and docker-compose installed on your host.
2. Clone this repository.
3. If you're on windows or macos, in the docker-compose.yml file, make sure you change the volume path `/opt/uam_data/uam_` to something that works on your OS.
3. If you're on windows or macos, in the docker-compose.yml file, make sure you change the volume path `/opt/uam_data/uam_` to something that works on your OS. For example: on Windows something like `c/uam_data/uam_`, on macOS `${HOME}/uam_data/uam_`.
4. Optionally, add or remove services according to your needs. You can copy and paste the existing services and incement the names, paths, and ports for each of them.
5. Execute the following command in terminal while being in the `uam-swarm` directory of this repository:
@ -25,3 +26,11 @@
3. Make sure you port forward manually as upnp will most likely not work.
4. You can adjust the maximum upload and download bandwidth of uam by changing the `NETLIMUP` and `NETLIMDOWN` env variables.
5. I suggest using [lazydocker](https://github.com/jesseduffield/lazydocker) to control and see the status of your containers.
6. You can disable wondershaper(traffic shaping) if you're experiencing problems by setting `ENABLE_WONDERSHAPER` to `false`.
## Requirements per thread:
* 4300MB free ram RAM
* 4 CPU cores
* 10Mbps upload and download bandwidth
* 100MB disk space
* 32CRP held in your wallet or delegated to you

View File

@ -12,16 +12,19 @@ services:
memlock: -1
oom_score_adj: -700
mem_swappiness: 10
cap_add:
- NET_ADMIN
volumes:
- "./entrypoint.sh:/opt/entrypoint.sh"
- "/opt/uam_data/uam_1:/root/.uam"
command: /bin/sh -c "chmod +x /opt/entrypoint.sh && /opt/entrypoint.sh $${PBKEY} $${PPORT} $${NETLIMUP} $${NETLIMDOWN}"
command: /bin/sh -c "chmod +x /opt/entrypoint.sh && /opt/entrypoint.sh $${PBKEY} $${PPORT} $${NETLIMUP} $${NETLIMDOWN} $${ENABLE_WONDERSHAPER}"
ports:
- "127.0.0.1:17100:17099"
- "4160:4160"
environment:
- PBKEY=${PBKEY?err}
- PPORT=4160
- ENABLE_WONDERSHAPER=true
- NETLIMUP=10000
- NETLIMDOWN=18000
@ -36,16 +39,19 @@ services:
memlock: -1
oom_score_adj: -700
mem_swappiness: 10
cap_add:
- NET_ADMIN
volumes:
- "./entrypoint.sh:/opt/entrypoint.sh"
- "/opt/uam_data/uam_2:/root/.uam"
command: /bin/sh -c "chmod +x /opt/entrypoint.sh && /opt/entrypoint.sh $${PBKEY} $${PPORT} $${NETLIMUP} $${NETLIMDOWN}"
command: /bin/sh -c "chmod +x /opt/entrypoint.sh && /opt/entrypoint.sh $${PBKEY} $${PPORT} $${NETLIMUP} $${NETLIMDOWN} $${ENABLE_WONDERSHAPER}"
ports:
- "127.0.0.1:17101:17099"
- "4161:4161"
environment:
- PBKEY=${PBKEY?err}
- PPORT=4161
- ENABLE_WONDERSHAPER=true
- NETLIMUP=10000
- NETLIMDOWN=18000
@ -60,15 +66,18 @@ services:
memlock: -1
oom_score_adj: -700
mem_swappiness: 10
cap_add:
- NET_ADMIN
volumes:
- "./entrypoint.sh:/opt/entrypoint.sh"
- "/opt/uam_data/uam_3:/root/.uam"
command: /bin/sh -c "chmod +x /opt/entrypoint.sh && /opt/entrypoint.sh $${PBKEY} $${PPORT} $${NETLIMUP} $${NETLIMDOWN}"
command: /bin/sh -c "chmod +x /opt/entrypoint.sh && /opt/entrypoint.sh $${PBKEY} $${PPORT} $${NETLIMUP} $${NETLIMDOWN} $${ENABLE_WONDERSHAPER}"
ports:
- "127.0.0.1:17102:17099"
- "4162:4162"
environment:
- PBKEY=${PBKEY?err}
- PPORT=4162
- ENABLE_WONDERSHAPER=true
- NETLIMUP=10000
- NETLIMDOWN=18000

View File

@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
cd /tmp
apt update && apt -yq install wget libglib2.0-0 ca-certificates dnsmasq wondershaper
update-ca-certificates
@ -8,5 +8,7 @@ cd /opt/uam/
echo "[net]" >> /root/.uam/uam.ini
container_ip="$(hostname -i)"
echo "listens=[${container_ip}]:$2" >> /root/.uam/uam.ini
wondershaper eth0 $3 $4 &
if [[ "$5" == "true" ]]; then
wondershaper eth0 $3 $4 &
fi
./uam --pk $1 --http [0.0.0.0]:17099 --no-ui

View File

@ -17,11 +17,12 @@ services:
volumes:
- "./entrypoint.sh:/opt/entrypoint.sh"
- "/opt/uam_data:/root/.uam"
command: /bin/sh -c "chmod +x /opt/entrypoint.sh && /opt/entrypoint.sh $${PBKEY} $${NETLIMUP} $${NETLIMDOWN}"
command: /bin/sh -c "chmod +x /opt/entrypoint.sh && /opt/entrypoint.sh $${PBKEY} $${NETLIMUP} $${NETLIMDOWN} $${ENABLE_WONDERSHAPER}"
ports:
- "127.0.0.1:17099:17099"
- "4156:4156"
environment:
- PBKEY=${PBKEY?err}
- ENABLE_WONDERSHAPER=true
- NETLIMUP=10000
- NETLIMDOWN=18000

View File

@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
cd /tmp
apt update && apt -yq install wget libglib2.0-0 ca-certificates dnsmasq wondershaper
update-ca-certificates
@ -8,5 +8,7 @@ cd /opt/uam/
echo "[net]" >> /root/.uam/uam.ini
container_ip="$(hostname -i)"
echo "listens=[${container_ip}]:4156" >> /root/.uam/uam.ini
wondershaper eth0 $2 $3 &
if [[ "$4" == "true" ]]; then
wondershaper eth0 $2 $3 &
fi
./uam --pk $1 --http [0.0.0.0]:17099 --no-ui