services: db: image: postgres:17 container_name: shared_postgres restart: always volumes: - /media/docker/postgres:/var/lib/postgresql/data environment: - POSTGRES_USER=postgres - POSTGRES_PASSWORD=super_secure_password_here networks: - shared_net entrypoint: - bash - -c - | docker-entrypoint.sh postgres & until pg_isready -U postgres; do sleep 1; done; psql -U postgres -c "CREATE USER gitea WITH PASSWORD 'gitea';" psql -U postgres -c "CREATE DATABASE gitea OWNER gitea;" psql -U postgres -c "CREATE USER joplin WITH PASSWORD 'joplin';" psql -U postgres -c "CREATE DATABASE joplin OWNER joplin;" psql -U postgres -c "CREATE USER nextcloud WITH PASSWORD 'nextcloud';" psql -U postgres -c "CREATE DATABASE nextcloud OWNER nextcloud;" wait gitea: image: docker.gitea.com/gitea:latest container_name: gitea restart: always depends_on: - db networks: - shared_net ports: - "3001:3000" - "222:22" volumes: - /media/docker/gitea:/data - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro environment: - USER_UID=1000 - USER_GID=1000 - GITEA__database__DB_TYPE=postgres - GITEA__database__HOST=db:5432 - GITEA__database__NAME=gitea - GITEA__database__USER=gitea - GITEA__database__PASSWD=gitea joplin: image: joplin/server:latest container_name: joplin_server restart: always depends_on: - db networks: - shared_net ports: - "22300:22300" environment: - APP_PORT=22300 - APP_BASE_URL=https://joplin.banggae.duckdns.org - DB_CLIENT=pg - POSTGRES_HOST=db - POSTGRES_PORT=5432 - POSTGRES_DATABASE=joplin - POSTGRES_USER=joplin - POSTGRES_PASSWORD=joplin nextcloud: image: nextcloud:latest container_name: nextcloud restart: always depends_on: - db networks: - shared_net ports: - "8080:80" - "8444:443" volumes: - /media/docker/nextcloud:/var/www/html environment: - POSTGRES_HOST=db - POSTGRES_PORT=5432 - POSTGRES_DB=nextcloud - POSTGRES_USER=nextcloud - POSTGRES_PASSWORD=nextcloud - NEXTCLOUD_ADMIN_USER=admin - NEXTCLOUD_ADMIN_PASSWORD=bg0001 - NEXTCLOUD_TRUSTED_DOMAINS=localhost 127.0.0.1:8080 192.168.1.174:8080 localhost:8080 nc.banggae.duckdns.org - OVERWRITEPROTOCOL=https adguardhome: image: adguard/adguardhome container_name: adguardhome restart: always networks: - shared_net volumes: - /media/docker/adguard/workdir:/opt/adguardhome/work - /media/docker/adguard/confdir:/opt/adguardhome/conf ports: - "53:53/tcp" - "80:80/tcp" - "443:443/tcp" - "853:853/tcp" # - "3000:3000/tcp" networks: shared_net: