mirror of
https://github.com/runyanjake/olomana.git
synced 2025-10-04 21:27:29 -07:00
Update gitea & add immich
This commit is contained in:
parent
78b5a0f360
commit
0a392f4cc0
@ -1,60 +1,40 @@
|
|||||||
# Gitea
|
# Gitea
|
||||||
|
Self hosted Git
|
||||||
Self hosted Git
|
|
||||||
|
|
||||||
Followed instructions on Gitea page: https://docs.gitea.com/next/installation/install-with-docker
|
Followed instructions on Gitea page: https://docs.gitea.com/next/installation/install-with-docker
|
||||||
|
|
||||||
### Steps
|
### Steps
|
||||||
|
|
||||||
1. Create a new user to own the gitea folder.
|
1. Create a new user to own the gitea folder.
|
||||||
|
|
||||||
`sudo groupadd gitea && sudo useradd giteauser && sudo usermod -a -G gitea giteauser && chown -r gitea:giteauser .`
|
`sudo groupadd gitea && sudo useradd giteauser && sudo usermod -a -G gitea giteauser && chown -r gitea:giteauser .`
|
||||||
|
|
||||||
2. Run via Docker Compose
|
2. Run via Docker Compose
|
||||||
|
|
||||||
`docker-compose up -d`
|
`docker-compose up -d`
|
||||||
|
|
||||||
3. Test postgresql
|
3. Test postgresql
|
||||||
|
`docker exec -it gitea_db bash`
|
||||||
`docker exec -it gitea_database bash`
|
`psql -h 127.0.0.1 -p 5432 -U olomana_readwrite -d gitea`
|
||||||
|
4. Go to xxx.xxx.xx.xxx:3000 and fill out initial config. Everything should match up to default value.
|
||||||
`psql -h 127.0.0.1 -p 5432 -U gitea`
|
Some things that were weird:
|
||||||
|
|
||||||
4. Stop server and set value in app.ini.
|
|
||||||
|
|
||||||
Add magic line to /data/persistent/gitea/gitea/gitea/conf/app.ini because local workers will otherwise assume they can use our port 3000 to reach services locally. Have to specify local url here.
|
|
||||||
|
|
||||||
This goes in the [server] section. (https://docs.gitea.com/next/administration/config-cheat-sheet)
|
|
||||||
|
|
||||||
`LOCAL_ROOT_URL = http://localhost:3000/`
|
|
||||||
|
|
||||||
Also modify the following:
|
|
||||||
|
|
||||||
`ROOT_URL = https://git.whitney.rip`
|
|
||||||
|
|
||||||
`SSH_DOMAIN = git.whitney.rip`
|
|
||||||
|
|
||||||
Then start containers again.
|
|
||||||
|
|
||||||
5. Go to xxx.xxx.xx.xxx:3000 and fill out initial config. Everything should match up to default values.
|
|
||||||
|
|
||||||
|
|
||||||
Some things that were weird:
|
|
||||||
|
|
||||||
- could not use any port that wasnt default postgresql (5432)
|
- could not use any port that wasnt default postgresql (5432)
|
||||||
|
- had to make sure to specify database container by the right name. Removed custom name and used just "databasei".
|
||||||
- had to make sure to specify database container by the right name. Removed custom name and used just "database".
|
Additionally, you must provision the first admin user in the initial config.
|
||||||
|
5. Provision new users
|
||||||
6. Enable SSH on the server
|
You can do that from the "Site Administration" view from the first admin user.
|
||||||
|
6. Configure SSH
|
||||||
- install openssh-server
|
Via Traefik:
|
||||||
|
- Add another entrypoint in `traefik.toml`:
|
||||||
- follow `https://wiki.archlinux.org/title/Gitea#Enable_SSH_Support`
|
```
|
||||||
|
entryPoints:
|
||||||
Should be able to clone via HTTPS at this point.
|
gitea:
|
||||||
|
address: ":2222"
|
||||||
|
```
|
||||||
|
- Configure similar traefik labels to what we normally do for containers:
|
||||||
|
```
|
||||||
|
- traefik.tcp.routers.gitea_ssh.rule=HostSNI(`*`)
|
||||||
|
- traefik.tcp.routers.gitea_ssh.entrypoints=ssh
|
||||||
|
- traefik.tcp.routers.gitea_ssh.service=gitea_ssh
|
||||||
|
- traefik.tcp.services.gitea_ssh.loadbalancer.server.port=22
|
||||||
|
```
|
||||||
7. Handle user authentication like you'd do on Github by generating new ssh keys and adding them to the SSH Keys section.
|
7. Handle user authentication like you'd do on Github by generating new ssh keys and adding them to the SSH Keys section.
|
||||||
|
Settings > SSH/GPG Keys > Manage SSH Keys
|
||||||
Settings > SSH/GPG Keys > Manage SSH Keys
|
|
||||||
|
|
||||||
Now should also be able to clone with SSH.
|
Now should also be able to clone with SSH.
|
||||||
|
|
||||||
|
### References
|
||||||
|
`https://docs.gitea.com/next/administration/config-cheat-sheet`
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
networks:
|
networks:
|
||||||
gitea_network:
|
gitea_network:
|
||||||
external: false
|
external: false
|
||||||
[TRAEFIK_NETWORK]:
|
TRAEFIK_NETWORK:
|
||||||
external: true
|
external: true
|
||||||
|
|
||||||
services:
|
services:
|
||||||
@ -12,24 +12,35 @@ services:
|
|||||||
depends_on:
|
depends_on:
|
||||||
- database
|
- database
|
||||||
environment:
|
environment:
|
||||||
- USER_UID=[GITEA_USER_ID]
|
- USER_UID=GITEA_USER_ID
|
||||||
- USER_GID=[GITEA_USER_GROUP_ID]
|
- USER_GID=GITEA_USER_GROUP_ID
|
||||||
- DOMAIN=[SUBDOMAIN_URL]
|
- DOMAIN=SUBDOMAIN_URL
|
||||||
- PROTOCOL=http
|
- PROTOCOL=http
|
||||||
- GITEA__database__DB_TYPE=postgres
|
- GITEA__database__DB_TYPE=postgres
|
||||||
- GITEA__database__HOST=database:5432
|
- GITEA__database__HOST=database:5432
|
||||||
- GITEA__database__NAME=[GITEA_DB_NAME]
|
- GITEA__database__NAME=GITEA_DB_NAME
|
||||||
- GITEA__database__USER=[GITEA_DB_USER]
|
- GITEA__database__USER=GITEA_DB_USER
|
||||||
- GITEA__database__PASSWD=[GITEA_DB_PASS]
|
- GITEA__database__PASSWD=GITEA_DB_PASS
|
||||||
|
- GITEA__service__DISABLE_REGISTRATION=true
|
||||||
|
- GITEA__openid__ENABLE_OPENID_SIGNUP=DISABLE_REGISTRATION
|
||||||
|
- GITEA__openid__ENABLE_OPENID_SIGNIN=false
|
||||||
|
- GITEA__server__ROOT_URL=SUBDOMAIN_URL
|
||||||
|
- GITEA__server__LOCAL_ROOT_URL=HTTP_SUBDOMAIN_URL
|
||||||
|
- GITEA__server__SSH_DOMAIN=SUBDOMAIN_URL
|
||||||
|
- GITEA__server__SSH_PORT=HOST_SSH_PORT
|
||||||
|
- GITEA__server__SSH_LISTEN_PORT=HOST_SSH_PORT
|
||||||
|
- GITEA__server__START_SSH_SERVER=true
|
||||||
networks:
|
networks:
|
||||||
- gitea_network
|
- gitea_network
|
||||||
- [TRAEFIK_NETWORK]
|
- TRAEFIK_NETWORK
|
||||||
|
ports:
|
||||||
|
- "HOST_SSH_PORT:22"
|
||||||
volumes:
|
volumes:
|
||||||
- /pwspool/software/gitea/gitea:/data
|
- /pwspool/software/gitea/gitea:/data
|
||||||
- /etc/timezone:/etc/timezone:ro
|
- /etc/timezone:/etc/timezone:ro
|
||||||
- /etc/localtime:/etc/localtime:ro
|
- /etc/localtime:/etc/localtime:ro
|
||||||
labels:
|
labels:
|
||||||
- traefik.http.routers.gitea.rule=Host(`[SUBDOMAIN_URL]`)
|
- traefik.http.routers.gitea.rule=Host(`SUBDOMAIN_URL`)
|
||||||
- traefik.http.routers.gitea.tls=true
|
- traefik.http.routers.gitea.tls=true
|
||||||
- traefik.http.routers.gitea.tls.certresolver=lets-encrypt
|
- traefik.http.routers.gitea.tls.certresolver=lets-encrypt
|
||||||
- traefik.http.services.gitea.loadbalancer.server.port=3000
|
- traefik.http.services.gitea.loadbalancer.server.port=3000
|
||||||
@ -40,9 +51,9 @@ services:
|
|||||||
- gitea_network
|
- gitea_network
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
environment:
|
environment:
|
||||||
- POSTGRES_USER=[GITEA_DB_USER]
|
- POSTGRES_USER=GITEA_DB_USER
|
||||||
- POSTGRES_PASSWORD=[GITEA_DB_PASS]
|
- POSTGRES_PASSWORD=GITEA_DB_PASS
|
||||||
- POSTGRES_DB=[GITEA_DB_NAME]
|
- POSTGRES_DB=GITEA_DB_NAME
|
||||||
volumes:
|
volumes:
|
||||||
- /pwspool/software/gitea/database:/var/lib/postgresql/data
|
- /pwspool/software/gitea/database:/var/lib/postgresql/data
|
||||||
labels:
|
labels:
|
||||||
|
2
immich/.gitignore
vendored
Normal file
2
immich/.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
docker-compose.yml
|
||||||
|
.env
|
9
immich/README.md
Normal file
9
immich/README.md
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
# Immich
|
||||||
|
Self hosted photography server.
|
||||||
|
|
||||||
|
## Setup
|
||||||
|
1. Setup is easy. Follow `https://immich.app/docs/install/docker-compose` to download the `dockerfile` and `.env` config files.
|
||||||
|
2. Add custom values to `.env` where applicable (data/upload locations, and set custom DB pw)
|
||||||
|
3. Customize the dockerfile for Traefik things.
|
||||||
|
3a. Networks, add traefik network and make a new immach bridge network so things can continue to communicate after you add traefik. Make sure all containers use it.
|
||||||
|
3b. Traefik tags, add the default ones.
|
Loading…
x
Reference in New Issue
Block a user