Here is a custom ERC20 token that you can modify as you want, also the project contains a frontend wallet for it. Stack: hardhat, ethers, svelte.
Features:
Run all services. The wallet will be available on 127.0.0.1:80.
docker compose up
Build an image
# hardhat node example
docker build -t erc20token .
Run the image
# hardhat node example
docker run -d -p 80:80 erc20token
Run a hardhat node
npm run node
Deploy the contract to the node
# in different terminal
npm run deploy
Run the frontend
cd frontend
npm run dev
Test the contract
npm run test