diff --git a/src/en/SUMMARY.md b/src/en/SUMMARY.md index c0de6fe..c2ffd51 100644 --- a/src/en/SUMMARY.md +++ b/src/en/SUMMARY.md @@ -16,7 +16,6 @@ - [Backup and Restore](administration/backup_and_restore.md) - [Federation](federation/federation.md) - [Federation Overview](federation/overview.md) - - [Administration](federation/administration.md) - [Lemmy Protocol](federation/lemmy_protocol.md) - [Client Development](client_development/client_development.md) - [HTTP API extras](client_development/http_api_extras.md) diff --git a/src/en/federation/lemmy_protocol.md b/src/en/federation/lemmy_protocol.md index aa561cb..28104a0 100644 --- a/src/en/federation/lemmy_protocol.md +++ b/src/en/federation/lemmy_protocol.md @@ -4,7 +4,7 @@ The Lemmy Protocol (or Lemmy Federation Protocol) is a subset of the [ActivityPu This document is targeted at developers who are familiar with the ActivityPub and ActivityStreams protocols. It gives a detailed outline of the actors, objects and activities used by Lemmy. -Before reading this, have a look at our [Federation Overview](overview.md) to get an idea how Lemmy federation works on a high level. +Before reading this, have a look at our [Federation Overview](contributing_federation_overview.md) to get an idea how Lemmy federation works on a high level. diff --git a/src/id/SUMMARY.md b/src/id/SUMMARY.md index 3b5d30b..aa8cae0 100644 --- a/src/id/SUMMARY.md +++ b/src/id/SUMMARY.md @@ -2,11 +2,11 @@ - [Tentang](about/about.md) - [Fitur](about/features.md) - - [Ranking Pos dan Komentar](about/ranking.md) + - [Peringkat Pos dan Komentar](about/ranking.md) - [Panduan](about/guide.md) - [Administrasi](administration/administration.md) - - [Pasang menggunakan Docker](administration/install_docker.md) - - [Pasang menggunakan Ansible](administration/install_ansible.md) + - [Pasang Menggunakan Docker](administration/install_docker.md) + - [Pasang Menggunakan Ansible](administration/install_ansible.md) - [Pasang dari Awal](administration/from_scratch.md) - [Pasang di AWS](administration/on_aws.md) - [Langkah Pertama](administration/first_steps.md) diff --git a/src/id/about/ranking.md b/src/id/about/ranking.md index 0c35498..a1ed55d 100644 --- a/src/id/about/ranking.md +++ b/src/id/about/ranking.md @@ -1,24 +1,24 @@ -# Trending / Hot / Best Sorting algorithm +# Algoritma Pengurutan Tren/Hangat/Terbaik -## Goals +## Tujuan -- During the day, new posts and comments should be near the top, so they can be voted on. -- After a day or so, the time factor should go away. -- Use a log scale, since votes tend to snowball, and so the first 10 votes are just as important as the next hundred. +- Saat hari pertama, pos dan komentar baru harus berada di atas, sehingga mereka bisa dipilih atas/bawah. +- Setelah sekitar satu hari, faktor waktu akan hilang. +- Gunakan skala log, karena suara cenderung menggelinding, dan 10 suara pertama sama pentingnya dengan seratus berikutnya. -## Implementations +## Implementasi ### Reddit -Does not take the lifetime of the thread into account, [giving early comments an overwhelming advantage over later ones,](https://minimaxir.com/2016/11/first-comment/) with the effect being even worse in small communities. New comments pool at the bottom of the thread, effectively killing off discussion and making each thread a race to comment early. This lowers the quality of conversation and rewards comments that are repetitive and spammy. +Tidak memperhitungkan masa hidup utas, [memberikan komentar awal keuntungan besar terhadap yang setelahnya](https://minimaxir.com/2016/11/first-comment/), berefek lebih buruk di komunitas kecil. Jajak komentar baru berada di bawah utas, secara efektif membunuh diskusi dan membuat setiap utas balapan untuk komentar lebih dulu. Ini menurunkan kualitas pembicaraan dan menghargai komentar yang repetitif dan spam. ### Hacker News -While far superior to Reddit's implementation for its decay of scores over time, [Hacker News' ranking algorithm](https://medium.com/hacking-and-gonzo/how-hacker-news-ranking-algorithm-works-1d9b0cf2c08d) does not use a logarithmic scale for scores. +Meskipun jauh lebih unggul daripada implementasi Reddit karena pembusukan skornya dari waktu ke waktu, [algoritma peringkat Hacker News](https://medium.com/hacking-and-gonzo/how-hacker-news-ranking-algorithm-works-1d9b0cf2c08d) tidak menggunakan skala logaritmik untuk skor. ### Lemmy -Counterbalances the snowballing effect of votes over time with a logarithmic scale. Negates the inherent advantage of early comments while still ensuring that votes still matter in the long-term, not nuking older popular comments. +Menyeimbangkan efek bola salju suara dari waktu ke waktu dengan skala logaritmik. Meniadakan keuntungan yang melekat dari komentar awal sambil tetap memastikan bahwa suara tetap penting dalam jangka panjang, tidak menghapus komentar populer yang lama. ``` Rank = ScaleFactor * log(Max(1, 3 + Score)) / (Time + 2)^Gravity @@ -27,20 +27,20 @@ Score = Upvotes - Downvotes Time = time since submission (in hours) Gravity = Decay gravity, 1.8 is default ``` -- Lemmy uses the same `Rank` algorithm above, in two sorts: `Active`, and `Hot`. - - `Active` uses the post votes, and latest comment time (limited to two days). - - `Hot` uses the post votes, and the post published time. -- Use Max(1, score) to make sure all comments are affected by time decay. -- Add 3 to the score, so that everything that has less than 3 downvotes will seem new. Otherwise all new comments would stay at zero, near the bottom. -- The sign and abs of the score are necessary for dealing with the log of negative scores. -- A scale factor of 10k gets the rank in integer form. +- Lemmy menggunakan algoritma `Rank` yang sama di atas, dengan dua cara: `Active` dan `Hot` + - `Active` menggunakan suara pos, dan waktu komentar terakhir (dibatasi hingga dua hari). + - `Hot` menggunakan suara pos, dan waktu pos diterbitkan. +- Menggunakan Max(1, score) untuk memastikan semua komentar terpengaruh pembusukan waktu. +- Tambahkan 3 ke skor, sehingga semua yang memiliki kurang dari 3 pilih bawah akan tampak baru. Atau tidak, semua komentar baru akan tetap nol, dekat di bawah. +- Tanda dan abs skor diperlukan untuk menangani log skor negatif. +- Faktor skala 10 ribu menggenapkan peringkat dalam bentuk bilangan bulat. -A plot of rank over 24 hours, of scores of 1, 5, 10, 100, 1000, with a scale factor of 10k. +Plot peringkat lebih dari 24 jam, dengan skor 1, 5, 10, 100, 1000, dengan faktor skala 10 ribu. ![](rank_algorithm.png) -#### Active User counts +#### Penghitungan Pengguna Aktif -Lemmy also shows counts of *active users* for your site, and its communities. These are counted within the last `day`, `week`, `month`, and `half year`, and are cached on starting up lemmy, and every hour. +Lemmy juga menampilkan jumlah *pengguna aktif* untuk situs Anda, dan komunitasnya. Ini dihitung dalam `hari`, `pekan`, `bulan`, dan `setengah tahun` terakhir, dan ditembolokkan dalam pemulaian Lemmy, dan setiap jam. -An active user is someone who has posted or commented on our instance or community within the last given time frame. For site counts, only local users are counted. For community counts, federated users are included. +Pengguna aktif merupakan seseorang yang mempos atau berkomentar di peladen atau komunitas dalam jangka waktu terakhir yang ditentukan. Untuk penghitungan situs, hanya pengguna lokal yang dihitung. Untuk penghitungan komunitas, pengguna terfederasi juga dihitung. diff --git a/src/id/administration/from_scratch.md b/src/id/administration/from_scratch.md index a386945..ae1f145 100644 --- a/src/id/administration/from_scratch.md +++ b/src/id/administration/from_scratch.md @@ -1,12 +1,12 @@ -# From Scratch +# Dari Awal -> ⚠️ **Disclaimer:** this installation method is not recommended by the Lemmy developers. If you have any problems, you need to solve them yourself or ask the respective authors. If you notice any Lemmy bugs on an instance installed like this, please mention it in the bug report. +> ⚠️ **Peringatan:** metode pemasangan ini tidak direkomendasikan oleh pengembang Lemmy. Jika Anda ada masalah, Anda harus menyelesaikannya sendiri atau tanya pembuat terkait. Jika Anda melihat ada galat di peladen yang dipasang menggunakan metode ini, harap sebutkan di laporan galat. -These instructions are written for Ubuntu 20.04. +Instruksi ini ditulis untuk Ubuntu 20.04. -## Installation +## Pemasangan -### Lemmy Backend +### Bagian-Belakang Lemmy It is built from source, so this may take a while, especially on slow devices. For example, Lemmy v0.12.2 takes 17 minutes to build on a dual core VPS. If you prefer prebuilt binaries, use Docker. diff --git a/src/id/administration/install_ansible.md b/src/id/administration/install_ansible.md index 360122c..bde9195 100644 --- a/src/id/administration/install_ansible.md +++ b/src/id/administration/install_ansible.md @@ -1,3 +1,3 @@ -# Ansible Installation +# Pemasangan Menggunakan Ansible -Follow the instructions on the [Lemmy-Ansible](https://github.com/LemmyNet/lemmy-ansible) repo. +Ikuti instruksi di repositori [Lemmy-Ansible](https://github.com/LemmyNet/lemmy-ansible). diff --git a/src/id/administration/install_docker.md b/src/id/administration/install_docker.md index 8acfd2f..fb959e8 100644 --- a/src/id/administration/install_docker.md +++ b/src/id/administration/install_docker.md @@ -1,22 +1,22 @@ -# Docker Installation +# Pemasangan Menggunakan Docker -Make sure you have both docker and docker-compose(>=`1.24.0`) installed. On Ubuntu, just run `apt install docker-compose docker.io`. Next, +Pastikan Anda sudah punya docker dan docker-compose(>=`1.24.0`) terpasang. Di Ubuntu, tinggal jalankan `apt install docker-compose docker.io`. Kemudian, ```bash -# create a folder for the lemmy files. the location doesnt matter, you can put this anywhere you want +# buat sebuah folder untuk berkas lemmy. lokasinya tidak penting, bisa ditaruh dimana saja mkdir /lemmy cd /lemmy -# download default config files +# unduh berkas konfigurasi baku wget https://raw.githubusercontent.com/LemmyNet/lemmy/main/docker/prod/docker-compose.yml wget https://raw.githubusercontent.com/LemmyNet/lemmy/main/docker/lemmy.hjson -# Set correct permissions for pictrs folder +# atur izin yang benar untuk folder pictrs mkdir -p volumes/pictrs sudo chown -R 991:991 volumes/pictrs ``` -Open up your `docker-compose.yml`, and make sure `LEMMY_EXTERNAL_HOST` for `lemmy-ui` is set to your correct host. +Buka `docker-compose.yml` Anda dan pastikan `LEMMY_EXTERNAL_HOST` untuk `lemmy-ui` diatur ke hos yang benar Anda. ``` - LEMMY_INTERNAL_HOST=lemmy:8536 @@ -24,29 +24,29 @@ Open up your `docker-compose.yml`, and make sure `LEMMY_EXTERNAL_HOST` for `lemm - LEMMY_HTTPS=false ``` -If you'd like a different database password, you should also change it in the `docker-compose.yml` **before** your first run. +Jika Anda ingin kata sandi basis data yang berbeda, Anda harus menggantinya juga di `docker-compose.yml` **sebelum** pemulaian pertama Anda. -After this, have a look at the [config file](configuration.md) named `lemmy.hjson`, and adjust it, in particular the hostname, and possibly the db password. Then run: +Setelah ini, coba lihat ke [berkas konfigurasi](configuration.md) bernama `lemmy.hjson` dan coba sesuaikan, khususnya nama hos dan mungkin kata sandi basis data. Kemudian jalankan: `docker-compose up -d` -You can access the lemmy-ui at `http://localhost:1235` +Anda bisa mengakses lemmy-ui di `http://localhost:1235` -To make Lemmy available outside the server, you need to setup a reverse proxy, like Nginx. [A sample nginx config](https://github.com/LemmyNet/lemmy-ansible/blob/main/templates/nginx.conf), could be setup with: +Untuk membuat Lemmy tersedia di luar peladen, Anda perlu mengatur proksi balik, seperti Nginx. [Contoh konfigurasi nginx](https://github.com/LemmyNet/lemmy-ansible/blob/main/templates/nginx.conf), dapat disiapkan dengan: ```bash wget https://raw.githubusercontent.com/LemmyNet/lemmy-ansible/main/templates/nginx.conf -# Replace the {{ vars }} -# The default lemmy_port is 8536 -# The default lemmy_ui_port is 1235 +# ganti dengan {{ vars }} +# lemmy_port baku adalah 8536 +# lemmy_ui_port baku adalah 1235 sudo mv nginx.conf /etc/nginx/sites-enabled/lemmy.conf ``` -You will also need to setup TLS, for example with [Let's Encrypt](https://letsencrypt.org/). After this you need to restart Nginx to reload the config. +Anda juga harus menyiapkan TLS, seperti [Let's Encrypt](https://letsencrypt.org/). Setelah ini, Anda harus memulai ulang Nginx untuk memuat ulang konfigurasi. -## Updating +## Memperbarui -To update to the newest version, you can manually change the version in `docker-compose.yml`. Alternatively, fetch the latest version from our git repo: +Untuk memperbarui ke versi terbaru, Anda bisa secara manual mengganti versi di `docker-compose.yml`. Atau, ambil versi terbaru dari repositori git kami: ```bash wget https://raw.githubusercontent.com/LemmyNet/lemmy/main/docker/prod/docker-compose.yml diff --git a/src/id/administration/on_aws.md b/src/id/administration/on_aws.md index 652a01a..df13fda 100644 --- a/src/id/administration/on_aws.md +++ b/src/id/administration/on_aws.md @@ -1,37 +1,36 @@ -# Installing on AWS +# Pemasangan di AWS -> ⚠️ **Disclaimer:** this installation method is not recommended by the Lemmy developers. If you have any problems, you need to solve them yourself or ask the respective authors. If you notice any Lemmy bugs on an instance installed like this, please mention it in the bug report. +> ⚠️ **Peringatan:** metode pemasangan ini tidak direkomendasikan oleh pengembang Lemmy. Jika Anda ada masalah, Anda harus menyelesaikannya sendiri atau tanya pembuat terkait. Jika Anda melihat ada galat di peladen yang dipasang menggunakan metode ini, harap sebutkan di laporan galat. -## Lemmy AWS CDK +## CDK Lemmy AWS -This contains the necessary infrastructure definitions to deploy [Lemmy](https://github.com/LemmyNet/lemmy) -to AWS using their [Cloud Development Kit](https://docs.aws.amazon.com/cdk/latest/guide/home.html). +Ini mengadung definisi infrastruktur yang diperlukan untuk memasang [Lemmy](https://github.com/LemmyNet/lemmy) ke AWS menggunakan [Kit Pengembangan Awan](https://docs.aws.amazon.com/cdk/latest/guide/home.html) mereka. -### Included: +### Termasuk: -* ECS fargate cluster +* Kluster fargate ECS * Lemmy-UI * Lemmy * Pictrs -* CloudFront CDN -* EFS storage for image uploads -* Aurora Serverless Postgres DB -* Bastion VPC host -* Load balancers for Lemmy -* DNS records for your site +* CDN CloudFront +* Penyimpanan EFS untuk pengunggahan gambar +* Basis Data Postgres Aurora Tanpa Peladen +* Hos VPC Bastion +* Penyeimbang beban untuk Lemmy +* Rekaman DNS untuk situs Anda -## Quickstart +## Mulai cepat -Clone the [Lemmy-CDK]( https://github.com/jetbridge/lemmy-cdk). +Klon [Lemmy-CDK]( https://github.com/jetbridge/lemmy-cdk). -Clone [Lemmy](https://github.com/LemmyNet/lemmy) and [Lemmy-UI](https://github.com/LemmyNet/lemmy-ui) to the directory above this. +Klon [Lemmy](https://github.com/LemmyNet/lemmy) dan [Lemmy-UI](https://github.com/LemmyNet/lemmy-ui) ke direktori di atas ini. ```shell cp example.env.local .env.local -# edit .env.local +# sunting .env.local ``` -You should edit .env.local with your site settings. +Anda harus menyunting .env.local dengan pengaturan situs Anda. ```shell npm install -g aws-cdk @@ -40,14 +39,14 @@ cdk bootstrap cdk deploy ``` -## Cost -This is *not* the cheapest way to run Lemmy. The Serverless Aurora DB can run you ~$90/mo if it doesn't go to sleep. +## Harga +Ini *bukan* cara termurah untuk menjalankan Lemmy. Basis Data Aurora Tanpa Peladen bisa membebani Anda ~$90/bulan jika tidak pergi tidur. -## Useful CDK commands +## Perintah CDK yang Berguna -* `npm run build` compile typescript to js -* `npm run watch` watch for changes and compile -* `npm run test` perform the jest unit tests -* `cdk deploy` deploy this stack to your default AWS account/region -* `cdk diff` compare deployed stack with current state -* `cdk synth` emits the synthesized CloudFormation template +* `npm run build` susun typescript ke js +* `npm run watch` lacak perubahan dan susun +* `npm run test` laksanakan uji unit jest +* `cdk deploy` jalankan tumpukan (stack) ini ke akun/wilayah AWS baku Anda +* `cdk diff` bandingkan tumpukan yang jalan denga kondisi saat ini +* `cdk synth` memancarkan templat CloudFormation yang disintesis diff --git a/src/id/contributing/contributing.md b/src/id/contributing/contributing.md index 6d7e3b6..12c5582 100644 --- a/src/id/contributing/contributing.md +++ b/src/id/contributing/contributing.md @@ -33,8 +33,8 @@ Periksa [Weblate Lemmy](https://weblate.yerbamate.ml/projects/lemmy/) untuk pene - `apub` - Konversi activitypub. - `websocket` - Membuat peladen websocket. -## Linting / Formatting +## Linting/Pemformatan -- Every front and back end commit is automatically formatted then linted using `husky`, and `lint-staged`. -- Rust with `cargo fmt` and `cargo clippy`. -- Typescript with `prettier` and `eslint`. +- Setiap pengodean antarmuka dan bagian-belakang secara otomatis diformat kemudian dilinting menggunakan `husky` dan `lint-staged`. +- Rust dengan `cargo fmt` dan `cargo clippy`. +- Typescript dengan `prettier` dan `eslint`. diff --git a/src/id/contributing/federation_development.md b/src/id/contributing/federation_development.md index 69a1b18..67cae93 100644 --- a/src/id/contributing/federation_development.md +++ b/src/id/contributing/federation_development.md @@ -1,44 +1,40 @@ -# Federation Development +# Pengembangan Federasi -## Running locally +## Menjalankan secara lokal -Install the dependencies as described in [Docker development](docker_development.md). Then run the following +Pasang dependensi yang dijelaskan di [pengembangan Docker](docker_development.md). Kemudian, jalankan berikut ```bash cd docker/federation ./start-local-instances.bash ``` -The federation test sets up 5 instances: +Pengujian federasi membangun lima peladen: -Instance | Username | Location | Notes +Peladen | Nama Pengguna | Lokasi | Catatan --- | --- | --- | --- -lemmy-alpha | lemmy_alpha | [127.0.0.1:8540](http://127.0.0.1:8540) | federated with all other instances -lemmy-beta | lemmy_beta | [127.0.0.1:8550](http://127.0.0.1:8550) | federated with all other instances -lemmy-gamma | lemmy_gamma | [127.0.0.1:8560](http://127.0.0.1:8560) | federated with all other instances -lemmy-delta | lemmy_delta | [127.0.0.1:8570](http://127.0.0.1:8570) | only allows federation with lemmy-beta -lemmy-epsilon | lemmy_epsilon | [127.0.0.1:8580](http://127.0.0.1:8580) | uses blocklist, has lemmy-alpha blocked +lemmy-alpha | lemmy_alpha | [127.0.0.1:8540](http://127.0.0.1:8540) | terfederasi dengan seluruh peladen lainnya +lemmy-beta | lemmy_beta | [127.0.0.1:8550](http://127.0.0.1:8550) | terfederasi dengan seluruh peladen lainnya +lemmy-gamma | lemmy_gamma | [127.0.0.1:8560](http://127.0.0.1:8560) | terfederasi dengan seluruh peladen lainnya +lemmy-delta | lemmy_delta | [127.0.0.1:8570](http://127.0.0.1:8570) | hanya memperbolehkan federasi dengan lemmy-beta +lemmy-epsilon | lemmy_epsilon | [127.0.0.1:8580](http://127.0.0.1:8580) | menggunakan daftar-hitam, memblokir lemmy-alpha -You can log into each using the instance name, and `lemmy` as the password, IE (`lemmy_alpha`, `lemmy`). +Anda bisa masuk ke setiap itu dengan nama peladen dan `lemmy` sebagai kata sandinya, misal (`lemmy_alpha`, `lemmy`). -To start federation between instances, visit one of them and search for a user, community or post, like this. Note that -the Lemmy backend runs on a different port than the frontend, so you have to increment the port number from -the URL bar by one. +Untuk memulai federasi antar peladen, kunjungi salah satu dari itu dan cari satu pengguna, komunitas, atau pos, seperti ini. Mohon dicatat bahwa bagian-belakang Lemmy berjalan di port yang berbeda dari antarmuka, jadi Anda harus menambahkan angka port di bilah URL dengan satu. - `!main@lemmy-alpha:8541` - `http://lemmy-beta:8551/post/3` - `@lemmy-gamma@lemmy-gamma:8561` -Firefox containers are a good way to test them interacting. +Kontainer Firefox merupakan cara terbaik untuk menguji interaksi mereka. -## Running on a server +## Jalankan di sebuah peladen -Note that federation is currently in alpha. **Only use it for testing**, not on any production server, and be aware that turning on federation may break your instance. +**Gunakan hanya untuk pengujian**, tidak di peladen aktif, dan ketahuilah bahwa mengaktifkan federasi dapat merusak peladen Anda. -Follow the normal installation instructions, either with [Ansible](../administration/install_ansible.md) or -[manually](../administration/install_docker.md). Then replace the line `image: dessalines/lemmy:v0.x.x` in -`/lemmy/docker-compose.yml` with `image: dessalines/lemmy:federation`. Add and configure [this federation block](https://github.com/lemmynet/lemmy/blob/main/config/config.hjson#L64) to your `lemmy.hjson`. +Ikuti instruksi pemasangan normal, entah menggunakan [Ansible](../administration/install_ansible.md) atau [secara manual](../administration/install_docker.md). Kemudian, ganti baris `image: dessalines/lemmy:v0.x.x` di `/lemmy/docker-compose.yml` dengan `image: dessalines/lemmy:federation`. Tambah dan konfigurasi [blok federasi ini](https://github.com/lemmynet/lemmy/blob/main/config/config.hjson#L64) ke `lemmy.hjson` Anda. -Afterwards, and whenever you want to update to the latest version, run these commands on the server: +Setelah itu, dan kapan pun yang Anda inginkan untuk memperbarui ke versi terbaru, jalankan perintah ini di peladen: ``` cd /lemmy/ @@ -46,15 +42,10 @@ sudo docker-compose pull sudo docker-compose up -d ``` -## Security Model +## Model Keamanan -- HTTP signature verify: This ensures that activity really comes from the activity that it claims -- check_is_apub_valid : Makes sure its in our allowed instances list -- Lower level checks: To make sure that the user that creates/updates/removes a post is actually on the same instance as that post +- Verifikasi tanda digital HTTP : Ini menjamin bahwa aktifitas memang datang dari aktifitas yang diklaim +- check_is_apub_valid : Memastikan bahwa itu ada di daftar peladen yang diperbolehkan Makes sure its in our allowed instances list +- Pemeriksaan tingkat rendah : Untuk memastikan bahwa pengguna bisa membuat/memperbarui/menghapus pos di peladen yang sama dengan pos tersebut -For the last point, note that we are *not* checking whether the actor that sends the create activity for a post is -actually identical to the post's creator, or that the user that removes a post is a mod/admin. These things are checked -by the API code, and its the responsibility of each instance to check user permissions. This does not leave any attack -vector, as a normal instance user cant do actions that violate the API rules. The only one who could do that is the -admin (and the software deployed by the admin). But the admin can do anything on the instance, including send activities -from other user accounts. So we wouldnt actually gain any security by checking mod permissions or similar. +Untuk poin terakhir, harap dicatat bahwa kita *tidak* memeriksa apakah aktor yang mengirimkan aktifitas membuat sebuah pos sebenarnya sama dengan pembuat pos, atau pengguna yang menghapus pos merupakan moderator/admin. Hal tersebut diperiksa oleh kode API, dan merupakan tanggung jawab setiap peladen untuk memeriksa izin pengguna. Ini tidak meninggalkan vektor serangan apa pun, karena sebagai pengguna peladen normal tidak bisa melakukan aksi yang melanggar peraturan API. Satu-satunya yang bisa melakukannya adalah admin (dan perangkat lunak yang digunakan oleh admin). Tapi admin bisa melakukan apa pun di peladen, termasuk mengirim aktifitas dari akun pengguna lainnya. Jadi kita tidak akan mendapatkan keamanan apa pun dengan memeriksa izin mod dan serupa. diff --git a/src/id/contributing/local_development.md b/src/id/contributing/local_development.md index ba755de..3383514 100644 --- a/src/id/contributing/local_development.md +++ b/src/id/contributing/local_development.md @@ -6,7 +6,7 @@ Pasang Rust menggunakan [opsi yang direkomendasikan di rust-lang.org](https://ww #### Distro berbasis Debian ``` sudo apt install git cargo libssl-dev pkg-config libpq-dev yarn curl gnupg2 espeak -# install yarn +# pasang yarn curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list sudo apt update && sudo apt install yarn @@ -15,7 +15,7 @@ sudo apt update && sudo apt install yarn #### Distro berbasis Arch ``` sudo pacman -S git cargo libssl-dev pkg-config libpq-dev yarn curl gnupg2 espeak -# install yarn (stable) +# pasang yarn (stabil) curl -o- -L https://yarnpkg.com/install.sh | bash ``` @@ -31,14 +31,14 @@ brew install node yarn ### Dapatkan kode sumber bagian-belakang ``` git clone https://github.com/LemmyNet/lemmy.git -# or alternatively from gitea +# atau alternatif dari gitea # git clone https://yerbamate.ml/LemmyNet/lemmy.git ``` ### Susun bagian-belakang (Rust) ``` cargo build -# for development, use `cargo check` instead) +# untuk pengembangan, gunakan `cargo check` ``` ### Dapatkan kode sumber antarmuka @@ -46,13 +46,13 @@ cargo build git clone https://github.com/LemmyNet/lemmy-ui.git --recurse-submodules ``` -### Siapkan postgresql +### Siapkan PostgreSQL #### Distro berbasis Debian ``` sudo apt install postgresql sudo systemctl start postgresql -# Either execute db-init.sh, or manually initialize the postgres database: +# jalankan db-init.sh, atau inisialisasi basis data postgres secara manual: sudo -u postgres psql -c "create user lemmy with password 'password' superuser;" -U postgres sudo -u postgres psql -c 'create database lemmy with owner lemmy;' -U postgres export LEMMY_DATABASE_URL=postgres://lemmy:password@localhost:5432/lemmy @@ -63,7 +63,7 @@ export LEMMY_DATABASE_URL=postgres://lemmy:password@localhost:5432/lemmy sudo pacman -S postgresql sudo systemctl start postgresql -# Either execute db-init.sh, or manually initialize the postgres database: +# jalankan db-init.sh, atau inisialisasi basis data postgres secara manual: sudo -u postgres psql -c "create user lemmy with password 'password' superuser;" -U postgres sudo -u postgres psql -c 'create database lemmy with owner lemmy;' -U postgres export LEMMY_DATABASE_URL=postgres://lemmy:password@localhost:5432/lemmy @@ -75,7 +75,7 @@ brew install postgresql brew services start postgresql /usr/local/opt/postgres/bin/createuser -s postgres -# Either execute db-init.sh, or manually initialize the postgres database: +# jalankan db-init.sh, atau inisialisasi basis data postgres secara manual: psql -c "create user lemmy with password 'password' superuser;" -U postgres psql -c 'create database lemmy with owner lemmy;' -U postgres export LEMMY_DATABASE_URL=postgres://lemmy:password@localhost:5432/lemmy diff --git a/src/id/contributing/release_process.md b/src/id/contributing/release_process.md index d0c50d8..def5f84 100644 --- a/src/id/contributing/release_process.md +++ b/src/id/contributing/release_process.md @@ -1,19 +1,19 @@ -# Branching and Releases +# Pencabangan dan Rilis -## Branches +## Cabang -In general, our handling of branches is the one described in [A stable mainline branching model for Git](https://www.bitsnbites.eu/a-stable-mainline-branching-model-for-git/). One difference is that we avoid rebase, and instead merge the base branch into the current working branch. This helps to avoid force pushes and conflicts. +Secara umum, pengelolaan kami terhadap cabang seperti yang dijelaskan pada [A stable mainline branching model for Git (Model Pencabangan Jalur Utama yang Stabil untuk Git)](https://www.bitsnbites.eu/a-stable-mainline-branching-model-for-git/). Satu perbedaan adalah kami menghidari rebase dan gantinya gabung (merge) cabang dasar ke cabang aktif saat itu. Ini membantu menghindari dorong-paksa (force push) dan konflik. -## Releases +## Rilis -- For major release: make a new branch `release/v0.x` -- For minor release: cherry-pick desired changes onto `release/v0.x` branch -- Make a beta or release candidate version with `docker/prod/deploy.sh` -- Do the same for `lemmy-ui`: `./deploy.sh 0.x.0-rc-x` -- Deploy to federation test instances - - Keeping one instance at the last stable version to test federation compatibility (automate this with ansible) +- Untuk rilis besar: buat sebuah cabang baru `release/v0.x` +- Untuk rilis kecil: cherry-pick perubahan yang dinginkan ke cabang `release/v0.x` +- Buat sebuah beta atau versi kandidat rilis menggunakan `docker/prod/deploy.sh` +- Lakukan yang sama untuk `lemmy-ui`: `./deploy.sh 0.x.0-rc-x` +- Terapkan ke peladen uji federasi + - Menjaga satu peladen pada versi stabil terbaru untuk menguji kompatibilitas federasi (otomatisasi ini dengan Ansible) - `ansible-playbook -i federation playbooks/site.yml --vault-password-file vault_pass -e rc_version=0.x.0-rc.x` -- Test that everything works as expected, make new beta/rc releases if needed -- Deploy to lemmy.ml, to discover remaining problems -- If that went well, make the official `0.x.0` release with `docker/prod/deploy.sh` -- Announce the release on Lemmy, Matrix, Mastodon +- Uji coba bahwa seluruhnya bekerja sesuai yang diharapkan, buat rilis beta/rc baru jika dibutuhkan +- Terapkan ke lemmy.ml, untuk menemukan masalah yang tersisa +- Jika itu berjalan baik, buat rilis `0.x.0` yang resmi dengan `docker/prod/deploy.sh` +- Mengumumkan rilis di Lemmy, Matrix, Mastodon diff --git a/src/id/contributing/tests.md b/src/id/contributing/tests.md index d4d5f3c..53787cd 100644 --- a/src/id/contributing/tests.md +++ b/src/id/contributing/tests.md @@ -1,4 +1,4 @@ -### Pengujian +# Pengujian #### Rust