website-zarif/assets/js/data/search.json
Zarif Fathurrahman Rani 782270c665 first commit
2023-08-30 20:07:11 +03:00

345 lines
50 KiB
JSON
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

[
{
"title": "Quotes",
"url": "/posts/quotes/",
"categories": "mesir, kehidupan",
"tags": "mesir, medic, alex, kedihupan",
"date": "2023-08-15 00:29:26 -0500",
"snippet": "Koleksi Qoutes SayaEnglish a great man doesnt seek to lead. he called to it, he answers it. if you dont create a routine, you will assigned one.if you dont create a purpose, you will a...",
"content": "Koleksi Qoutes SayaEnglish a great man doesnt seek to lead. he called to it, he answers it. if you dont create a routine, you will assigned one.if you dont create a purpose, you will assigned one.if you dont create a career, you will assigned one. the mouse dies in the trap because it doest know why the cheese is free. same hot water make the egg hard and make the potato soft. which one are you? a man who ask a question is a fool for a minute, a man who doest ask a question is a fool for life. if you stop pushing thing, it will stop moving the lesson you struggle with will repeat it self untill you learn from it the eye are useless when the mind is blind it will get easier everyday, but you need to do everyday. that the hard part. if you dont want to sacrifice what you want, then what you want will be the sacrifice. Bahasa Melayu fakta itu adalah konklusi cerita. tawakal adalah tempat kembalinya segala usaha kekadang si kaya ulang alik ke mekah mencari keredaan Allah, sedangkan si miskin hanya di depan matanya. mekar kerana akar orang duduk di rumah kaca tidak akan membaling baru rumah jirannya. "
},
{
"title": "Dermatology",
"url": "/posts/dermatology/",
"categories": "mesir, medic",
"tags": "mesir, medic, alex, kedihupan",
"date": "2023-08-15 00:29:26 -0500",
"snippet": "Pembahagian Markah 75 markah keseluruhan Tempoh kelas: 29 Jul 2023 - 8 Aug 2023 Tarikh Exam End of Round OSCE: 10 Aug 2023 Final: 16 Sep 2023 ",
"content": "Pembahagian Markah 75 markah keseluruhan Tempoh kelas: 29 Jul 2023 - 8 Aug 2023 Tarikh Exam End of Round OSCE: 10 Aug 2023 Final: 16 Sep 2023 "
},
{
"title": "Automatic Deploy Jekyll Website Menggunakan Gitea Webhook",
"url": "/posts/automatic-deploy-jekyll-website/",
"categories": "homelab, development",
"tags": "docker, server, jekyll, git, webhook, gitea",
"date": "2023-07-06 00:29:26 -0500",
"snippet": "Ringkasan ProjekJekyll adalah satu alat utuk membina website. Jekyll membolehkan kita untuk membina static html file dan static html file tersebut boleh diguna pakai oleh webserver aplikasi untuk d...",
"content": "Ringkasan ProjekJekyll adalah satu alat utuk membina website. Jekyll membolehkan kita untuk membina static html file dan static html file tersebut boleh diguna pakai oleh webserver aplikasi untuk diservekan. Tapi kita memerlukan satu cara untuk hantar static file tersebut ke webserver. Perkara ini boleh dicapai dengan menggunakan cloud repository seperti Github, Gitlab atau Gitea. Static html file tersebut diuploadkan ke cloud repository dan larikan git pull ke webserver setiap kali repository tersebut update. Tapi ini agak melecehkan kerana kita perlu ssh login ke webserver tersebut dan git pull secara manual. Pos ini akan membantu kita untuk automatic git pull static html file ke webserver setiap kali repository update menggunakan webhook daripada Gitea.Setup files dan folders1. Bina tiga Gitea repository chirpy-starter _site docker-php-nginx2. Clone chirpy-starter daripada official repositorygit clone https://github.com/cotes2020/chirpy-starter.gitcd chirpy-starterrm -rf .git3. Bina docker-compose.yml file seperti di bawah dalam chirpy-starter yang telah diclonekan.version: \"3\"services: drafts: # enable posts in _draft folder command: jekyll serve --drafts image: jekyll/jekyll:latest volumes: - .:/srv/jekyll ports: - 4000:4000 site: command: jekyll serve image: jekyll/jekyll:latest volumes: - .:/srv/jekyll ports: - 4000:4000 build: command: jekyll build image: jekyll/jekyll:latest volumes: - .:/srv/jekyll4. Tambahkan webhook.php file Ubah $REMOTE_REPO kepada remote repo ssh _site anda.<?php$secret_key = '123';// check for POST requestif ($_SERVER['REQUEST_METHOD'] != 'POST') { error_log('FAILED - not POST - '. $_SERVER['REQUEST_METHOD']); exit();}// get content type$content_type = isset($_SERVER['CONTENT_TYPE']) ? strtolower(trim($_SERVER['CONTENT_TYPE'])) : '';if ($content_type != 'application/json') { error_log('FAILED - not application/json - '. $content_type); exit();}// get payload$payload = trim(file_get_contents(\"php://input\"));if (empty($payload)) { error_log('FAILED - no payload'); exit();}// get header signature$header_signature = isset($_SERVER['HTTP_X_GITEA_SIGNATURE']) ? $_SERVER['HTTP_X_GITEA_SIGNATURE'] : '';if (empty($header_signature)) { error_log('FAILED - header signature missing'); exit();}// calculate payload signature$payload_signature = hash_hmac('sha256', $payload, $secret_key, false);// check payload signature against header signatureif ($header_signature !== $payload_signature) { error_log('FAILED - payload signature'); exit();}// convert json to array$decoded = json_decode($payload, true);// check for json decode errorsif (json_last_error() !== JSON_ERROR_NONE) { error_log('FAILED - json decode - '. json_last_error()); exit();}// success, do something// Set Variables$LOCAL_ROOT = \"/var/www/html\";$LOCAL_REPO_NAME = \"_site\";$LOCAL_REPO = \"{$LOCAL_ROOT}/{$LOCAL_REPO_NAME}\";$REMOTE_REPO = \"ssh://git@gitea-url:22/zarif59/_site.git\";$BRANCH = \"master\";if( file_exists($LOCAL_REPO) ) { // If there is already a repo, just run a git pull to grab the latest changes shell_exec(\"cd {$LOCAL_REPO} && git pull\"); } else { // If the repo does not exist, then clone it into the parent directory shell_exec(\"cd {$LOCAL_ROOT} && git clone {$REMOTE_REPO}\"); }5. Mula menulis pos anda.Writing a New Post6. Build jekyll site.docker-compose up build7. Upload chirpy-starter folder ke Gitea repository. comment _site kepada #_site dalam file .gitignoregit initgit checkout -b maingit commit -m \"first commit\"git remote add origin http://gitea-url/zarif/chirpy-starter.gitgit push -u origin main8. Upload _site folder.git subtree push --prefix _site/ http://gitea-url/zarif/_site.git master Setup webhook di Gitea repository Pergi ke _site repository -> setting -> Webhooks. Letakkan blog url dan /webhook.php di belakang. Seperti ini http://blog-url.com/webhook.php. Letakkan 123 pada secret. Bina resource untuk blog docker container1. Dapatkan resource file di Github page sayagit clone https://github.com/zarif59/docker-php-nginx.gitcd docker-php-nginxrm -rf .git2. Ubah gitea-url dalam Dockerfilecd docker-php-nginxnano Dockerfile3. Generate ssh key pairssh-keygen -t ed25519 -C \"your_email@example.com\" -f id_webhook4. Upload docker-php-nginx ke Gitea repositorygit initgit checkout -b maingit commit -m \"first commit\"git remote add origin http://gitea-url/zarif/docker-php-nginx.gitgit push -u origin mainDeploy blog website anda1. Tambahkan id_webhook.pub di Gitea _site repository Pergi ke _site repository -> setting -> Deploy Keys. Tambahkan id_webhook.pub yang telah di-generatekan didalam folder docker-php-nginx. 2. ssh ke webserverssh yourname@blog-url.com3. Dapatkan docker-php-nginxgit pull http://gitea-url/zarif/docker-php-nginx.git4. Bina docker imagecd docker-php-nginxdocker build -t blog/zarif:v1 .5. Bina blog docker containerdocker-compose up -d5. Layari blog websitehttp://blog-url.com:8080"
},
{
"title": "Home Media Stack",
"url": "/posts/home-media/",
"categories": "homelab, docker",
"tags": "docker, server, media, how-to",
"date": "2023-07-03 01:29:26 -0500",
"snippet": "docker-compose-media.yamlversion: \"3\"services: jellyfin: image: jellyfin/jellyfin container_name: jellyfin environment: - PUID=1000 - PGID=1000 - TZ=Europe/Rome volumes:...",
"content": "docker-compose-media.yamlversion: \"3\"services: jellyfin: image: jellyfin/jellyfin container_name: jellyfin environment: - PUID=1000 - PGID=1000 - TZ=Europe/Rome volumes: - jellyfin:/config - /mnt/sdb/media/shows:/data/tvshows - /mnt/sdb/media/movies:/data/movies ports: - 8096:8096 restart: unless-stopped runtime: nvidia deploy: resources: reservations: devices: - capabilities: [gpu] sonarr: image: linuxserver/sonarr container_name: sonarr environment: - PUID=1000 - PGID=1000 volumes: - sonarr:/config - /mnt/sdb/media/shows:/shows - /mnt/sdb/media/transmission/downloads/complete:/downloads/complete ports: - 8989:8989 restart: unless-stopped radarr: image: linuxserver/radarr container_name: radarr environment: - PUID=1000 - PGID=1000 volumes: - radarr:/config - /mnt/sdb/media/transmission/downloads/complete:/downloads/complete - /mnt/sdb/media/movies:/movies ports: - 7878:7878 restart: unless-stopped bazarr: image: linuxserver/bazarr container_name: bazarr environment: - PUID=1000 - PGID=1000 - TZ=Europe/Rome volumes: - bazarr:/config ports: - 6767:6767 restart: unless-stopped jellyseerr: image: fallenbagel/jellyseerr container_name: jellyseerr environment: - LOG_LEVEL=debug - TZ=Etc/UTC ports: - 5055:5055 volumes: - jellyseerr:/app/config restart: unless-stopped depends_on: - radarr - sonarrvolumes: jellyfin: sonarr: radarr: bazarr: jellyseerr:docker-compose-download.ymlversion: \"2.1\"services: jackett: image: linuxserver/jackett container_name: jackett environment: - PUID=1000 - PGID=1000 volumes: - jackett:/config - /mnt/sdb/media/jackett/downloads:/downloads ports: - 9117:9117 restart: unless-stopped transmission: image: linuxserver/transmission container_name: transmission environment: - PUID=1000 - PGID=1000 volumes: - transmission:/config - /mnt/sdb/media/transmission/downloads:/downloads ports: - 9091:9091 - 51413:51413 - 51413:51413/udp restart: unless-stopped filebrowser: image: hurlenko/filebrowser:v2.23.0 container_name: filebrowser user: 1000:1000 ports: - 8084:8080 volumes: - filebrowser:/config - /mnt/sdb/media:/data restart: unless-stoppedvolumes: jackett: transmission: filebrowser:"
},
{
"title": "Internal Medicine",
"url": "/posts/internalmed/",
"categories": "mesir, medic",
"tags": "mesir, medic, mbbs",
"date": "2023-05-07 01:29:26 -0500",
"snippet": "Pembahagian markah Markah keseluruhan: 565 (399 Lulus/60%) Markah Internal Medicine: 440 Markah Pharmacology: 125 End of Round OSCE exam (setiap dua minggu) 200 marks: 25 per ...",
"content": "Pembahagian markah Markah keseluruhan: 565 (399 Lulus/60%) Markah Internal Medicine: 440 Markah Pharmacology: 125 End of Round OSCE exam (setiap dua minggu) 200 marks: 25 per deparment Setiap dua minggu: 50 marks untuk dua department -> 2 clinical 20 marks, 6 written 30 marks. Final exam 220 marks: 60 marks OSCE, 180 marks untuk 2 mcq paper. Tempoh kelas: 4 Mac 2023 - 4 May 2023OSCE Clinical dan Written untuk setiap department Department Clinical Written Hepatology Test for acistes - Clubbing - Spider nevi - Paracentesis Hematology Palpate spleen - CBC of pancytopenia - CBC of CML - CBC of AML Rheumatology Knee inspection - Malar rash - SLE lab test - RA hands - Scleroderma face Diabetest Lower limb inspection - Diabetes case - Foot ulcer - Peripheral Arterial Disease case GIT Abdominal inspection - Esophageal achalasia - Hematemesis case - Chrons case Endocrine Graves disease inspection and examination - Short stature - Cushings sysndrome - Hypothyroidism Nephrology Lower limb edema - Urine analysis (Nephrotic) - Urine analysis (Nephretic) - Urine analysis (Infection) Geriatic Knee examination - Dementia - IDA with inflaximab usage - Urinary incontinent Tarikh Exam End of Round OSCE exam: 4 Mac 2023 - 4 May 2023 Final Part 1: 9 Aug 2023 Hepatology, Hematology, Rhuematology, GIT Final Part 2: 14 Aug 2023 Nephrology, Endocrine, Diabetest, Geriatic Openbook Pharmacology: 14 Aug 2023 Final OSCE Clinical (Grand OSCE) : 4 Sep 2023"
},
{
"title": "Pengalaman Ramadan di Mesir",
"url": "/posts/pengalam-ramadan-di-mesir/",
"categories": "mesir, kehidupan",
"tags": "mesir, medic, alex, kedihupan",
"date": "2023-04-18 01:29:26 -0500",
"snippet": "Ramadan di MesirSaya ingin berbagi pengalaman saya mengenai Ramadan di Mesir. Sebagai negara majoriti Muslim, Ramadan sangat dihargai dan dirayakan di Mesir. Selama bulan suci ini, suasana Mesir be...",
"content": "Ramadan di MesirSaya ingin berbagi pengalaman saya mengenai Ramadan di Mesir. Sebagai negara majoriti Muslim, Ramadan sangat dihargai dan dirayakan di Mesir. Selama bulan suci ini, suasana Mesir benar-benar berubah dan terasa sangat khusyuk.Hiasan RamadanSalah satu hal yang paling menarik tentang Ramadan di Mesir adalah adanya ketupat Ramadan yang disebut “fanoos”. Fanoos adalah lampu Ramadan yang terbuat dari kertas dan dihiasi dengan warna-warni cerah. Lampu ini biasanya ditempatkan di jendela rumah dan dihias dengan kertas warna-warni, membuat kota benar-benar hidup dengan warna dan cahaya selama bulan suci.IftarSelain itu, Mesir juga terkenal dengan hidangan khas Ramadan-nya, seperti konafah, basbousa, dan atayef. Saya suka mengunjungi pasar tradisional atau souq untuk mencicipi hidangan-hidangan ini, sambil menikmati suasana Ramadan yang meriah. Dan yang paling penting, di Mesir ini terdapat satu amalan yang dikenai sebagai Maidah Rahman dimana makanan berbuka puasa dihidangkan secara percuma kepada orang ramai oleh para dermawan. Dalam bahasa Arab, “maidah” artinya “meja”, sedangkan “rahman” artinya “penuh kasih sayang”. Makanan di Maidah Rahman ini memang banyak dah sangat memenuhkan perut. Saya memang hampir tiap hari berbuka di sini. Jimat duit hehe. Di samping itu saya boleh berkenalan dan memerhati orang Mesir dengan lebih dekat.TerawihDi Mesir, terawih dilakukan setelah solat isya pada waktu malam. Terawih ini hanya terdiri daripada 8 rakaat sahaja dan diteruskan dengan 3 rakaat witir berserta doa Qunut di akhir rakaat. Meskipun terawih hanya 8 rakaat, suasana di masjid sangat meriah dan khusyuk. Terdapat banyak masjid yang menyediakan terawih, jadi tidak perlu risau mencari tempat untuk beribadah. Selain itu, terawih di Mesir juga sering dimeriahkan dengan bacaan Al-Quran dan khatam Al-Quran pada malam Lailatul Qadr. Di sepuluh malam terkahir pula, witir tidak dilakukan lepaskan terawih tapi dilakukan dia waktu malam lebih kurang dalam pukul 12 malam macam tu.Akhir kataAkhir kata, berpuasa di Mesir sangatlah bermakna bagi saya. Saya dapat merasai suasana Ramadan yang sangat khusyuk dan meriah, serta menikmati hidangan khas Ramadan Mesir seperti kunafa dan kuftah. Terawih di Mesir juga sangat meriah, dengan banyak masjid yang menyediakan tempat untuk beribadah. Selain itu, Maidah Rahman juga menjadi satu amalan menarik dan unik yang dapat saya saksikan di Mesir. Semoga pengalaman saya ini dapat memberikan gambaran bagi kawan-kawan saya yang ingin merasai Ramadan di Mesir. Ramadan Mubarak!"
},
{
"title": "Mini Internet",
"url": "/posts/mini-internet/",
"categories": "homelab, development",
"tags": "docker, server, dns, how-to",
"date": "2022-07-13 03:29:26 -0500",
"snippet": "Ringkasan ProjekBina lab persekitaran maya seperti gambar rajah di bawah.Install Oracle VirtualBox Muat turun dan install Oracle VirtualBox di Downloads Oracle VM VirtualBox Tonton video ini Ho...",
"content": "Ringkasan ProjekBina lab persekitaran maya seperti gambar rajah di bawah.Install Oracle VirtualBox Muat turun dan install Oracle VirtualBox di Downloads Oracle VM VirtualBox Tonton video ini How to Install VirtualBox on Windows 10 - YouTubeMuat turun file ISO Ubuntu ServerMuat turun file ISO Ubuntu Server di Get Ubuntu ServerBina Virtual Machine 1 dan Virtual Machine 2 Tonton video ini Install Ubuntu Server 20.04 LTS on VirtualBox dan bina dua Virtual Machine seperti berikut.Setup VM2 - Ubuntu Workstation SSH ke server VM2 dan install docker.sudo apt install docker.iosudo apt install docker-compose Install Wordpress mengunakan docker. Lihat disini Wordpress Zarif Rani Layari Wordpress interface.Setup VM1 - DNS Server SSH ke server VM1 dan install docker.sudo apt install docker.iosudo apt install docker-compose Bina Pi-hole menggunakan dockermkdir pi-holecd pi-holetouch docker-compose.yamlnano docker-compose.yamlversion: \"3\"# More info at https://github.com/pi-hole/docker-pi-hole/ and https://docs.pi-hole.net/services: pihole: container_name: pihole image: pihole/pihole:latest # For DHCP it is recommended to remove these ports and instead add: network_mode: \"host\" ports: - \"53:53/tcp\" - \"53:53/udp\" - \"67:67/udp\" # Only required if you are using Pi-hole as your DHCP server - \"80:80/tcp\" environment: TZ: 'America/Chicago' # WEBPASSWORD: 'set a secure password here or it will be random' # Volumes store your data between container upgrades volumes: - './etc-pihole:/etc/pihole' - './etc-dnsmasq.d:/etc/dnsmasq.d' # https://github.com/pi-hole/docker-pi-hole#note-on-capabilities cap_add: - NET_ADMIN # Recommended but not required (DHCP needs NET_ADMIN) restart: unless-stopped Run docker-composesudo docker-compose up Layari admin web interface Pi-hole di http://VM1-ip/admin Login ke admin interface. (Password admin boleh didapati dengan melihat log docker pihole) Pergi ke Local DNS > DNS Records dan tambah domain anda berserta IP VM2.Kemaskini Pelayan DNS PC Untuk komputer Windows, pergi ke Setting > Network & internet dan masukkan alamat IP VM1 -  DNS. Cubaan Layari alamat yang anda masukkan didalam Pi-hole. (wordpress.zarifhomelab.local dalam kes ini) Ianya akan keluar seperti berikut jika tiada masalah."
},
{
"title": "Laravel PHP Docker",
"url": "/posts/laravel-docker/",
"categories": "homelab, development",
"tags": "docker, server, php, how-to",
"date": "2022-07-13 03:29:26 -0500",
"snippet": "Environment Ubuntu 22.04 LTS Docker 20.10.12Install dockersudo apt install docker.iosudo apt install docker-composeStruktur folderlaravel_docker│ docker-compose.yaml│└───apache│ │ default.c...",
"content": "Environment Ubuntu 22.04 LTS Docker 20.10.12Install dockersudo apt install docker.iosudo apt install docker-composeStruktur folderlaravel_docker│ docker-compose.yaml│└───apache│ │ default.conf│└───php│ │ Dockerfile│└───src │ [laravel_folder_projek]Bina foldermkdir laravel_dockercd laravel_dockertouch docker-compose.yamlmkdir apachetouch apache/default.confmkdir phptouch php/Dockerfilemkdir srcKemaskini file# docker-compose.yamlversion: '3.8'services: laravel: container_name: laravel image: laravel/zarif:v1 ports: - '80:80' volumes: - ./src:/var/www/laravel_docker # add laravel php project in this folder - ./apache/default.conf:/etc/apache2/sites-enabled/000-default.conf depends_on: - database networks: laravel-back-network: database: image: mysql:latest container_name: laravel_database volumes: - laravel-db:/var/lib/mysql restart: unless-stopped environment: - MYSQL_RANDOM_ROOT_PASSWORD=yes - MYSQL_PASSWORD=laravel - MYSQL_USER=laravel - MYSQL_DATABASE=laravel networks: laravel-back-network:volumes: laravel-db: networks: laravel-back-network: driver: bridge# apache/default.conf<VirtualHost *:80> ServerName laravel_docker DocumentRoot /var/www/laravel_docker/public <Directory /var/www/laravel_docker> AllowOverride All </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined</VirtualHost># php/DockerfileFROM php:8.0-apacheRUN apt update && apt install -y \\ g++ \\ libicu-dev \\ libpq-dev \\ libzip-dev \\ zip \\ zlib1g-dev \\ nano \\ mariadb-clientRUN docker-php-ext-install \\ intl \\ opcache \\ pdo \\ pdo_mysql \\ pgsql WORKDIR /var/www/laravel_dockerRUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composerRUN a2enmod rewriteCopy Laravel PHP projek ke dalam folder srcKita akan gunakan projek silsilah daripada githubgit clone https://github.com/nafiesl/silsilah.git src/Build docker imagesudo docker build -t laravel/zarif:v1 ./phpRun docker-composesudo docker-compose up -dAkses container terminalsudo docker exec -it laravel bashBaiki permission containerchown www-data:www-data -R /var/www/laravel_dockerKemaskini .envcp .env.example .envphp artisan key:generatenano .envPastikan DB enviroment sama dengan docker-compose.yamlAPP_ENV=localAPP_KEY=APP_DEBUG=trueAPP_LOG_LEVEL=debugAPP_URL=http://localhostSYSTEM_ADMIN_EMAILS=LOG_CHANNEL=stackDB_CONNECTION=mysqlDB_HOST=databaseDB_PORT=3306DB_DATABASE=laravelDB_USERNAME=laravelDB_PASSWORD=laravelBROADCAST_DRIVER=logCACHE_DRIVER=fileSESSION_DRIVER=fileQUEUE_DRIVER=syncREDIS_HOST=127.0.0.1REDIS_PASSWORD=nullREDIS_PORT=6379MAIL_DRIVER=smtpMAIL_HOST=smtp.mailtrap.ioMAIL_PORT=2525MAIL_USERNAME=nullMAIL_PASSWORD=nullMAIL_ENCRYPTION=nullPUSHER_APP_ID=PUSHER_APP_KEY=PUSHER_APP_SECRET=MIX_PUSHER_APP_KEY=\"${PUSHER_APP_KEY}\"MIX_PUSHER_APP_CLUSTER=\"${PUSHER_APP_CLUSTER}\"LEAFLET_MAP_ZOOM_LEVEL=4LEAFLET_MAP_DETAIL_ZOOM_LEVEL=18LEAFLET_MAP_CENTER_LATITUDE=\"-0.87887\"LEAFLET_MAP_CENTER_LONGITUDE=\"117.4863\"Kemaskini databasephp artisan migratephp artisan storage:linkLayari websiteJika tiada masalah, anda boleh melayari website di http://localhost:80Anda juga boleh dapatkan salinan code di atas disini.Link berguna http://git.zarifhomelab.com/zarif59/laravel_docker.git How to Get Started with Docker and Laravel (twilio.com)"
},
{
"title": "Umami",
"url": "/posts/umami/",
"categories": "homelab, docker",
"tags": "docker, server, umami, how-to",
"date": "2022-07-11 03:29:26 -0500",
"snippet": "FungsiUmami adalah webanalytic tool yang berfungsi untuk track statistik website seperti jumlah pelawat, jumlah page view dan lain lain. Environment Ubuntu 22.04 LTS Docker 20.10.12Install docker...",
"content": "FungsiUmami adalah webanalytic tool yang berfungsi untuk track statistik website seperti jumlah pelawat, jumlah page view dan lain lain. Environment Ubuntu 22.04 LTS Docker 20.10.12Install dockersudo apt install docker.iosudo apt install docker-composeBina foldermkdir umamicd umamiBina docker-compose.yaml filetouch docker-compose.yamlEdit docker-compose.yaml filenano docker-compose.yamlversion: '3'services: umami: image: ghcr.io/mikecao/umami:postgresql-latest ports: - \"3000:3000\" environment: DATABASE_URL: postgresql://umami:umami@db:5432/umami DATABASE_TYPE: postgresql HASH_SALT: replace-me-with-a-random-string depends_on: - db restart: always db: image: postgres:12-alpine environment: POSTGRES_DB: umami POSTGRES_USER: umami POSTGRES_PASSWORD: umami volumes: - ./sql/schema.postgresql.sql:/docker-entrypoint-initdb.d/schema.postgresql.sql:ro - umami-db-data:/var/lib/postgresql/data restart: alwaysvolumes: umami-db-data:Run docker-composesudo docker-compose up -dLayari webserverhttp://localhost:3000Link berguna https://github.com/umami-software/umami"
},
{
"title": "Jellky | Static Web Generator",
"url": "/posts/jellky/",
"categories": "homelab, docker",
"tags": "docker, server, jellky, how-to",
"date": "2022-07-11 03:29:26 -0500",
"snippet": "FungsiJellky adalah simple tetapi berkuasa static website generator. Saya sendiri menggunakan Jellky untuk melari website ini.Environment Ubuntu 22.04 LTS Docker 20.10.12Install dockersudo apt in...",
"content": "FungsiJellky adalah simple tetapi berkuasa static website generator. Saya sendiri menggunakan Jellky untuk melari website ini.Environment Ubuntu 22.04 LTS Docker 20.10.12Install dockersudo apt install docker.iosudo apt install docker-composeBina foldermkdir jellkycd jellkyDownload Theme chirpy-startergit clone https://github.com/cotes2020/chirpy-starter.gitBina docker-compose.yaml filetouch docker-compose.yamlEdit docker-compose.yaml filenano docker-compose.yamlservices: jekyll: image: jekyll/jekyll:latest command: jekyll serve ports: - 80:4000 volumes: - .:/srv/jekyllRun docker-composesudo docker-compose upLayari webserverhttp://localhost:80Generate Production Filesudo docker run --rm -it --volume=\"$PWD:/srv/jekyll\" --volume=\"$PWD/vendor/bundle:/usr/local/bundle\" --env JEKYLL_ENV=production jekyll/jekyll:latest jekyll build Production File boleh di dapati di dalam folder _siteLink berguna https://github.com/cotes2020/chirpy-starter"
},
{
"title": "Gitea",
"url": "/posts/gitea/",
"categories": "homelab, docker",
"tags": "docker, server, gitea, how-to",
"date": "2022-07-11 03:29:26 -0500",
"snippet": "FungsiGitea adalah git repo yang mudah untuk di larikan. Berperanan sebagai storan file file code seperti github.Environment Ubuntu 22.04 LTS Docker 20.10.12Install dockersudo apt install docker....",
"content": "FungsiGitea adalah git repo yang mudah untuk di larikan. Berperanan sebagai storan file file code seperti github.Environment Ubuntu 22.04 LTS Docker 20.10.12Install dockersudo apt install docker.iosudo apt install docker-composeBina foldermkdir giteacd giteaBina docker-compose.yaml filetouch docker-compose.yamlEdit docker-compose.yaml filenano docker-compose.yamlversion: \"3\"networks: gitea: external: falseservices: server: image: gitea/gitea:1.16.9 container_name: gitea 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 restart: always networks: - gitea volumes: - ./gitea:/data - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro ports: - \"3000:3000\" - \"222:22\" depends_on: - db db: image: postgres:14 restart: always environment: - POSTGRES_USER=gitea - POSTGRES_PASSWORD=gitea - POSTGRES_DB=gitea networks: - gitea volumes: - ./postgres:/var/lib/postgresql/dataRun docker-composesudo docker-compose up -dLayari webserverhttp://localhost:3000Link berguna https://docs.gitea.io/en-us/install-with-docker/"
},
{
"title": "Configure Cloudflare DNS",
"url": "/posts/cloudflaredns/",
"categories": "server, domain",
"tags": "cdn, server, dns, how-to",
"date": "2022-06-09 12:25:00 -0500",
"snippet": "Buat acount dan login ke Cloudflare DNSLayari Cloudflare DNS dan buat account anda.Log masuk dan click pada Domain dan Register New DomainMasukkan domain andaTukar Name Server daripada DNS provider...",
"content": "Buat acount dan login ke Cloudflare DNSLayari Cloudflare DNS dan buat account anda.Log masuk dan click pada Domain dan Register New DomainMasukkan domain andaTukar Name Server daripada DNS provider lama anda ke Cloudflare. Login ke Domain Name Provider anda. Pergi ke nameserver setting. Masukkan nameserver baharu. Tunggu sehingga anda dapat confermation email daripada Cloudflare.Tahniah, anda telah berjaya. Boleh mula configure DNS baharu anda."
},
{
"title": "Beli Domain di GB Network",
"url": "/posts/gbnetwork/",
"categories": "server, domain",
"tags": "cdn, server, dns, how-to",
"date": "2022-06-09 07:25:00 -0500",
"snippet": "Buat acount dan login ke GBNetworkLayari GB Network dan buat account anda.Log masuk dan click pada Domain dan Register New DomainMasukan domain pilihan dan Add to CartBiarkan default DNS dan Click ...",
"content": "Buat acount dan login ke GBNetworkLayari GB Network dan buat account anda.Log masuk dan click pada Domain dan Register New DomainMasukan domain pilihan dan Add to CartBiarkan default DNS dan Click ContinueSelesaikan PembayaranTahniah, anda telah mempunyai domain sendiri!Untuk lihat domain anda, click My Domain."
},
{
"title": "Nginx Proxy Manager Networking",
"url": "/posts/npm-networking/",
"categories": "homelab, docker",
"tags": "docker, server, npm, how-to",
"date": "2022-06-08 12:25:00 -0500",
"snippet": "FungsiNginx Proxy Manager berperanan sebagai reverse proxy kepada webapp dalam server.ObjektifDapat configure static networking docker mengunakan Nginx Proxy Manager (NPM) seperti gambar di bawah.E...",
"content": "FungsiNginx Proxy Manager berperanan sebagai reverse proxy kepada webapp dalam server.ObjektifDapat configure static networking docker mengunakan Nginx Proxy Manager (NPM) seperti gambar di bawah.Environment Ubuntu 22.04 LTS Docker 20.10.12Install dockersudo apt install docker.iosudo apt install docker-composeBina docker-compose file NPMmkdir npmcd npmtouch docker-compose.yamlnano docker-compose.yamlversion: '3'services: app: image: 'jc21/nginx-proxy-manager:latest' restart: unless-stopped ports: - '80:80' - '81:81' - '443:443' volumes: - data:/data - letsencrypt:/etc/letsencrypt networks: npm-network: ipv4_address: 172.19.0.2 volumes: data: letsencrypt: networks: npm-network: ipam: driver: default config: - subnet: \"172.19.0.0/24\"Run docker-composesudo docker-compose up -dList docker networksudo docker network lsNETWORK ID NAME DRIVER SCOPEd63470120ca8 bridge bridge local2221f68bf40d host host localb3bd7a7d7c41 none null locala39cfebb3cfe npm_npm-network bridge localBina docker-compose file Wordpressmkdir wordpresscd wordpresstouch docker-compose.yamlnano docker-compose.yamlversion: \"3.9\" services: wordpress-db: image: mariadb volumes: - wordpress-db:/var/lib/mysql restart: unless-stopped environment: - MYSQL_RANDOM_ROOT_PASSWORD=yes - MYSQL_PASSWORD=wordpress - MYSQL_USER=wordpress - MYSQL_DATABASE=wordpress networks: wordpress-back-network: wordpress: depends_on: - wordpress-db image: wordpress:latest volumes: - wordpress_data:/var/www/html ports: - 80 # only exposing internal port to npm-network restart: unless-stopped environment: WORDPRESS_DB_HOST: wordpress-db WORDPRESS_DB_USER: wordpress WORDPRESS_DB_PASSWORD: wordpress WORDPRESS_DB_NAME: wordpress networks: wordpress-back-network: npm_npm-network: ipv4_address: 172.19.0.2volumes: wordpress-db: wordpress_data: networks: wordpress-back-network: driver: bridge npm_npm-network: #connecting to the exisisting network external: trueList dan inspect docker networksudo docker network lsNETWORK ID NAME DRIVER SCOPEd63470120ca8 bridge bridge local2221f68bf40d host host localb3bd7a7d7c41 none null locala39cfebb3cfe npm_npm-network bridge localb3bd7a7d7c65 wordpress-back-network bridge localsudo docker network inspect npm_npm-network[ { \"Name\": \"npm_npm-network\", \"Id\": \"a39cfebb3cfe6d82a77c69251ca4e78e02abed0a752240796bc6c96a7a0090bd\", \"Created\": \"2022-06-05T12:05:38.861192412Z\", \"Scope\": \"local\", \"Driver\": \"bridge\", \"EnableIPv6\": false, \"IPAM\": { \"Driver\": \"default\", \"Options\": null, \"Config\": [ { \"Subnet\": \"172.16.238.0/24\", \"Gateway\": \"172.16.238.1\" } ] }, \"Internal\": false, \"Attachable\": true, \"Ingress\": false, \"ConfigFrom\": { \"Network\": \"\" }, \"ConfigOnly\": false, \"Containers\": { \"ba23f260105e68296b4c346640774963176bc3d93dd42a1234023ea2b40bfdca\": { \"Name\": \"npm_app_1\", \"EndpointID\": \"8638f90956697c900fc904e47d178531c97706290019f833196b8b2d4330ee8f\", \"MacAddress\": \"02:42:ac:10:ee:10\", \"IPv4Address\": \"172.18.0.2/16\", \"IPv6Address\": \"\" }, \"f958e696d6b952b97806df0e7bebe3ea2cb3f077e8e45fb36d2c0847bf81954d\": { \"Name\": \"wordpress_app_1\", \"EndpointID\": \"b3c5a33bd1118e0a7dc03e648609eb4bcc2372dda1a1a16c2e1182267fa0864b\", \"MacAddress\": \"02:42:ac:10:ee:0a\", \"IPv4Address\": \"172.18.0.3/16\", \"IPv6Address\": \"\" } }, \"Options\": {}, \"Labels\": { \"com.docker.compose.network\": \"npm-network\", \"com.docker.compose.project\": \"npm\", \"com.docker.compose.version\": \"1.25.0\" } }] Note npm container run pada IP 172.18.0.2 dan wordpress container run pada IP 172.18.0.3Bina docker-compose file nginxmkdir nginxcd nginxtouch docker-compose.yamlnano docker-compose.yamlversion: '3'services: nginx: image: nginx:latest restart: unless-stopped ports: - 80 # only exposing port to the npm-network volumes: - ./src:/usr/share/nginx/html networks: npm_npm-network: ipv4_address: 172.19.0.4 networks: npm_npm-network: #connecting to the exisisting network external: trueInspect kembali docker networksudo docker network inspect npm_npm-network[ { \"Name\": \"npm_npm-network\", \"Id\": \"a39cfebb3cfe6d82a77c69251ca4e78e02abed0a752240796bc6c96a7a0090bd\", \"Created\": \"2022-06-05T12:05:38.861192412Z\", \"Scope\": \"local\", \"Driver\": \"bridge\", \"EnableIPv6\": false, \"IPAM\": { \"Driver\": \"default\", \"Options\": null, \"Config\": [ { \"Subnet\": \"172.16.238.0/24\", \"Gateway\": \"172.16.238.1\" } ] }, \"Internal\": false, \"Attachable\": true, \"Ingress\": false, \"ConfigFrom\": { \"Network\": \"\" }, \"ConfigOnly\": false, \"Containers\": { \"ba23f260105e68296b4c346640774963176bc3d93dd42a1234023ea2b40bfdca\": { \"Name\": \"npm_app_1\", \"EndpointID\": \"8638f90956697c900fc904e47d178531c97706290019f833196b8b2d4330ee8f\", \"MacAddress\": \"02:42:ac:10:ee:10\", \"IPv4Address\": \"172.18.0.2/16\", \"IPv6Address\": \"\" }, \"f958e696d6b952b97806df0e7bebe3ea2cb3f077e8e45fb36d2c0847bf81954d\": { \"Name\": \"wordpress_app_1\", \"EndpointID\": \"b3c5a33bd1118e0a7dc03e648609eb4bcc2372dda1a1a16c2e1182267fa0864b\", \"MacAddress\": \"02:42:ac:10:ee:0a\", \"IPv4Address\": \"172.18.0.3/16\", \"IPv6Address\": \"\" } \"jbqwuebwqubeuwqew7678e6wqhegwquge12tfvhvhj12ijij21j7656hgvvacttat\": { \"Name\": \"nginx_app_1\", \"EndpointID\": \"b3c5a33bd1118e0a7dc03e648609eb4bcc2372dda1a1a16c2e1182267fa0864b\", \"MacAddress\": \"02:42:ac:10:ee:0a\", \"IPv4Address\": \"172.18.0.4/16\", \"IPv6Address\": \"\" } }, \"Options\": {}, \"Labels\": { \"com.docker.compose.network\": \"npm-network\", \"com.docker.compose.project\": \"npm\", \"com.docker.compose.version\": \"1.25.0\" } }] Note npm container run pada IP 172.18.0.2, wordpress container run pada IP 172.18.0.3 dan nginx container run pada IP 172.18.0.4Langkah akhirLogin ke NPM admin page (http://localhost:81/) dan mula configure domain menuju kepada docker container.Link berguna https://docs.docker.com/network/"
},
{
"title": "Nginx Webserver",
"url": "/posts/nginx-webserver/",
"categories": "homelab, docker",
"tags": "docker, webserver, nginx, how-to",
"date": "2022-06-08 12:25:00 -0500",
"snippet": "FungsiNGINX adalah open source webserver, reverse proxying, caching, load balancing, media streaming dan banyak lagi. Ianya stabil dan berprestasi tinggi.Environment Ubuntu 22.04 LTS Docker 20.10...",
"content": "FungsiNGINX adalah open source webserver, reverse proxying, caching, load balancing, media streaming dan banyak lagi. Ianya stabil dan berprestasi tinggi.Environment Ubuntu 22.04 LTS Docker 20.10.12Install dockersudo apt install docker.iosudo apt install docker-composeBina foldermkdir nginxcd nginxBina docker-compose.yaml filetouch docker-compose.yamlEdit docker-compose.yaml filenano docker-compose.yamlversion: '3'services: nginx: image: nginx:latest restart: unless-stopped ports: - \"80:80\" - \"443:443\" volumes: - ./src:/usr/share/nginx/htmlRun docker-composesudo docker-compose up -dDocker run untuk mempercepatkan prosesdocker run --name nginx -v $(pwd):/usr/share/nginx/html:ro -d -p 80:80 nginx:latest Layari webserverhttp://localhost:80Link berguna https://cloudinfrastructureservices.co.uk/install-nginx-with-docker-compose/"
},
{
"title": "Wordpress",
"url": "/posts/wordpress/",
"categories": "homelab, docker",
"tags": "docker, server, wordpress, how-to",
"date": "2022-06-07 12:25:00 -0500",
"snippet": "FungsiWordpress adalah Content Management System (CMS) yang kebiasaan dipakai oleh kebanyakan website.Environment Ubuntu 22.04 LTS Docker 20.10.12Install dockersudo apt install docker.iosudo apt ...",
"content": "FungsiWordpress adalah Content Management System (CMS) yang kebiasaan dipakai oleh kebanyakan website.Environment Ubuntu 22.04 LTS Docker 20.10.12Install dockersudo apt install docker.iosudo apt install docker-composeBina foldermkdir wordpresscd wordpressBina docker-compose.yaml filetouch docker-compose.yamlEdit docker-compose.yaml filenano docker-compose.yamlversion: \"3.9\"services: wordpress-db: image: mariadb volumes: - wordpress-db:/var/lib/mysql restart: unless-stopped environment: - MYSQL_RANDOM_ROOT_PASSWORD=yes - MYSQL_PASSWORD=wordpress - MYSQL_USER=wordpress - MYSQL_DATABASE=wordpress networks: wordpress-back-network: wordpress: depends_on: - wordpress-db image: wordpress:latest volumes: - wordpress_data:/var/www/html ports: - \"80:80\" # hostport:containerport restart: unless-stopped environment: WORDPRESS_DB_HOST: wordpress-db WORDPRESS_DB_USER: wordpress WORDPRESS_DB_PASSWORD: wordpress WORDPRESS_DB_NAME: wordpress networks: wordpress-back-network:volumes: wordpress-db: wordpress_data: networks: wordpress-back-network: driver: bridgeRun docker-composesudo docker-compose up -dLogin ke admin UIhttp://localhost/wp-adminLink berguna https://docs.docker.com/samples/wordpress/"
},
{
"title": "Vaultwarden",
"url": "/posts/vault/",
"categories": "homelab, docker",
"tags": "docker, server, password manager, how-to",
"date": "2022-06-07 12:25:00 -0500",
"snippet": "FungsiVaultwarden (dahulunya Bitwarden_RS) ialah Bitwarden tidak rasmi yang diprogramkan dengan Rust language berperanan sebagai password manager. Vaultwarden serasi dengan aplikasi Bitwarden rasmi...",
"content": "FungsiVaultwarden (dahulunya Bitwarden_RS) ialah Bitwarden tidak rasmi yang diprogramkan dengan Rust language berperanan sebagai password manager. Vaultwarden serasi dengan aplikasi Bitwarden rasmi dan sesuai untuk self-hosted kerana tidak memerlukan tenaga computer yang besar. Perbezaan Vaultwarden Bitwarden Database Sqlite Mysql RAM usage 100MB 2GB Environment Ubuntu 22.04 LTS Docker 20.10.12Install dockersudo apt install docker.iosudo apt install docker-composeBina foldermkdir vaultwardencd vaultwardenBina docker-compose.yaml filetouch docker-compose.yamlEdit docker-compose.yaml filenano docker-compose.yamlversion: '3'services: vaultwarden: image: vaultwarden/server:latest container_name: vaultwarden restart: unless-stopped environment: - WEBSOCKET_ENABLED=true volumes: - vw-data:/data ports: - \"8080:80\" # hostport:containerportvolumes: vw-data:Edit docker-compose.yaml file dengan SMTP settingversion: '3'services: vaultwarden: image: vaultwarden/server:latest container_name: vaultwarden restart: unless-stopped environment: - WEBSOCKET_ENABLED=true - SMTP_HOST=email-smtp.host.cpm - SMTP_FROM=vault@yourdomain.com - SMTP_FROM_NAME=Vault - SMTP_SECURITY=starttls # (\"starttls\", \"force_tls\", \"off\") Enable a secure connection. Default is \"starttls\" (Explicit - ports 587 or 25), \"force_tls\" (Implicit - port 465) or \"off\", no encryption (port 25) - SMTP_PORT=587 # Ports 587 (submission) and 25 (smtp) are standard without encryption and with encryption via STARTTLS (Explicit TLS). Port 465 is outdated and used with Implicit TLS. - SMTP_USERNAME=USERNAME_HERE - SMTP_PASSWORD=PASSWORD_HERE - SMTP_TIMEOUT=15 - DOMAIN=https://vault.yourdomain.com - ADMIN_TOKEN=something_long_and_random # run openssl rand -base64 48 - SIGNUPS_VERIFY=true volumes: - vw-data:/data ports: - \"8080:80\" # hostport:containerportvolumes: vw-data:Run docker-composesudo docker-compose up -dLogin ke admin UIhttp://localhost:8080Link berguna https://github.com/dani-garcia/vaultwarden"
},
{
"title": "Nginx Proxy Manager",
"url": "/posts/npm/",
"categories": "homelab, docker",
"tags": "docker, server, npm, how-to",
"date": "2022-06-07 12:25:00 -0500",
"snippet": "FungsiNginx Proxy Manager berperanan sebagai reverse proxy kepada webapp dalam server.Environment Ubuntu 22.04 LTS Docker 20.10.12Install dockersudo apt install docker.iosudo apt install docker-c...",
"content": "FungsiNginx Proxy Manager berperanan sebagai reverse proxy kepada webapp dalam server.Environment Ubuntu 22.04 LTS Docker 20.10.12Install dockersudo apt install docker.iosudo apt install docker-composeBina foldermkdir npmcd npmBina docker-compose.yaml filetouch docker-compose.yamlEdit docker-compose.yaml filenano docker-compose.yamlversion: '3'services: app: image: 'jc21/nginx-proxy-manager:latest' restart: unless-stopped ports: - '80:80' # hostport:containerport - '81:81' # hostport:containerport - '443:443' # hostport:containerport volumes: - data:/data - letsencrypt:/etc/letsencryptvolumes: data: letsencrypt:Run docker-composesudo docker-compose up -dLogin ke admin UIhttp://localhost:81 Username: admin@example.com Password: changemeLink berguna https://nginxproxymanager.com/ https://github.com/NginxProxyManager/nginx-proxy-manager"
},
{
"title": "Joplin",
"url": "/posts/joplin/",
"categories": "homelab, docker",
"tags": "docker, server, joplin, how-to",
"date": "2022-06-07 12:25:00 -0500",
"snippet": "FungsiJoplin adalah aplikasi note-taking. Ianya lengkap dengan software di kesemua platform (desktop, mobile, tab).Environment Ubuntu 22.04 LTS Docker 20.10.12Install dockersudo apt install docke...",
"content": "FungsiJoplin adalah aplikasi note-taking. Ianya lengkap dengan software di kesemua platform (desktop, mobile, tab).Environment Ubuntu 22.04 LTS Docker 20.10.12Install dockersudo apt install docker.iosudo apt install docker-composeBina foldermkdir joplincd joplinBina docker-compose.yaml filetouch docker-compose.yamlEdit docker-compose.yaml filenano docker-compose.yamlversion: '3'services: joplin-db: image: postgres:13 volumes: - joplin-db:/var/lib/postgresql/data ports: - 5432 restart: unless-stopped environment: - POSTGRES_PASSWORD=joplin-password - POSTGRES_USER=joplin - POSTGRES_DB=joplin networks: joplin-back-network: joplin-app: image: joplin/server:latest depends_on: - joplin-db ports: - \"22300:22300\" # hostport:containerport restart: unless-stopped environment: - APP_PORT=22300 - APP_BASE_URL=https://joplin.your-domain.com - DB_CLIENT=pg - POSTGRES_PASSWORD=joplin-password - POSTGRES_DATABASE=joplin - POSTGRES_USER=joplin - POSTGRES_PORT=5432 - POSTGRES_HOST=joplin-db networks: joplin-back-network:networks: joplin-back-network: driver: bridgevolumes: joplin-db:Edit docker-compose.yaml file dengan SMTP settingversion: '3'services: joplin-db: image: postgres:13 volumes: - joplin-db:/var/lib/postgresql/data ports: - 5432 restart: unless-stopped environment: - POSTGRES_PASSWORD=joplin-password - POSTGRES_USER=joplin - POSTGRES_DB=joplin networks: joplin-back-network: joplin-app: image: joplin/server:latest depends_on: - joplin-db ports: - \"22300:22300\" # hostport:containerport restart: unless-stopped environment: - APP_PORT=22300 - APP_BASE_URL=https://joplin.your-domain.com - DB_CLIENT=pg - POSTGRES_PASSWORD=joplin-password - POSTGRES_DATABASE=joplin - POSTGRES_USER=joplin - POSTGRES_PORT=5432 - POSTGRES_HOST=joplin-db - MAILER_ENABLED=1 - MAILER_HOST=mail.smtp.com - MAILER_PORT=465 - MAILER_SECURE=1 - MAILER_AUTH_USER=USERNAME_HERE - MAILER_AUTH_PASSWORD=PASSWORD_HERE - MAILER_NOREPLY_NAME=JoplinServer - MAILER_NOREPLY_EMAIL=joplin@your-domain.com networks: joplin-back-network:networks: joplin-back-network: driver: bridgevolumes: joplin-db:Run docker-composesudo docker-compose up -dLogin ke admin UIhttp://localhost:22300/ Username: admin@localhost Password: adminLink berguna https://github.com/laurent22/joplin https://joplinapp.org/help/"
},
{
"title": "Akaunting 2.1.35",
"url": "/posts/akaunting/",
"categories": "homelab, docker",
"tags": "docker, server, akaunting, how-to",
"date": "2022-06-07 12:25:00 -0500",
"snippet": "Fungsi Organisasi KewanganEnvironment Ubuntu 22.04 LTS Docker 20.10.12Install dockersudo apt install docker.iosudo apt install docker-composeBina foldermkdir akauntingcd akauntingBina dan edit d...",
"content": "Fungsi Organisasi KewanganEnvironment Ubuntu 22.04 LTS Docker 20.10.12Install dockersudo apt install docker.iosudo apt install docker-composeBina foldermkdir akauntingcd akauntingBina dan edit docker-compose-setup.yaml filetouch docker-compose-setup.yamlnano docker-compose-setup.yamlversion: '3.7'services: akaunting: container_name: akaunting image: docker.io/akaunting/akaunting:2.1.35 ports: - \"80:80\" # hostport:containerport volumes: - akaunting-data:/var/www/html/storage - akaunting-modules:/var/www/html/modules restart: unless-stopped environment: - APP_URL=http://localhost - LOCALE=en-US - DB_HOST=akaunting-db - DB_DATABASE=akaunting - DB_USERNAME=akaunting - DB_PASSWORD=akaunting - DB_PREFIX=pfe_ - AKAUNTING_SETUP=true - COMPANY_NAME=<Your company name> - COMPANY_EMAIL=<Your company email> - ADMIN_EMAIL=<Admin email> - ADMIN_PASSWORD=<Admin password> depends_on: - akaunting-db networks: akaunting-back-network: akaunting-db: container_name: akaunting-db image: mariadb:latest volumes: - akaunting-db:/var/lib/mysql restart: unless-stopped environment: - MYSQL_RANDOM_ROOT_PASSWORD=yes - MYSQL_PASSWORD=akaunting - MYSQL_USER=akaunting - MYSQL_DATABASE=akaunting networks: akaunting-back-network:volumes: akaunting-data: akaunting-modules: akaunting-db:networks: akaunting-back-network: driver: bridgeRun docker-compose-setup.yamlsudo docker-compose -f docker-compose-setup.yaml up -dBina dan edit docker-compose.yaml filetouch docker-compose.yamlnano docker-compose.yamlversion: '3.7'services: akaunting: container_name: akaunting image: docker.io/akaunting/akaunting:2.1.35 ports: - \"80:80\" # hostport:containerport volumes: - akaunting-data:/var/www/html/storage - akaunting-modules:/var/www/html/modules restart: unless-stopped environment: - APP_URL=http://localhost - LOCALE=en-US - DB_HOST=akaunting-db - DB_DATABASE=akaunting - DB_USERNAME=akaunting - DB_PASSWORD=akaunting - DB_PREFIX=pfe_ depends_on: - akaunting-db networks: akaunting-back-network: akaunting-db: container_name: akaunting-db image: mariadb:latest volumes: - akaunting-db:/var/lib/mysql restart: unless-stopped environment: - MYSQL_RANDOM_ROOT_PASSWORD=yes - MYSQL_PASSWORD=akaunting - MYSQL_USER=akaunting - MYSQL_DATABASE=akaunting networks: akaunting-back-network:volumes: akaunting-data: akaunting-modules: akaunting-db:networks: akaunting-back-network: driver: bridgeRun docker-compose-setup.yamlsudo docker-compose up -dsudo docker exec -it akaunting bash service apache2 restartLogin ke admin UIhttp://localhost/Link berguna https://github.com/akaunting/akaunting https://akaunting.com/forum"
}
]