simple docker compose setup with Caddy
This commit is contained in:
commit
d217f24cc7
5
.gitignore
vendored
Normal file
5
.gitignore
vendored
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
/caddy/config
|
||||||
|
/caddy/data
|
||||||
|
/caddy/static/
|
||||||
|
/postgres
|
||||||
|
/pgadmin
|
19
caddy/Caddyfile
Normal file
19
caddy/Caddyfile
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
{
|
||||||
|
email user@gmail.com
|
||||||
|
servers {
|
||||||
|
metrics
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
blog.site.com {
|
||||||
|
root * /static
|
||||||
|
encode zstd gzip
|
||||||
|
file_server
|
||||||
|
log
|
||||||
|
}
|
||||||
|
|
||||||
|
git.site.com {
|
||||||
|
reverse_proxy gitea:3000
|
||||||
|
encode zstd gzip
|
||||||
|
log
|
||||||
|
}
|
46
docker-compose.yml
Normal file
46
docker-compose.yml
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
services:
|
||||||
|
###
|
||||||
|
# PUBLIC WEB SERVICES
|
||||||
|
###
|
||||||
|
caddy: # https://github.com/caddyserver/caddy/releases
|
||||||
|
image: caddy:2.8.4
|
||||||
|
ports:
|
||||||
|
- "80:80"
|
||||||
|
- "443:443"
|
||||||
|
volumes:
|
||||||
|
- ./caddy/data:/data
|
||||||
|
- ./caddy/config:/config
|
||||||
|
- ./caddy:/etc/caddy
|
||||||
|
- ./caddy/static:/static
|
||||||
|
restart: always
|
||||||
|
gitea: # https://github.com/go-gitea/gitea/releases
|
||||||
|
image: gitea/gitea:1.22.1
|
||||||
|
environment:
|
||||||
|
- USER_UID=113
|
||||||
|
- USER_GID=119
|
||||||
|
ports:
|
||||||
|
- "127.0.0.1:2222:22"
|
||||||
|
volumes:
|
||||||
|
- /home/git/gitea/data:/data
|
||||||
|
- /etc/timezone:/etc/timezone:ro
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
restart: always
|
||||||
|
postgres:
|
||||||
|
image: postgres:15.7-alpine
|
||||||
|
restart: always
|
||||||
|
user: 1000:1000
|
||||||
|
environment:
|
||||||
|
- POSTGRES_USER=postgres
|
||||||
|
- POSTGRES_PASSWORD=<password>
|
||||||
|
- POSTGRES_DB=postgres
|
||||||
|
volumes:
|
||||||
|
- ./postgres/data:/var/lib/postgresql/data
|
||||||
|
- /etc/passwd:/etc/passwd:ro
|
||||||
|
pgadmin:
|
||||||
|
image: dpage/pgadmin4:8.10
|
||||||
|
restart: always
|
||||||
|
environment:
|
||||||
|
- PGADMIN_DEFAULT_EMAIL=admin@site.com
|
||||||
|
- PGADMIN_DEFAULT_PASSWORD=<password>
|
||||||
|
volumes:
|
||||||
|
- ./pgadmin:/var/lib/pgadmin
|
29
readme.md
Normal file
29
readme.md
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
# setting up the server
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
|
||||||
|
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
|
||||||
|
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
|
||||||
|
sudo apt update
|
||||||
|
sudo apt install docker-ce docker-ce-cli docker-compose containerd.io
|
||||||
|
sudo docker run hello-world
|
||||||
|
```
|
||||||
|
|
||||||
|
create git user for gitea:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo adduser --system --shell /bin/bash --gecos 'Git Version Control' --group --disabled-password --home /home/git git
|
||||||
|
id git
|
||||||
|
sudo touch /usr/local/bin/gitea
|
||||||
|
sudo chmod +x /usr/local/bin/gitea
|
||||||
|
sudo -u git ssh-keygen -t rsa -b 4096 -C "Gitea Host Key"
|
||||||
|
```
|
||||||
|
|
||||||
|
gitea runs as the `git` user; the files are in `/home/git/gitea/data`.
|
||||||
|
|
||||||
|
`/usr/local/bin/gitea` contents:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
#!/bin/sh
|
||||||
|
ssh -p 2222 -o StrictHostKeyChecking=no git@127.0.0.1 "SSH_ORIGINAL_COMMAND=\"$SSH_ORIGINAL_COMMAND\" $0 $@"
|
||||||
|
```
|
8
static/index.html
Normal file
8
static/index.html
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>Hello World</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<h1>Hello from Caddy!</h1>
|
||||||
|
</body>
|
||||||
|
</html>
|
Loading…
Reference in New Issue
Block a user