Intialize folders for all projects

This commit is contained in:
Joey Hafner 2022-02-08 22:29:15 -08:00
parent 45c541999d
commit c9d6f21a63
15 changed files with 209 additions and 0 deletions

33
docs/GITLAB.md Normal file
View File

@ -0,0 +1,33 @@
# Goal
Spin up a Git server with a greater feature set than Gitea.
Specifically, I want:
- Integrated CI/CD. I would prefer a platform that comes with a 1st party CI/CD solution, rather than plugging in a 3rd party solution.
- Container/image registry. Building a locally-hosted registry for images enables better caching.
- Enterprise-competitive platform. Getting experience with a platform that competes with other enterprise SCM solutions is more valuable than something designed for a smaller scale.
# Plan
1. Create the host mount points for the docker volumes: `mkdir -p ~/docker_data/gitlab/data ~/docker_data/gitlab/logs ~/docker_config/gitlab/config`
2. Import the default GitLab configuration from [the docs](https://docs.gitlab.com/ee/install/docker.html#install-gitlab-using-docker-compose).
3. Customize the compose file:
1. `hostname: gitlab.jafner.net`
2. change the `external_url` under the `GITLAB_OMNIBUS_CONFIG` env var to `https://gitlab.jafner.net`
3. Add the `gitlab_rails['gitlab_shell_ssh_port'] = 2229` configuration line under `GITLAB_OMNIBUS_CONFIG` with a new SSH port
4. Remove http and https port bindings. Move host SSH port binding to a higher port.
5. Change the volume bindings to match my conventions (`DOCKER_DATA` instead of `GITLAB_HOME`)
6. Change the docker compose version to `'3.3'`
7. Add Traefik labels to enable TLS.
4. Run the file and test.
5. Troubleshoot issues.
6. GOTO 4.
7. Import Gitea repos
8. Move Gitea from `git.jafner.net` to `gitea.jafner.net`
9. Update Homer with new service locations
===
# References
1. [GitLab Docker images](https://docs.gitlab.com/ee/install/docker.html)
2. [GitLab SaaS vs Self-hosted](https://about.gitlab.com/handbook/marketing/strategic-marketing/dot-com-vs-self-managed/)
3. [Digital Ocean: How to Setup GitLab on a Digital Ocean Droplet](https://www.digitalocean.com/community/tutorials/how-to-setup-gitlab-a-self-hosted-github)

0
gaming-vpn/README.md Normal file
View File

0
jafner-chat/README.md Normal file
View File

View File

@ -0,0 +1,20 @@
version: "3"
services:
5etools:
container_name: 5etools
image: jafner/5etools-docker
restart: always
volumes:
- ./htdocs:/usr/local/apache2/htdocs
environment:
# using defaults
- IMG=false
networks:
- web
labels:
- traefik.http.routers.5etools.rule=Host(`5e.jafner.tools`)
- traefik.http.routers.5etools.tls.certresolver=lets-encrypt
networks:
web:
external: true

0
jafner-tools/README.md Normal file
View File

10
jafner-tools/joplin/.env Normal file
View File

@ -0,0 +1,10 @@
DB_CLIENT=pg
POSTGRES_PASSWORD=postgres
POSTGRES_DATABASE=joplin
POSTGRES_DB=joplin
POSTGRES_USER=postgres
POSTGRES_PORT=5432
POSTGRES_HOST=joplin_db
APP_BASE_URL=https://joplin.jafner.tools
APP_PORT=22300

View File

@ -0,0 +1,34 @@
version: '3'
services:
joplin:
image: joplin/server:2.6-beta
container_name: joplin
restart: unless-stopped
env_file:
- .env
depends_on:
- joplin_db
networks:
- web
- joplin
labels:
- traefik.http.routers.joplin.rule=Host(`joplin.jafner.tools`)
- traefik.http.routers.joplin.tls.certresolver=lets-encrypt
- traefik.http.middlewares.joplin.headers.customrequestheaders.X-Forwarded-Proto = http
- traefik.http.services.joplin.loadbalancer.server.port=22300
- traefik.http.services.joplin.loadbalancer.passhostheader=true
joplin_db:
image: postgres:13.1
container_name: joplin_db
restart: unless-stopped
env_file:
- .env
volumes:
- ./db:/var/lib/postgresql/data
networks:
- joplin
networks:
joplin:
web:
external: true

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,18 @@
version: "3"
services:
traefik:
container_name: traefik
image: traefik:latest
restart: always
networks:
- web
ports:
- 80:80
- 443:443
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./traefik.toml:/traefik.toml
- ./acme.json:/acme.json
networks:
web:
external: true

View File

@ -0,0 +1,18 @@
[entryPoints]
[entryPoints.web]
address = ":80"
[entryPoints.web.http.redirections.entryPoint]
to = "websecure"
scheme = "https"
[entryPoints.websecure]
address = ":443"
[certificatesResolvers.lets-encrypt.acme]
email = "jafner425@gmail.com"
storage = "acme.json"
caServer = "https://acme-v02.api.letsencrypt.org/directory"
[certificatesResolvers.lets-encrypt.acme.tlsChallenge]
[providers.docker]
watch = true
network = "web"

View File

@ -0,0 +1,16 @@
version: '3.3'
services:
uptime-kuma:
image: louislam/uptime-kuma
container_name: uptime-kuma
restart: always
volumes:
- ./data:/app/data
networks:
- web
labels:
- traefik.http.routers.uptime-kuma.rule=Host(`uptime.jafner.tools`)
- traefik.http.routers.uptime-kuma.tls.certresolver=lets-encrypt
networks:
web:
external: true

View File

@ -0,0 +1,16 @@
version: '3'
services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: unless-stopped
networks:
- web
volumes:
- ./data:/data
labels:
- traefik.http.routers.vaultwarden.rule=Host(`bitwarden.jafner.tools`)
- traefik.http.routers.vaultwarden.tls.certresolver=lets-encrypt
networks:
web:
external: true

0
nas/README.md Normal file
View File

0
router/README.md Normal file
View File

0
seedbox/README.md Normal file
View File