init commit
This commit is contained in:
92
README.md
Normal file
92
README.md
Normal file
@@ -0,0 +1,92 @@
|
||||
# self-hosted services stack
|
||||
|
||||
## dependencies
|
||||
- docker + docker-compose 🐳
|
||||
- domain with **A records** pointing to server IP:
|
||||
```
|
||||
example.com → YOUR_SERVER_IP
|
||||
immich.example.com → YOUR_SERVER_IP
|
||||
vaultwarden.example.com → YOUR_SERVER_IP
|
||||
mc.example.com → YOUR_SERVER_IP
|
||||
```
|
||||
- ports **80/443** open (ufw/firewalld)
|
||||
## quick start
|
||||
### 1. Clone
|
||||
```bash
|
||||
git clone https://github.com/FoXeNe/SelfHostedDeployment
|
||||
cd services
|
||||
cp caddy/Caddyfile.example caddy/Caddyfile
|
||||
nano caddy/Caddyfile # replace `yourdomain.ru`
|
||||
```
|
||||
|
||||
### 2. create network
|
||||
```bash
|
||||
docker network create proxy_net
|
||||
```
|
||||
|
||||
### 3. deploy services
|
||||
|
||||
#### caddy (proxy)
|
||||
```bash
|
||||
cd caddy
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
#### immich (photos)
|
||||
```bash
|
||||
cd ../immich-app
|
||||
cp .env.example .env
|
||||
nano .env # IMMICH_DOMAIN=immich.yourdomain.ru
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
#### vaultwarden ([download bitwaden apps](https://bitwarden.com/download/))
|
||||
```bash
|
||||
cd ../vaultwarden
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
#### homepage (dashboard)
|
||||
```bash
|
||||
cd ../homepage
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
#### minecraft (PaperMC)
|
||||
first of all you must open 25565 port
|
||||
##### install jdk
|
||||
```bash
|
||||
sudo pacman -S jdk21-openjdk # Arch linux
|
||||
# or
|
||||
sudo apt install openjdk-21-jdk # Debian/Ubuntu
|
||||
```
|
||||
##### install papermc.jar
|
||||
[official website](https://papermc.io/downloads/paper)
|
||||
##### run server
|
||||
```bash
|
||||
java -Xms4G -Xmx4G -jar paper.jar --nogui
|
||||
```
|
||||
##### change server.properties
|
||||
I strongly recommend changing this in server.properties:
|
||||
```
|
||||
enforce-whitelist=true
|
||||
white-list=true
|
||||
```
|
||||
if you plan to play on a non-licensed version (I recommend purchasing the official version):
|
||||
```
|
||||
online-mode=false
|
||||
```
|
||||
##### connection
|
||||
```
|
||||
yourdomain.ru:25565
|
||||
```
|
||||
## customization
|
||||
|
||||
### caddyfile
|
||||
if you edit `caddy/Caddyfile` => reload thid docker container
|
||||
|
||||
### Add New Service ➕
|
||||
1. create `newservice/docker-compose.yml`
|
||||
2. add `networks: - proxy_net`
|
||||
3. add block to Caddyfile
|
||||
4. `docker compose up -d`
|
||||
Reference in New Issue
Block a user